Я думаю, что моя проблема аналогична: вращение к касательной к точке сплайна в THREE.JS, но я не могу правильно получить доступ к jsfiddle, и я боролся со второй частью объяснения.
По сути, я создал этот jsfiddle: http://jsfiddle.net/jayfield1979/qGPTT/2/, который демонстрирует простой куб, следующий по пути, созданному сплайном с использованием SplineCurve3
. Для навигации используйте стандартное взаимодействие с мышью TrackBall.
Позиционирование куба вдоль пути очень просто. Однако у меня есть два вопроса.
Во-первых, я использую spline.getTanget( t )
, где t
— это положение вдоль пути, чтобы куб вращался (ось Y только вверх). Я думаю, что что-то упускаю, потому что даже если я извлеку свойство .y
результирующей предоставленной касательной, повороты все равно кажутся неправильными. Есть ли какая-то нормализация, которую нужно сделать?
Во-вторых, скорость очень различна вдоль пути, очевидно, что гораздо больше точек сложено при создании более крутых кривых, но мне интересно, есть ли способ реорганизовать путь, чтобы более равномерно распределить промежутки между точками? Я наткнулся на функцию reparametrizeByArcLength
, но изо всех сил пытался найти объяснение, как ее использовать.
Любая помощь или объяснение немного математического манекена будет принята с благодарностью.