Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.27;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
11-1160053393
Thaddy
2006-10-05 17:03
2007.05.27
New kol website


15-1177959188
Riply
2007-04-30 22:53
2007.05.27
Проверка дискеты на наличие плохих блоков.


15-1177422667
@!!ex
2007-04-24 17:51
2007.05.27
Client Rect


2-1178650624
ММК
2007-05-08 22:57
2007.05.27
Включение с Windows


15-1178010982
SerJaNT
2007-05-01 13:16
2007.05.27
Drupal