Форум: "Игры";
Текущий архив: 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.038 c