Главная страница
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.045 c
11-1160141707
Zoom Evstrahiev
2006-10-06 17:35
2007.05.27
Зеркало для KOLCoolBar


15-1177432649
Nucer
2007-04-24 20:37
2007.05.27
RewriteRule в Apache


1-1175146436
fishka
2007-03-29 09:33
2007.05.27
Увеличение размера при выводе на принтер Excel-файла


15-1177679014
SergeyLTD
2007-04-27 17:03
2007.05.27
Помогите, пожалуйста, с лабораторными работами


2-1178785606
vitv
2007-05-10 12:26
2007.05.27
Получение хэндла родительской формы.