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

Вниз

Как повернуть два кубика по отдельности?   Найти похожие ветки 

 
kins   (2006-07-01 12:03) [0]

Как повернуть два кубика по отдельности?

Внизу я привёл код. В результате получается что два кубика вращаются вметсе вокруг оси а не каждый фокруг своей.
Что в этом коде неправильно.

glpushmatrix();
glRotatef (45+x, 0.0, 0.0, 1.0);
glRotatef (45, 0.0+x, 0.0, 1.0);
glBegin (GL_POLYGON);
glVertex2f (-0.6, -0.1);
glVertex2f (-0.6, 0.4);
glVertex2f (-0.1, 0.4);
glVertex2f (-0.1, -0.1);
glEnd;

glTranslatef (0.4, 0.0, 0.0);
glRotatef (-45+x, 0.0, 0.0, 1.0);
glBegin (GL_POLYGON);
glVertex2f (0.1, -0.1);
glVertex2f (0.1, 0.4);
glVertex2f (0.6, 0.4);
glVertex2f (0.6, -0.1);
glEnd;

glpopmatrix();


 
RzCoDer ©   (2006-07-01 12:25) [1]

glpushmatrix();
glRotatef (45+x, 0.0, 0.0, 1.0);
glRotatef (45, 0.0+x, 0.0, 1.0);
glBegin (GL_POLYGON);
glVertex2f (-0.6, -0.1);
glVertex2f (-0.6, 0.4);
glVertex2f (-0.1, 0.4);
glVertex2f (-0.1, -0.1);
glEnd;
glpopmatrix();

glpushmatrix();
glTranslatef (0.4, 0.0, 0.0);
glRotatef (-45+x, 0.0, 0.0, 1.0);
glBegin (GL_POLYGON);
glVertex2f (0.1, -0.1);
glVertex2f (0.1, 0.4);
glVertex2f (0.6, 0.4);
glVertex2f (0.6, -0.1);
glEnd;
glpopmatrix();


 
OSokin ©   (2006-07-01 19:05) [2]

блин, мож проще LoadIdentity поставить? Все равно все так же, как и в [1]


 
RzCoDer ©   (2006-07-01 20:25) [3]


> OSokin,

LoadIdentity частенько бывает неудобно использовать из за полного сброса координат =(


 
RzCoDer ©   (2006-07-01 20:26) [4]

брр... точнее из за полного НЕ сброса координат ;)


 
grisme ©   (2006-07-01 22:07) [5]

RzCoDer ©   (01.07.06 20:25) [3]

Как раз таки стоит хранить координаты, углы поворота и прочие трансформации для каждого объекта отдельно..затем восстанавливая единичную матрицу, каверкать положение объекта не зависимо от остальных...


 
RzCoDer ©   (2006-07-01 22:45) [6]


> grisme ©   (01.07.06 22:07) [5]

В обще да, но говорю же что не всегда это бывает удобно


 
grisme ©   (2006-07-01 23:32) [7]

просто обычно всегда так делается..) если речь зашла лишь о "кубиках"(читай обучении автора ветки, т.к. его уровень чувствуется в вопросе), то вертеть их, помещая матрицы в стек, думаю, для него было бы самым оптимальным способом на данный момент..т.к. это поможет ему быстрее разобраться с "базой" OpenGL, а вот в серьезных проектах уже на стеке не уедешь(хотя если извращаться), да и не практично...

вывод: способ - по возможностям...:]


 
MeF Dei Corvi ©   (2006-07-02 00:48) [8]


> не всегда это бывает удобно

Ага :) Особенно, когда нужно сделать несколько связанных объектов... Например, то же самое вращение луны вокруг земли, вращающейся вокруг солнца.



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

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

Наверх





Память: 0.46 MB
Время: 0.041 c
2-1178534632
Kostafey
2007-05-07 14:43
2007.05.27
Использование результата запроса Select в Update


2-1178362201
vegarulez
2007-05-05 14:50
2007.05.27
Обращение к модему с помошью AT команд. Перекодировка рус. SMS.


2-1178785035
Шакал
2007-05-10 12:17
2007.05.27
Combobox


2-1178521366
RomanLN
2007-05-07 11:02
2007.05.27
настройка всплывающих подсказок в DBNavigator1


2-1178525001
Труднопроизносимое имя
2007-05-07 12:03
2007.05.27
Работа со сканером штрих - кодов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский