crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Matrix rotate
bloodcry
  опции профиля:
сообщение 12.3.2010, 7:41
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 24.3.2009
Пользователь №: 636

Спасибо сказали: 0 раз(а)




Репутация:   0  


Помогите разобраться.
Пытаюсь поворачивать матрицы вокруг определенного вектора, на определенный угол.
Вектор V (0.11841,-0.4581,-0.88097), угол а = 4 градуса;
исходная матрица
-0.1015837, -0.25132,-0.96256,0
0.6961, -0.7092, 0.1171,0
-0.71072,-0.6587,0.24699,0
0,0,0,1
1. с помощь QMatrix4x4.rotate
-0.16599, -0.2257,-0.96,0
0.6822,-0.729,0.05885,0
-0.712,-0.64,0.27499,0
0,0,0,1
2. c помощью glRotate
-0.08154, -0.3154,-0.9451,0
0.695844, -0.69715, 0.17795,0
-0.71354,0.6438, 0.276,0
0,0,0,1
Теперь вопрос , это что разные фунции? чем они отличаются? И как правильно повернуть матрицу вокруг вектора на определенный угол
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
molchanoviv
  опции профиля:
сообщение 12.3.2010, 9:09
Сообщение #2


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


Цитата(bloodcry @ 12.3.2010, 7:41) *
это что разные фунции?

Естесственно.
Цитата(bloodcry @ 12.3.2010, 7:41) *
И как правильно повернуть матрицу вокруг вектора на определенный угол

Если используется ОГЛ то думаю лучше будет так:

glPushMatrix(); //Сохранили положение старой матрицы. Только в случае если нужно будет прежнее состояние матрицы.
glRotatef(4, 0.0f, 0.0f, 1.0f) //Тип и ось вращения выберешь сам.
glPopMatrix(); //В случае если надо вернуться к прежнему состоянию матрицы.


А с QMatrix я не работал.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 12.12.2024, 7:14