Omschrijving
Stel, je hebt 2 lijnen in een gebied, en je wilt weten of deze elkaar raken. En zoja, op welk punt. Om een voorbeeld te geven: een spel waarbij de ene lijn een muur representeerd en de andere lijn het traject van een kogel. Ladingen theorie te vinden op internet, en genoeg voorbeeldprogramma's. Er waren echter twee problemen: mijn roestende wiskundekennis, en 't feit dat alle code die ik heb gevonden (Delphi, C++) crashte op horizontale of verticale lijnen met een Divide By Zero.
Deze code houdt rekening met (hopelijk) alle situaties, horizontaal, verticaal of parallel, 't kan allemaal.
Code
Omdat de code toch net iets te lang is om te posten heb ik de unit waarin de LinesIntersect functie staat samen met een test-projectje (waarin je zelf 2 lijnen kan slepen en 't resultaat in beeld komt) hier bijgesloten.
Na intensief testen (lees: met 2 man veel lijntjes trekken ) zijn zo te zien alle afrondings-bugs er uit en zou 't geheel correct moeten werken. Mocht iemand echter een fout resultaat vinden, maak even een screenshotje van het form en mail dit naar psychomark apenstaartje nldelphi punt com. Als je een bugfix hebt is dat natuurlijk net zo welkom, per mail of PM...
Bookmarks