Приветствую всех. В общем ситуация следующая - для моделирования движения некоторых объектов используется следующий подход:
1) Пространство 3D, траектория задается сплайном Эрмита, т.е. 4-мя 3d векторами
2) Объекты двигаются по траектории строго от начальной точки до конечной
3) Динамика объектов - в достаточно сложном алгоритме определяется для каждого тела некоторое ускорение, исходя из которого рассчитывается скорость, а затем пройденное расстояние. (естственно с учетом времени)
Исходя из формулы вычисления сплайна Эрмита - туда нужно скормить 4 величины (исходные фиксированные данные) и Т. Т - нормированная величина от 0 до 1.
Собственно сам вопрос - как имея длину сплайна в метрах и текущее положение от начала сплайна в метрах рассчитать Т.
На всякий случай отсеку формулу = "Текущее положение"/"Длина сплайна" - это неверное решение - те кто знаком со сплайнами - поймут
иметь еще один одномерный сплайн которому даешь длину а он выдает нужный T.
Погугли Arc length parametrization
если не ошибаюсь, сплайн это функция вида x1=f(x0,t) , у тебя есть x1, x0 из формулы выразить t не получается?
rusk
сплайн это функция x1 = f(t, p1, p4, r1, r4), где p1, p4, r1, r4 - константы - параметры, t=0..1
Тема в архиве.