fact: "The Bastards are out there..."
BastardDomain Forums \ General Chat \ Meetkunde probleem.
Meetkunde probleem.
Fox
The Guzzler

avatar Fox

Registered: 10 Apr 2001
Location: North-Brabant
Posts: 9401
4 Nov 2004

Ik heb het volgende meetkunde probleem waar ik (nog) niet uitkom terwijl het toch niet zo moeilijk kan zijn.

Ik heb de 2 dimensionaal vlak met daarin 2 rechte lijnen.
Beide lijnen zijn gedefineerd door 2 x en 2 y coordinaten.

Een voorbeeld van de definitie van zo'n lijn is (100, 100) - (200, 200)
Deze beschrijft de lijn y = x voor 100<=x<=200

De vraag is nu hoe je erachter kunt komen of twee van zulke lijnen elkaar snijden.

Het maakt me niet uit of je met een wiskunde, informatica of een uitleg met woorden komt.
Maar denk er eens over na als je niks te doen hebt.

"http($this->addslashes("http://home.bastarddomain.com/dev/cross.php")) . "\" border=\"0\" alt=\"[user image]\" />"

This post was edited by Fox at 4 Nov 2004


Refuse to do what you don't want to do.
"http("http://www.bastarddomain.com/dev/ico/quote.php") . "\" target=\"_blank\">"http($this->addslashes("http://www.bastarddomain.com/dev/ico/signature.php?show")) . "\" border=\"0\" alt=\"[user image]\" />""
Fox
The Guzzler

avatar Fox

Registered: 10 Apr 2001
Location: North-Brabant
Posts: 9401
4 Nov 2004

Ik heb een oplossing gevonden. Ik betwijfel of het de snelste en makkelijkste is.
Het zal ongetwijfeld wel de meest voor de hand liggende zijn.

Refuse to do what you don't want to do.
"http("http://www.bastarddomain.com/dev/ico/quote.php") . "\" target=\"_blank\">"http($this->addslashes("http://www.bastarddomain.com/dev/ico/signature.php?show")) . "\" border=\"0\" alt=\"[user image]\" />""
Šnema
Taal Bastard

avatar Šnema

Registered: 21 Jun 2001
Location: hierzo
Posts: 2647
4 Nov 2004

mijn idee in woorden: je gaat eerst kijken waar het gemeenschappelijke domein van de lijnen ligt. dan kijk je op het begin en het eind van dat gemeenschappelijke domein welke lijn het "hoogst" ligt en als er verschil is hebben ze dus binnen dat domein elkaar gesneden.
beliefs are dangerous
beliefs allow a mind to stop functioning
a non-functioning mind is clinically dead

believe in nothing

- Maynard James Keenan

"http($this->addslashes("http://80.247.200.168/stuff/taalbastard.jpg")) . "\" border=\"0\" alt=\"[user image]\" />"
Fox
The Guzzler

avatar Fox

Registered: 10 Apr 2001
Location: North-Brabant
Posts: 9401
5 Nov 2004

En object georienteerd:

"http($this->addslashes("http://217.121.60.110/dev/gd_test.php")) . "\" border=\"0\" alt=\"[user image]\" />"
Refuse to do what you don't want to do.
"http("http://www.bastarddomain.com/dev/ico/quote.php") . "\" target=\"_blank\">"http($this->addslashes("http://www.bastarddomain.com/dev/ico/signature.php?show")) . "\" border=\"0\" alt=\"[user image]\" />""
Fox
The Guzzler

avatar Fox

Registered: 10 Apr 2001
Location: North-Brabant
Posts: 9401
5 Nov 2004

    Quote originally posted by Šnema @ 2004-11-04 23:45:35
    mijn idee in woorden: je gaat eerst kijken waar het gemeenschappelijke domein van de lijnen ligt. dan kijk je op het begin en het eind van dat gemeenschappelijke domein welke lijn het "hoogst" ligt en als er verschil is hebben ze dus binnen dat domein elkaar gesneden.


En voor de lijnen:

(0,0)-(300,300) en (100,100)-(200,190)
de tweede lijn ligt helemaal binnen de eerste.
Als ik je goed interpeteer snijden deze elkaar dus?

Refuse to do what you don't want to do.
"http("http://www.bastarddomain.com/dev/ico/quote.php") . "\" target=\"_blank\">"http($this->addslashes("http://www.bastarddomain.com/dev/ico/signature.php?show")) . "\" border=\"0\" alt=\"[user image]\" />""
Gorgeous George
Opmerk Bastard

Registered: 13 Jul 2001
Location: BehindMy21
Posts: 4748
5 Nov 2004

als het midden van een van de twee lijnen op x en y niveau over een van de eindpunten van de andere lijn valt
rens
Flying Bastard

avatar rens

Registered: 18 Oct 2002
Location: Behind-U
Posts: 1256
5 Nov 2004

    Quote originally posted by Fox @ 2004-11-05 00:39:27
      Quote originally posted by Šnema time=2004-11-04 23:45:35
      mijn idee in woorden: je gaat eerst kijken waar het gemeenschappelijke domein van de lijnen ligt. dan kijk je op het begin en het eind van dat gemeenschappelijke domein welke lijn het "hoogst" ligt en als er verschil is hebben ze dus binnen dat domein elkaar gesneden.


    En voor de lijnen:

    (0,0)-(300,300) en (100,100)-(200,190)
    de tweede lijn ligt helemaal binnen de eerste.
    Als ik je goed interpeteer snijden deze elkaar dus?


Uhm, nee. Ze raaken elkaar aan op precies punt [100, 100]. Verder nergens. Ze snijden elkaar dus niet. Teken maar een plaatje dan zie je het zo. Of misschien snap ik het probleem wederom niet.

This post was edited by rens at 5 Nov 2004


You want some, come get some!!!!!
bLAM
Kroquet Bastard

avatar bLAM

Registered: 27 Aug 2001
Location: anywhere
Posts: 1669
5 Nov 2004

moet je ze niet gewoon aan elkaar gelijk stellen en kijken of de som een uitkomst heeft (net als eerst klas wiskunde)?
"Never let your sense of morals prevent you from doing what's right - Isaac Asimov"
Šnema
Taal Bastard

avatar Šnema

Registered: 21 Jun 2001
Location: hierzo
Posts: 2647
5 Nov 2004

    Quote originally posted by Fox @ 2004-11-05 00:39:27
      Quote originally posted by Šnema time=2004-11-04 23:45:35
      mijn idee in woorden: je gaat eerst kijken waar het gemeenschappelijke domein van de lijnen ligt. dan kijk je op het begin en het eind van dat gemeenschappelijke domein welke lijn het "hoogst" ligt en als er verschil is hebben ze dus binnen dat domein elkaar gesneden.


    En voor de lijnen:

    (0,0)-(300,300) en (100,100)-(200,190)
    de tweede lijn ligt helemaal binnen de eerste.
    Als ik je goed interpeteer snijden deze elkaar dus?


een typisch geval van: owja, een interval kan ook helemaal binnen een ander interval vallen. had ik even geen rekening mee gehouden. domme, domme ik.
beliefs are dangerous
beliefs allow a mind to stop functioning
a non-functioning mind is clinically dead

believe in nothing

- Maynard James Keenan

"http($this->addslashes("http://80.247.200.168/stuff/taalbastard.jpg")) . "\" border=\"0\" alt=\"[user image]\" />"
Fox
The Guzzler

avatar Fox

Registered: 10 Apr 2001
Location: North-Brabant
Posts: 9401
5 Nov 2004

    Quote originally posted by bLAM @ 2004-11-05 19:21:47
    moet je ze niet gewoon aan elkaar gelijk stellen en kijken of de som een uitkomst heeft (net als eerst klas wiskunde)?


Ware het niet, dat er geen sprake is van formules, maar van coordinaten.
daaruit kun je natuurlijk formules gaan afleiden. Maar of dat de eficientste methode is, betwijfel ik.

Refuse to do what you don't want to do.
"http("http://www.bastarddomain.com/dev/ico/quote.php") . "\" target=\"_blank\">"http($this->addslashes("http://www.bastarddomain.com/dev/ico/signature.php?show")) . "\" border=\"0\" alt=\"[user image]\" />""
bLAM
Kroquet Bastard

avatar bLAM

Registered: 27 Aug 2001
Location: anywhere
Posts: 1669
5 Nov 2004

als je de stijlheid weet van beide lijnen kun je heel makkelijk berekenen of en waar ze snijden, daarna kun je de uitkomst toetsen aan het interval.
"Never let your sense of morals prevent you from doing what's right - Isaac Asimov"
Gorgeous George
Opmerk Bastard

Registered: 13 Jul 2001
Location: BehindMy21
Posts: 4748
6 Nov 2004

zo moeilijk lijkt me dat anders niet om van die twee coordinaten een formule af te leiden
Fox
The Guzzler

avatar Fox

Registered: 10 Apr 2001
Location: North-Brabant
Posts: 9401
6 Nov 2004

Maar is dat de snelste manier?
Refuse to do what you don't want to do.
"http("http://www.bastarddomain.com/dev/ico/quote.php") . "\" target=\"_blank\">"http($this->addslashes("http://www.bastarddomain.com/dev/ico/signature.php?show")) . "\" border=\"0\" alt=\"[user image]\" />""
Gorgeous George
Opmerk Bastard

Registered: 13 Jul 2001
Location: BehindMy21
Posts: 4748
6 Nov 2004

voor een computer zal dat toch niet zoveel uitmaken
Fox
The Guzzler

avatar Fox

Registered: 10 Apr 2001
Location: North-Brabant
Posts: 9401
6 Nov 2004

Dat lijkt me wel.
Hij kan hooguit snel genoeg zijn.
Maar dan hoeft hij nog niet desnelste te zijn.

Refuse to do what you don't want to do.
"http("http://www.bastarddomain.com/dev/ico/quote.php") . "\" target=\"_blank\">"http($this->addslashes("http://www.bastarddomain.com/dev/ico/signature.php?show")) . "\" border=\"0\" alt=\"[user image]\" />""
Gorgeous George
Opmerk Bastard

Registered: 13 Jul 2001
Location: BehindMy21
Posts: 4748
6 Nov 2004

het is niet altijd zaak om de snelste te zijn ger
Fox
The Guzzler

avatar Fox

Registered: 10 Apr 2001
Location: North-Brabant
Posts: 9401
6 Nov 2004

Tell that to my teacher.
Refuse to do what you don't want to do.
"http("http://www.bastarddomain.com/dev/ico/quote.php") . "\" target=\"_blank\">"http($this->addslashes("http://www.bastarddomain.com/dev/ico/signature.php?show")) . "\" border=\"0\" alt=\"[user image]\" />""
fraXTC
Bad-hairday Bastard

avatar fraXTC

Registered: 28 Jun 2001
Location: Under_your_skin
Posts: 2457
8 Nov 2004

Lijn 1 = (a,b) ; (c,d)
Lijn 2 = (e,f) ; (g,h)

Formule voor lijn 1
y1 = (d/b)* x1 + q

Co÷rdinaat op lijn 1 wat we sowieso al weten is bv (a,b) , daarbij weten we dat x1 = a geeft y1 = b

b = (d/b) * a + q

.........(d/b) * a
q = - ----------
...............b

Vullen we dit in bij de afgemene formule:

.........................(d/b) * a
y1 = (d/b)* x1 - ----------
................................b

soortgelijk geintje kun je uithalen bij de andere formule:

.........................(h/f) * e
y2 = (h/f) * x2 - ---------
................................f

Als je die twee formules aan elkaar gelijk stelt krijg je het snijpunt.. Vraag wat dan over blijft is of deze dan in het bereik ligt van de beide lijnen... Omdat het een lineaire functie is komt elke x en y waarde maar 1 keer voor.. In andere woorden: je hoeft alleen maar te kijken of het coordinaat van het snijpunt ergens in het bereik ligt van de beide lijnen.

bv: snijpunt is berekend op (-120, 421) ... Lijn 1 heeft co÷rdinaten (0,0) ; (1412,521) Het snijpunt ligt bij deze lijn wel in het y-bereik van de lijn, maar niet in het x-bereik, dus co÷rdinaat v snijpunt ligt niet op de lijn... In andere woorden:

snijpunt = (q,r)

Lijn = (a,b) ; (c,d)

Als a =< q =< c en b =< r =< d dan ligt snijpunt in bereik

Voer dit voor beide lijnen uit en je hebt je antwoord

waarschuwing! parralellijnen heb ik nog niet in dit model meegenomen!!

Hopelijk kun je er iets mee

++edit
de spaties waren weggehaald bij de breuken dus ik heb er ff puntjes van gemaakt

This post was edited by fraXTC at 8 Nov 2004


"http("http://www.youtube.com/watch?v=6TUzaW0-K1k") . "\" target=\"_blank\">Wat deze man ook gedaan heeft.. ik vergeef het hem"


fraXTC
Bad-hairday Bastard

avatar fraXTC

Registered: 28 Jun 2001
Location: Under_your_skin
Posts: 2457
8 Nov 2004

oh lol nu zie ik pas dat je mijn methode hebt gebruikt hahaha :oops:
"http("http://www.youtube.com/watch?v=6TUzaW0-K1k") . "\" target=\"_blank\">Wat deze man ook gedaan heeft.. ik vergeef het hem"


rens
Flying Bastard

avatar rens

Registered: 18 Oct 2002
Location: Behind-U
Posts: 1256
8 Nov 2004

    Quote originally posted by Gorgeous George @ 2004-11-06 16:54:46
    het is niet altijd zaak om de snelste te zijn ger


Als iedereen dat dacht hadden we nu nog pc's met 33mhz jongen. Dat is ook niet de bedoeling he.
You want some, come get some!!!!!
Fox
The Guzzler

avatar Fox

Registered: 10 Apr 2001
Location: North-Brabant
Posts: 9401
8 Nov 2004

Ziet er spannend uit Frax. Maar de rc/steilheid bereken je door a = dy/dx = (d-b)/(c-a).
Ik denk dus dat je daar al de fout in gaat. Verder heb ik het hetzelfde opgelost ja.

Refuse to do what you don't want to do.
"http("http://www.bastarddomain.com/dev/ico/quote.php") . "\" target=\"_blank\">"http($this->addslashes("http://www.bastarddomain.com/dev/ico/signature.php?show")) . "\" border=\"0\" alt=\"[user image]\" />""
 1 
© 2000 - 2022 BastardDomain.com