Ich habe eine Reihe von 2D kartesischen Punkte [b]
, die im Uhrzeigersinn von Anfang an verlaufen und eine geschlossene Form bilden. Jeder von diesen hat seine eigenen begleitenden 2D-Kartesischen Punkte q0
und q1
, die die Beziér-Kurve um den Punkt herum definieren (zusammen mit den vorhergehenden und nachfolgenden Punkten). Zusammen definieren alle diese Punkte eine geschlossene 2D composite Beziér curve.Wie finde ich die (x, y) -Koordinaten des Punktes q auf einer geschlossenen 2D-Komposit-Beziér-Kurve, die den (x, y) -Koordinaten eines beliebigen Punktes p am nächsten kommt?
Ich habe einen separaten Punkt , die eine beliebige 2D-kartesischen Punkt auf der gleichen Ebene ist. Gibt es einen einfachen Algorithmus zum Auffinden der (x, y)
Koordinaten eines neuen kartesischen 2D-Punktes q
welcher ist der nächste Punkt auf dem Pfad zu p
?
Wie hier dargestellt, ich habe die Punkte b[0]
-b[3]
und ihre Griffe b[n].q0
und b[n].q1
, und ich habe den beliebigen Punkt p
. Ich versuche den Punkt q
zu berechnen, nicht als eine Gleitkomma-Position entlang der Kurve, sondern als ein Paar (x, y)
Koordinaten.
Ich habe versucht, dies zu suchen, aber einige schienen nur for a very small curve, andere waren weit über meinen Kopf mit abstract mathematics und scientific research papers.
Jede Hilfe, die mich zu einer algorithmischen Lösung führt, wird sehr geschätzt, besonders wenn sie in eine C-ähnliche Sprache übersetzt werden kann, anstatt in die reine Mathematik in den obigen SO Antworten.
, die nicht die Anforderungen dieser Website treffen könnten - man könnte versuchen Sie codereview.stackexchange.com, aber Sie müssen etwas Arbeitscode aufstellen! – kafka
@kafka Ich möchte nicht, dass mein Code überprüft wird. Ich versuche einen Algorithmus zu finden, der mein Problem löst. Wie kann ich diese Frage ändern, um das am besten darzustellen? –
@aioobe Vielen Dank für Ihre Bearbeitung, aber mein Problem ist, dass ich meinen Kopf nicht um reine mathematische Antworten wickeln kann und eine Code-Antwort brauche, um mir zu helfen, mein Problem zu lösen, das es in die C-like übersetzen muss Sprache, die ich benutze. –