courbe de Bézier point de calcul d'un axe
Question
J'ai une courbe de Bézier cubique. Mais j'ai un problème quand j'ai besoin d'un seul point. Je n'ai que la valeur de l'axe X et que vous souhaitez trouver une valeur qui coresponds à l'axe Y à ce point. Ou trouver l'étape t, de ce que je peux facilment calculer l'axe Y.
Toute idée de comment le faire? Ou est-il une formule pour le faire?
La solution
Une courbe paramétrique étend à toute dimension en ajoutant des coefficients pour ces dimensions. Êtes-vous sûr que vous avez des choses droites? Il semble que vous utilisez l'axe x comme paramètre de courbe t . Le t paramètre contrôle les calculs de X et Y des coordonnées en ayant deux équations cubiques. Jetez un oeil à Wikipédia qui fournit des explications assez propre pour le cas 2D.
Edit:
Solve comme un polynôme du troisième degré général. Méfiez-vous que cela pourrait avoir 3 solutions, cependant.
Autres conseils
Toute solution devra composer avec le fait qu'il peut y avoir plusieurs solutions si la courbe est pas X monotones. Considérons le Bézier cubique (0,0), (2,0), (- 1,1), (1,1):
Comme vous pouvez le voir, il y a 4 valeurs de paramètres (et les coordonnées Y) où X == 1/2.
Cela signifie que si vous utilisez subdivision (ce qui est probablement votre solution la plus simple), alors vous devez veiller à ce que vos valeurs t englobantes initiale entourent que le point que vous voulez.
Vous pouvez deviner ce que cela implique de l'ordre d'une solution algébrique.