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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top