2010-04-02 21 views
5

Tengo una curva de bezier cuadrática y quiero calcular la pendiente de la tangente en un punto dado. Por ejemplo, que sea el punto medio de la curva de bezier cuadrática, por lo tanto, t = 0.5 (consulte el siguiente enlace para obtener una imagen de esto). He calculado la primera derivada de la fórmula para la curva de bezier cuadrática; sin embargo, obtengo 400 como valor para la pendiente, aunque debería ser 0. ¿Tal vez estoy usando la primera derivada de forma incorrecta? Sé que también podría calcular las tangentes usando funciones trigonométricas; sin embargo, me gustaría hacerlo utilizando la primera derivada, ¿no debería ser posible? Gracias por cualquier pista!Curva de Bezier cuadrática: Calcular la tangente

Para aclarar/tenga en cuenta: me interesa una forma general de obtener la pendiente en un punto dado arbitrario en una curva de bezier cuadrática, no solo para obtener la tangente en el punto inicial y final.

Una foto de mi problema, incluyendo el texto anterior: http://cid-0432ee4cfe9c26a0.skydrive.live.com/self.aspx/%c3%96ffentlich/Quadratic%20Bezier%20Curve.pdf

Muchas gracias por cualquier sugerencia!

+1

El enlace parece estar muerta. Sería bueno si pudieras traducir tu fórmula a la pregunta misma. – Soviut

Respuesta

4

Usando su fórmula para B'(t), evaluada en t=1/2, obtenemos

B'(1/2) = -P0 + P2 

Desde el aspecto de la gráfica, P0 = (0,0) y P2 = (400,0). Entonces

B'(1/2) = (400,0). 

Esta es la "velocidad" de un punto que viaja a lo largo de B (t) en t = 1/2.

(400,0) es un vector horizontal, con una magnitud 400.

Así que todo es como debe ser. Puesto que B '(t) es horizontal, tiene "pendiente" 0.

+0

muchas gracias por su respuesta, pero la "t" siempre se borra de la ecuación 2t * (0) +400 porque se multiplica por 0. entonces la pendiente en cada punto sería 0, ¡lo que no es cierto !? –

+0

@stefan: Es cierto que el componente x de B '(t) siempre es 400, pero esto no es cierto para el componente y. Pruebe y0 = 0, y1 = 100, y2 = 0 para los componentes y de P0, P1, P2 y computando y '(t). Debería encontrar que y '(t) no depende de t. – unutbu

+0

@Since slope is rise over run, la pendiente no es x '(t), sino más bien y' (t)/x '(t). – unutbu

Cuestiones relacionadas