>>вообще, мне кажется, мы теряем время. Просто спорить о чем-либо меня утомляет.
ну ты ж сам хотел, что бы все было "чотко" обоснованно:)
tikka
Хотел, но уже устал :) МНе кажется, если что и осталось неясным, то уже сущие мелочи
Понимаю, что с тех пор много воды утекло, но воткну свои 5 копеек:
1) tikka всё правильно сказал про матрицу Лагранжа, это вовсе не просто \(\frac{dC}{dX}\). Если у вас в системе поворот задаётся кватернионом, а ещё лучше - матрицей поворота, то и функция ограничений будет иметь вид \(C(p_i, R_i)\) и дифференцировать по всяким матрицам - вовсе не так радостно, как просто посчитать градиент по обобщённым координатам. Более подробно - в треде http://www.gamedev.ru/code/forum/?id=188342 Если кратко, то под матрицей J стоит понимать не матрицу частных производных, а множитель перед \(V\) в формуле: \(\frac{dC}{dt}=JV\), потому что в случае с поворотом \(V\) вовсе не равно \(\frac{dX}{dt}\). Либо, если вы задаёте обобщённые координаты таким образом, что у вас \(V=\frac{dX}{dt}\), то надо не лениться и явно говорить, каким образом вы при этом задаёте поворот, потому что это вовсе не очевидно.
2) Как уже опять же заметил товарищ tikka, с выводом этого место явно что-то не так:
Если вы используете принцип минимизации работы ограничивающих сил, то условие Д'Аламбера здесь вообще не нужно. Плюс я так и не понял, вообще откуда строго берётся принцип минимизации работы связей? Из того, что связи идеальные, следует, что работа в них равна нулю(определение), но откуда инфа, что это - минимум и мы вообще имеем право составлять задачу минимизации?
Тема в архиве.