В настоящее время я работаю над разными автомобилями по гоночной трассе. Я использую формулу, указанную в
Холст перемещает объект по кругу
агссоз (1- (д/г) 2/2)
чтобы варьировать скорость автомобилей вокруг концов дорожки, и она работает очень хорошо. Я не понимаю, как получается формула. Я работал над попыткой получить его из второй производной arcsin или arccos, но я не могу получить формулу (так что я предполагаю, что я иду по неправильному пути). В любом случае, мне никогда не нравится использование кода, который я не понимаю, поэтому я был бы признателен, если бы кто-то мог пролить свет на него для меня.
Как указано в связанном вопросе, движение объекта по кругу может быть параметризовано с помощью одного угла theta
который в рыхлых членах описывает, сколько "оборотов" объекта уже сделано. Теперь вопрос заключается в том, для какого угла theta
объект находится на евклидовом расстоянии d
от начального (текущего) положения A:
Другими слова, если зафиксировать временный шаг delta
вашего моделирования, проблема может быть сформулирована так, чтобы как следует отрегулировать (приращение) угол так, чтобы объект вытесняет в интервале времени delta
дистанцироваться d
.
Из закона косинусов получается:
d^2 = r^2 + r^2 - 2*r*r*cos(theta) = 2*r^2*(1 - cos(theta))
Таким образом:
cos(theta) = 1 - 1/2*(d/r)^2
theta = arccos(1 - 1/2*(d/r)^2)