PDA

View Full Version : چرخش يك شكل به همراه تغيير مقياس با opengl



Nil00 far
جمعه 06 بهمن 1391, 14:16 عصر
سلام دوستان
من يه كدي دارم (opengl)كه يه مثلث رو مي چرخونه بهش يه مقياسم دادم ولي مي خوام حين چرخش مقياسش كوچك بزرگ شه يعني اول شكلمو به يه نقطه تبديل كنه بعد كم كم بزرگ شه نمي دونم چطوري تغييرش بدم كسي ميتونه كمكم كنه؟ اينم كدمه

GLfloat angle = 0.0;
void idle(void){
if(angle < 360)
angle += 0.5;
else
angle = 0;
glutPostRedisplay();
};
void winInit(void)
{
glClearColor(1.0,1.0,1.0,0.0);
};
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glRotatef(angle,0.0,0.0,1.0);
glScalef(2,2,0);
glBegin(GL_POLYGON);
glColor3f(1.0, 0.0, 0.0);
glVertex2f(-0.5, -0.5);
glColor3f(0.0, 1.0, 0.0);
glVertex2f(0.5, -0.5);
glColor3f(0.0, 0.0, 1.0);
glVertex2f(0.0, 0.5);
glEnd();
glutSwapBuffers();
}

UfnCod3r
جمعه 06 بهمن 1391, 15:09 عصر
من منظورتونو دقیق نفهمیدم ولی فکر کنم این بدرد بخوره !
:متفکر:
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

for(int i = 0; i < 4; i++)
{
glBegin(GL_POLYGON);
glColor3f(1, 0, 0);
glVertex2f(-0.5, -0.5);
glColor3f(0, 1, 0);
glVertex2f(0.5, -0.5);
glColor3f(0, 0, 1);
glVertex2f(0.0, 0.5);
glEnd();
glScalef(0.6, 0.6, 1);
//glRotatef(45,0,0,1);
}


glutSwapBuffers();
}

Nil00 far
جمعه 06 بهمن 1391, 15:24 عصر
نه منظورم اينه كه وقتي شكلم يه مقياس كوچيك ميشه ديگه شكل قبلي رو نشون نده همينطور كوچيكتر شه و قبلي از بين بره

من منظورتونو دقیق نفهمیدم ولی فکر کنم این بدرد بخوره !
:متفکر:
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

for(int i = 0; i < 4; i++)
{
glBegin(GL_POLYGON);
glColor3f(1, 0, 0);
glVertex2f(-0.5, -0.5);
glColor3f(0, 1, 0);
glVertex2f(0.5, -0.5);
glColor3f(0, 0, 1);
glVertex2f(0.0, 0.5);
glEnd();
glScalef(0.6, 0.6, 1);
//glRotatef(45,0,0,1);
}


glutSwapBuffers();
}

UfnCod3r
جمعه 06 بهمن 1391, 16:35 عصر
نه منظورم اينه كه وقتي شكلم يه مقياس كوچيك ميشه ديگه شكل قبلي رو نشون نده همينطور كوچيكتر شه و قبلي از بين بره

منم همینو نوشتم دیگه :عصبانی++:

Nil00 far
شنبه 07 بهمن 1391, 14:29 عصر
منم همینو نوشتم دیگه :عصبانی++:

حالا چرا عصباني مي شيد :ناراحت: ببخشيد خب آخه من اين كد رو زدم شكل ميچرخه ولي با تمام مقياسا مي چرخه يعني 4تا مثلثه از كوچيك تا بزرگ كه همش باهم ميچرخه اين نيست