Domanda

Ho una curva di Bézier cubica. Ma ho un problema quando ho bisogno di un solo punto. Ho solo valore dal l'asse X e voglio trovare un valore che coresponds a Y a quel punto. O trovare il passo t, da esso posso easely calcolare l'asse Y.

Qualsiasi idea di come farlo? O c'è una formula per fare questo?

È stato utile?

Soluzione

Una curva parametrica estende a qualsiasi dimensione aggiungendo coefficienti per quelle dimensioni. Sei sicuro che hai le cose a posto? Sembra che si sta utilizzando l'asse x come parametro curva di t . t parametro controlla i calcoli di X e Y coordinate avendo due equazioni cubiche. Date un'occhiata a Wikipedia che fornisce alcune spiegazioni abbastanza carino per il caso 2D.

Modifica:

Risolvere come un generale polinomio di terzo grado. Attenzione che potrebbe avere 3 soluzioni, però.

Altri suggerimenti

Qualunque soluzione dovrà fare i conti con il fatto che ci possono essere molteplici soluzioni se la curva non è X monotono. Si consideri il Bézier cubica (0,0), (2,0), (- 1,1), (1,1):

Come si può vedere, ci sono 4 valori di parametro (e coordinate Y) in cui X == 1/2.

Questo significa che se si utilizza la suddivisione (che è probabilmente la soluzione più semplice), quindi è necessario fare attenzione che i valori t di delimitazione iniziale circondano solo il punto che si desidera.

Si può anche indovinare che cosa questo implica circa l'ordine di una soluzione algebrica.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top