![]() |
Re: Den Schnittpunkt zweier Strecken berechnen
![]() \\edit: Der Tipp von runger ist übrigends hervorragend zum Performance sparen. Die Prüfung kann - wenn für x positiv verlaufen - noch für y gemacht werden. Dann ist es rech wahrscheinlich dass die Strecken sich schneiden. |
Re: Den Schnittpunkt zweier Strecken berechnen
Zitat:
Zitat:
|
Re: Den Schnittpunkt zweier Strecken berechnen
Zitat:
|
Re: Den Schnittpunkt zweier Strecken berechnen
Ok ... ich prüfe gerade mal einen Ansatz mit Vektoren, aber sonst mache ich es so ...
|
Re: Den Schnittpunkt zweier Strecken berechnen
Da gibts kein entweder-oder ;). Die Variante mit der Box-Überlappung ist lediglich zur schnellen Vorentscheidung, ob du überhaupt einen Schnittpunkt errechnen musst. Das kann man machen um die Performance zu steigern. Bei der eigentlichen Berechnung des Schnittpunktes kommst du ohnehin dahinter, ob es einen gibt oder nicht. Ist halt nur kostspieliger, da du bereits den potentiellen Punkt errechnest.
|
Re: Den Schnittpunkt zweier Strecken berechnen
Liste der Anhänge anzeigen (Anzahl: 1)
Ok, die Box-Überlappung kommt noch ...
Ich habe jetzt eine kleine Demo gemacht mit meinem Vektoren-Algo, das geht jetzt über den Sinussatz und Skalarprodukt :mrgreen: Die Demo ist angehängt, ich würde mich freuen, wenn ihr ein paar Linien ziehen würdet und dann schaut, ob der Algo funktioniert ;) Einfach im linken Fensterbereich zwei Linien durch klicken und ziehen malen und dann auf den Button klicken ;) (Im Memo steht der Code ... falls ihn jemand will ^^) Falls die Strecken sich überschneiden sollte eine Messagebox mit "intersecting" kommen ... ;) Falls ihr einen deutlichen (= nicht im Pixelbereich) Fehler habt, dann bitte die Position der zwei Linien posten ... (Wehe :twisted: ) Neue Demoi zeigt auch den Schnittpunkt an ... |
Re: Den Schnittpunkt zweier Strecken berechnen
hmm also wenn schon ein sinus drin vorkommt dann kann der ansatz ja nur langsam sein. warum setzt du nicht den Ansatz von rugner um, der kommt doch mit den grundrechenarten aus. und wenn du dann noch dann noch die linien wie alzaimar vorgeschlagen hat in einer Art kdTree oder
![]() edit: bei Wikipeda hast du es sogar schwarz auf weiss: "- Effiziente Kollisionserkennung (Collision Detection) im Zweidimensionalen" ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz