0 / 0 / 0
Регистрация: 07.10.2008
Сообщений: 26
|
||||||
1 | ||||||
Вращение объектов вокруг своей оси в DirectX18.09.2009, 19:52. Показов 4672. Ответов 2
Метки нет Все метки)
(
Всех приветствую.
Собственно проблема заключается вот в чем. Нужно провернуть объект, располагающийся в точке, отличной от (0,0,0) вокруг его собственной оси. Вместо этого вращение происходит относительно начало координат. Поворот осуществляется в ф-ции SetupMatrices. В виде rot_y поступает 0, в виде rot_z 90/180*3.14
Но зачем это делать? Ведь на момент поворота ни одна матрица "не знает" координат и фигура находится в (0,0,0)? Принудительное прописывание matWorld._41=0 и т.д. также не помогает. Подскажите пожалуйста, что делать? Заранее спасибо.
0
|
|
18.09.2009, 19:52 | |
Ответы с готовыми решениями:
2
Поворот bitmap вокруг своей оси DirectX 11 DirectX вращение камеры вокруг центра Поворот объекта вокруг своей оси Y при помощи D3DXMatrixRotationY Вращение планеты вокруг солнца, и вокруг своей оси |
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
18.09.2009, 20:07 | 2 |
Вообще-то должно помогать. Переносим в (0; 0; 0). Поворачиваем - относительно неё. Переносим обратно. Вроде логично, что получился нужный поворот. Насчёт "знает"/"не знает" не понял, но вообще каждый перенос и поворот - это умножение координат точки на матрицу. Умножение - операция ассоциативная, так что сначала перемножатся эти матрицы и получится одна матрица нужного поворота.
Если очень хочется, можно перемножить вручную и получить эту матрицу.
0
|
0 / 0 / 0
Регистрация: 07.10.2008
Сообщений: 26
|
|
18.09.2009, 20:41 [ТС] | 3 |
Может я не понимаю чего-то... Напишите пожалуйста на моем коде - что и как реализовать.
0
|
18.09.2009, 20:41 | |
18.09.2009, 20:41 | |
Помогаю со студенческими работами здесь
3
Вращение прямоугольника вокруг своей оси Вращение объекта вокруг своей оси
Вращение объекта вокруг своей оси Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |