الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف احرك الاشكال ...!

بدأه شادن..}~ في 23 أبريل 2012 · 1 رد · 1,029 مشاهدة · في OpenGL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ...

ممكن احد يساعدني :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

}
#2

السلام عليكم...

العمل ليس سهلا على شخص في بداية مشواره, تعلم الأوبن جي أل بجميع ككل هو الأساس لبداية برمجيات متقدمة, أنا شخصيا لا أظن أنك ستجد الإجابة الكاملة على النت....

اقتباس

انا ابغى اسوي مشروع تصميم فستان وحيكون عندي منيكان وكذا شكل على اليسار ابغى احرك من الاشكال دي واحطها على المنيكان

لا أظنه يرقى إلى مشروع فهو عبارة عن بريمج و حسب..

إعلم أخي أن الدالة Motion تعمل على إرجاع موقع الفأرة فقطططططططط.

اقتباس
وهل ممكن اول ماااحركه وابغى احطه على المنيكان ياخذ مكانو علطول على نفس نقاط المنيكان ...؟
السحب و الإفلات , تحتاج إلى التعرف على الجسم المراد النقر عليه بالفأرة... هناك موضوع خاص هنــــــــــا
اقتباس
انا راسمه شئ مبدئي بس ابغى اعرف استخدام الفنكشن عشان ابدأ فيه
عليك بإلقاء نظرة هنا" المكتبة glut " و هو شيء رائع قام به المعلم "" بكل إحتراماتي له " الشمري.. أو إبحــــــث هنا

فم بقراءة حول مفاهيم pick and selection with opengl..... حاول البحث مثلا في النت عن مقالات تحضى بذلك.

و تعلم مفهوم المكادس في الأوبن جي أل glPushMatrix أو glPushAttrib ......

و بشكل عالم تعلم كل ما يحيط بالأوبن جي أل قبل الخوض في بناء مشاريع.....

أتمنى لك التوفيق.

تخيل, هل سيكون مستقبل الأوبن جي أل مع البشرية هكذا

future.jpg

مواضيع مشابهة