Finden Sie den Kontrollpunkt der quadratischen Bezier-Kurve, die nur die Endpunkte hat

So finden Sie den Kontrollpunkt explizit C 0 ( X 0 , j 0 ) der quadratischen Bezier-Kurve, wenn ich nur ihre Endpunkte habe C 1 ( X 1 , j 1 ) Und C 2 ( X 2 , j 2 ) ?

Erraten

Dies sollte unter Ausnutzung der Tatsache geschehen, dass die Tangente durchgeht C 1 Und C 2 trifft sich um C 0 . Also ab

j = M 1 X + B 1     A N D     j = M 2 X + B 2 ,
mit
M 1 = j 0 j 1 X 0 X 1 ,     M 2 = j 0 j 2 X 0 X 2 ,     B 1 = j 1 M 1 X 1 ,     B 2 = j 2 M 2 X 2 .
Deshalb
M 1 X 0 + B 1 = M 2 X 0 + B 2     Ö R     X 0 = B 2 B 1 M 1 M 2 ,
das ist nichts anderes als Identität. Mache ich etwas falsch?

Bearbeiten

Die Endpunkte befinden sich in einer Ellipse.

Haben Sie eine parametrische Beschreibung wie z X = A T 3 + . . . , j = C T 3 + . . . ?
Kurvenendpunkttangenten treffen sich bei cp.
Von Tangenten habe ich X C = B 2 B 1 M 1 M 2 Und j C = M 1 X C + B 2 mit M 1 = j C j 1 X C X 1 Und M 2 = j C j 2 X C X 2 . Wie findet man B 1 Und B 2 ??
Sind sie B 1 = j 1 M 1 X 1 Und B 2 = j 2 M 2 X 2 , entsprechend, oder komme ich zur Identität?
Ich komme zur Identität.
Kennen Sie die Pisten an den Endpunkten ( M 1 Und M 2 )?
Es stellte sich heraus, dass beide Endpunkte auf einer Ellipse liegen. Aber definiert es M 1 Und M 2 ?
Wenn Sie möchten, dass die Bezier-Kurve mit der Ellipse übereinstimmt, sollten Sie die Tangentenvektoren von der Ellipse erhalten. Wenn Sie bereit sind, eine rationale quadratische anstelle einer regulären polynomischen quadratischen zu verwenden, können Sie die Ellipse genau abgleichen.

Antworten (2)

Wie Joriki sagt, können Sie den anderen Kontrollpunkt nicht ohne andere Informationen erhalten.

Wenn Sie jedoch einen Punkt auf der Linie kennen, können Sie ihn errechnen. Die Formel für eine quadratische Bezier-Funktion aus https://en.wikipedia.org/wiki/Bezier_curve lautet:

P ( T ) = ( 1 T ) 2 P 0 + 2 ( 1 T ) T P 1 + T 2 P 2

Wenn Sie zwei Kontrollpunkte und einen separaten Punkt auf der Linie zu einem bekannten Zeitpunkt kennen, können Sie den dritten Kontrollpunkt berechnen. Angenommen, Sie kennen die Start- und Endpunkte P0 und P2 und wissen, dass die Kurve bei t=0,5 durch P(0,5) verläuft:

P ( 0,5 ) = ( 1 0,5 ) 2 P 0 + 2 ( 1 0,5 ) 0,5 P 1 + 0,5 2 P 2 P ( 0,5 ) = 0,25 P 0 + 0,5 P 1 + 0,25 P 2 P 1 = 2 P ( 0,5 ) 0,5 P 0 0,5 P 2

Wenn Sie die Start- und Endpunkte eines kubischen Beziers kennen, können Sie die mittleren beiden Kontrollpunkte mit der hier beschriebenen Methode finden: https://web.archive.org/web/20131225210855/http://people.sc.fsu. edu/~jburkardt/html/bezier_interpolation.html

Dazu müssen Sie die Punkte kennen, die die Kurve bei t=1/3 und t=2/3 durchläuft. Ich fürchte, ich habe nicht versucht, es auf irgendwelche Zeitpunkte zu verallgemeinern.

Sie können den Kontrollpunkt nicht von den Endpunkten erhalten. Eine quadratische Bézier-Kurve wird durch alle drei Punkte definiert. Wenn Sie nur die Endpunkte haben, können Sie einen beliebigen Kontrollpunkt auswählen, um eine quadratische Bézier-Kurve zu definieren.