Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

glRotate и glTranslate   Найти похожие ветки 

 
AxxxE   (2004-03-15 19:07) [0]

Что-то до меня не допрёт, как они работают. Ну, предположим я сделал

glRotetef(rX, rY, rZ);
glTranslatef(X, Y, Z);

и нарисовал точку. Как мне определить, где находится эта точка? По каким формулам вычислить её координаты? Перепробовал всё, так и не получил правильного результата.


 
марсианин ©   (2004-03-18 00:03) [1]

Как мне определить, где находится эта точка?
смотря в какой системе координат..))


 
AxxxE   (2004-03-28 21:58) [2]

>смотря в какой системе координат

В той, ессно, в которой оперирует Опенгл. А он оперирует в своей, неизвестной науке системе, иначе бы я не задавал этот вопрос.


 
Leon ©   (2004-03-30 17:09) [3]

OpenGL оперирует декартовой системой координат.
glRotate(....) -- поворот этой системы
glTranslate - перенос
А дальше рабоитаеш в том что получилось!
И эти операции не коммутируют :)


 
AxxxE ©   (2004-03-30 20:04) [4]

Меня больше волнует поворот - как бы я ни поворачивал систему координат, так у меня результат и несходится с опенгловскими. Или я не так поворачиваю? Может дашь формулы?


 
Leon ©   (2004-03-31 17:13) [5]

Универсальныю формулы для 3D поворота к сожалению дать не могу.
(Нужно копать куда-то в сторону углов Эйлера)
Протестируй для начала на 2D углах - там формулы проще:
/ cos(A) sin(A) 0 \
| sin(A) -cos(A)0 |  или
\ 0       0     1 /
/ sin(A) cos(A) 0 \
| -cos(A)sin(A) 0 |  ( точно не помню )
\ 0       0     1 /
Н-р:
X" = X*cos(alfa) + Y*sin(alfa) // умножение мат. на век.


 
Leon ©   (2004-03-31 17:14) [6]

как то кривовато получилось... :)


 
Leon ©   (2004-03-31 17:16) [7]

Да, чуть не забыл:
glRotatef(угол_поворота, ПроекцияОсиПоворотаНаX, ...Y, ...Z);
Может сдесь ошибка?


 
Leon ©   (2004-03-31 17:32) [8]

Прошу прощения - ни то ни доугое:
cos(A)  -sin(A) 0
sin(A)   cos(A) 0
  0       0     1
Матрица преобразования поврота на угол A вокруг оси OZ

P.S. сдесь -> здесь )


 
марсианин ©   (2004-04-03 02:08) [9]

В той, ессно, в которой оперирует Опенгл. А он оперирует в своей, неизвестной науке системе, иначе бы я не задавал этот вопрос.

см. glGetFloatv с флагами MODELVIEW_MATRIX и PROJECTION_MATRIX

а еще лучше найди прочитай где-нибудь что-нибудь о матрицах в ОпенГЛ..


 
Darthman ©   (2004-04-05 18:58) [10]

В любой Книге по ОпенГЛ написано так, что непонять невозможно, как пользоваться транслейтом, ротейтом и скейлингом. Это основы ОпенГЛ, если вы их незнаете или непонимаете, в первую очередь стоит почитать литературу на эту тему, а потом задавать вопросы уже. Хотя, после прочтения соотвествующего материала вопросы сами отпадут.


 
AxxxE ©   (2004-04-05 21:07) [11]

Это ты "нас" не понимаешь. Пользоваться много ума не надо :).



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
14-1088749818
Dmitriy O.
2004-07-02 10:30
2004.07.25
Ура ! Сбылась мечта идиота ! (с) О.Бендер


14-1088733250
Думкин
2004-07-02 05:54
2004.07.25
С днем рождения! 2 июля.


1-1089726188
nastya
2004-07-13 17:43
2004.07.25
печать списков


14-1088512053
Kolyan
2004-06-29 16:27
2004.07.25
Хендл The Bat!


14-1089017822
Сергей Г
2004-07-05 12:57
2004.07.25
Переведи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский