Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
3-1173265948
DmitrichJ
2007-03-07 14:12
2007.05.27
Генератор в MSSQL. Бьюсь уже 2-а дня.


2-1178806134
Гость____
2007-05-10 18:08
2007.05.27
Редактор Delphi


2-1178558763
Dik59
2007-05-07 21:26
2007.05.27
Настройки Delphi?


15-1177597836
ProgRAMmer Dimonych
2007-04-26 18:30
2007.05.27
Уже обыскался...


11-1160053393
Thaddy
2006-10-05 17:03
2007.05.27
New kol website




   Наверх