2 votos

Encontrar el ángulo en un punto de la curva de Bézier

Tengo dos puntos finales y dos puntos de control. Estoy utilizando estos puntos y este enlace . he encontrado un punto en la curva de Bézier. Ahora me gustaría encontrar el ángulo en este punto de la curva de Bézier. ¿Hay alguna fórmula?

6voto

bubba Puntos 16773

Una curva cúbica de Bézier tiene una ecuación de la forma $$ \mathbf P(t) = (1-t)^3\mathbf P_0 + 3t(1-t)^2\mathbf P_1 +3t^2(1-t)\mathbf P_2 + t^3\mathbf P_3 $$ Cuando dices que quieres el "ángulo" de la curva, supongo que te refieres al ángulo entre la tangente de la curva y el $x$ -eje. Si esto es lo que quieres, aquí tienes cómo conseguirlo:

Si se diferencia la ecuación de la curva, se obtiene $$ \mathbf P'(t) = (1-t)^2(\mathbf P_1 - \mathbf P_0) + 2t(1-t)(\mathbf P_2 - \mathbf P_1) + t^2(\mathbf P_3 - \mathbf P_2) $$ Como probablemente sepa, $\mathbf P'(t)$ es un vector que está en la dirección de la línea tangente de la curva en el valor del parámetro $t$ . Por lo tanto, sólo hay que encontrar el ángulo entre este vector y el $x$ -eje. Si el vector es $(u,v)$ entonces el ángulo es $\arctan(v/u)$ . Si estás escribiendo código, calcula $\text{atan2}(v,u)$ .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X