Buenas, ya tengo mis splines, ahora lo que me gustaría saber es como consigo orientar un objeto por dicho path, me explico, digamos que tengo un coche (un rectángulo) y quiero que siga el path descrito por la spline, como consigo orientar el vehículo para que cuando llegue por ejemplo una curva a la derecha éste se oriente correctamente? creo que rento que rotar el rectángulo según el angulo que tenga con la tangente del punto de la spline en el que estoy... alguna sugerencia. gracias
Puedes obtener la matriz con:
pos = spline.evaluate(actual)
ejey = up de mundo
ejez = (spline(actual + epsilon) - spline(actual)) normalizado
ejex = ejez ^ ejey;
Suponiendo la z positiva hacia dentro. Luego construyes la matriz apropiada con esos datos.
Imagino que la spline será alguna tipo Catmull-Rom y que la evaluas en base a un parámetro entre [0.0, 1.0] y te devuelve un (x, y, z).
actual sería el valor ese para el tiempo dado, y epsilon un valor muy pequeño pero lo suficientemente grande para obtener el vector dirección de la spline en ese punto.
En realidad gráficamente lo que harías sería derivar "manualmente" la curva para obtener la tangente en un punto.
Genial! muchas gracias Ithaqua y si estoy utilizando las catmull rom, la verdad que van muy bien para este tipo de tareas! Saludos!