السلام عليكم ...
ممكن احد يساعدني :sad:
انا ابغى اسوي مشروع تصميم فستان وحيكون عندي منيكان وكذا شكل على اليسار ابغى احرك من الاشكال دي واحطها على المنيكان
بس ماني عارفه كيف استخدم فنكشن (Motion) عشان احرك دي الاشكال....؟
وهل ممكن اول ماااحركه وابغى احطه على المنيكان ياخذ مكانو علطول على نفس نقاط المنيكان ...؟
انا راسمه شئ مبدئي بس ابغى اعرف استخدام الفنكشن عشان ابدأ فيه
فهينا لو ابغى احرك الشكل الاحمر على الجزء اللي فوق من المنيكان ؟؟
#include <windows.h>
#include <gl\glut.h>
void draw(void)
{
glClear (GL_COLOR_BUFFER_BIT);
//-----------------------------Detiles of almanecan---------------------------
glBegin (GL_POLYGON);
glColor3f(0, 0, 0);
glVertex2i(200,30);
glVertex2i(213,26);
glVertex2i(213,20);
glVertex2i(210,20);
glVertex2i(210,24);
glVertex2i(197,28);
glEnd();
glLineWidth(1);
glBegin(GL_LINE_LOOP);
glColor3f(0, 0, 0);
glVertex2i(200,30);
glVertex2i(213,26);
glVertex2i(213,20);
glVertex2i(210,20);
glVertex2i(210,24);
glVertex2i(197,28);
glEnd();
//-----------------------------2--------------------------
glBegin (GL_POLYGON);
glColor3f(0, 0, 0);
glVertex2i(195,30);
glVertex2i(182,22);
glVertex2i(182,16);
glVertex2i(186,16);
glVertex2i(186,20);
glVertex2i(197,28);
glEnd();
glLineWidth(1);
glBegin(GL_LINE_LOOP);
glColor3f(0, 0, 0);
glVertex2i(195,30);
glVertex2i(182,22);
glVertex2i(182,16);
glVertex2i(186,16);
glVertex2i(186,20);
glVertex2i(197,28);
glEnd();
//-----------------------------3--------------------------
glBegin (GL_POLYGON);
glColor3f(0, 0, 0);
glVertex2i(200,84);
glVertex2i(195,84);
glVertex2i(195,30);
glVertex2i(200,30);
glEnd();
glLineWidth(1);
glBegin(GL_LINE_LOOP);
glColor3f(0, 0, 0);
glVertex2i(200,84);
glVertex2i(195,84);
glVertex2i(195,30);
glVertex2i(200,30);
glEnd();
//--------------------------upper-------------------------------------
glBegin (GL_POLYGON);
glColor3f(0, 0, 0);
glVertex2i(196,169);
glVertex2i(200,166);
glVertex2i(200,160);
glVertex2i(196,161);
glEnd();
glLineWidth(1);
glBegin(GL_LINE_LOOP);
glColor3f(0, 0, 0);
glVertex2i(196,169);
glVertex2i(200,166);
glVertex2i(200,160);
glVertex2i(196,161);
glEnd();
//---------------------------upper of manekan----------------------------
glBegin (GL_POLYGON);
glColor3f(1,1,.83);
glVertex2i(194,161);
glVertex2i(203,160);
glVertex2i(204,154);
glVertex2i(216,151);
glVertex2i(212,136);
glVertex2i(211,120);
glVertex2i(187,120);
glVertex2i(186,130);
glVertex2i(179,149);
glVertex2i(181,151);
glVertex2i(192,155);
glEnd();
glLineWidth(1.5);
glBegin(GL_LINE_LOOP);
glColor3f(0, 0, 0);
glVertex2i(194,161);
glVertex2i(203,160);
glVertex2i(204,154);
glVertex2i(216,151);
glVertex2i(212,136);
glVertex2i(211,120);
glVertex2i(187,120);
glVertex2i(186,130);
glVertex2i(179,149);
glVertex2i(181,151);
glVertex2i(191,155);
glEnd();
////--------------------------------lower of manekan----------------
glColor3f(1,1,.83);
glBegin (GL_POLYGON);
glVertex2i(211,120);
glVertex2i(215,110);
glVertex2i(217,95);
glVertex2i(216,85);
glVertex2i(200,84);
glVertex2i(183,85);
glVertex2i(182,96);
glVertex2i(184,105);
glVertex2i(187,115);
glVertex2i(187,120);
glEnd();
glLineWidth(1.5);
glBegin(GL_LINE_LOOP);
glColor3f(0, 0, 0);
glVertex2i(211,120);
glVertex2i(215,110);
glVertex2i(217,95);
glVertex2i(216,85);
glVertex2i(200,84);
glVertex2i(183,85);
glVertex2i(182,96);
glVertex2i(184,105);
glVertex2i(187,115);
glVertex2i(187,120);
glEnd();
//----------------------------upper dress----------------------------
glBegin (GL_POLYGON);
glColor3f(1,0,0);
/* glVertex2i(29,161);*/
/* glVertex2i(38,160);*/
glVertex2i(38,154);
glVertex2i(51,151);
glVertex2i(47,136);
glVertex2i(45,120);
glVertex2i(21,120);
glVertex2i(20,130);
glVertex2i(14,149);
glVertex2i(16,151);
/*glVertex2i(30,155);*/
glEnd();
glLineWidth(1.5);
glBegin(GL_LINE_LOOP);
glColor3f(0, 0, 0);
/*glVertex2i(29,161);*/
/* glVertex2i(38,160); */
glVertex2i(38,154);
glVertex2i(51,151);
glVertex2i(47,136);
glVertex2i(45,120);
glVertex2i(21,120);
glVertex2i(20,130);
glVertex2i(14,149);
glVertex2i(16,151);
/* glVertex2i(28,155);*/
glEnd();
glFlush(); // send any buffered output to
// the OpenGL rendering process
}
void main( int argc, char **argv)
{
glutInit(&argc, argv); // Initialize GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB ); // Set display mode
glutInitWindowPosition(0,0); // Set top-left display window position
glutInitWindowSize(800,1000); // Set display window width and height
glutCreateWindow("Perfect dress");// Create display window
glClearColor(1, 1, 1, 0.0);
gluOrtho2D(0,290,-20,180);
glutDisplayFunc(draw);
glutMainLoop(); // Display everything and wait
}