Yurich » 06.08.2007 (Пн) 19:26
Mikle,
спасибо, я так и делаю!
Поясню задачу более корректно:
v1() - массив вершин модели.
v2() - то же, но полученный матрицей MSrc.
Будем считать что MSrc мне не известна, так как получается путем массы преобразований или вычислять ее просто не рационально.
Я подумал, чтобы из v2() получить v3() (считай v1() ), надо предварительно вычислить матрицу М, обратную MSrc. Так, как матрица действует на все вершины одинаково, взял за исходники координаты v1(0) и v2(0):
D3DXMatrixTranslation M, v1(0).x - v2(0).x, ...
И вот тут ошибочка! Дело в том, что М при преобразовании v2() в v3() перемещает вершины, но не вращает их. Информация о вращении потеряна.
Как поступить?
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!