أضف مشاركة إلى الموضوع: مكتبة الرسم بإستخدام الحاسوب OpenGL
اضغط هنا للدخول
يمكنك إختيار أيقونة لرسالتك من هذه القائمة
سيتم تحويلها www.example.com إلى [URL]http://www.example.com[/URL].
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL شكرا كتير يا جاجا لمحاولتك لحتى تساعديني الله يستر زالله شكلها مسكره معي ادعيلي القى حل سريع
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL [align=center]نسيت اسأل سؤال هلا هادي الماده انا بقدر اعمل من خلااالها لعبة XO الغنيه عن التعريف لو فيه طرق حد يزودنا بالكودات لالها مع العلم انا لااا أفقه منها شيء لكن بنتعلم عالبكير. البنت ناازله دراسه بلبرمجه من متى مابعرف لهيك حد يجيبلنا كود اللعبه خلنا نتعرف اكتر عالبرمجيه[/align]
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL [align=center]ههههههه انا واللهِ لسى مو منزله الماده عالفصل الجاي انشاءالله. بس الكل بيحكي عنها موووت على كتر ماهيه صعبه الله يستر منها انشاءالله خير اخي ****** دائما مبدعا والكلمات تعجز عن الوصف يعطيك 1000 عافيه [/align]
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL يعطيك العافيه
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL thnxxxx
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL يعطيك الف عافيه ع مجهودك
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL الموضوع ممتاز والله يعطيكوا ألف عافية فراشة الربيع
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL شكــــــــــــــــــــــــــــــــــــــــــــــرا كتـــــــــــــــــــــــــــــــــــــــيــــــــ ـر ..
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL مختبر الرسم بإستخدام الحاسوب 5/4/2010 bitmap كود: #include <gl\glut.h> GLubyte bitShape[20]={ 0x1c,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00, 0xff,0x80,0x7f,0x00,0x3e,0x00,0x1c,0x00,0x08,0x00 }; char x[]="ZAEDO"; void init() { glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0,400,0,400); // to invert the cordinate } void bitm(int x,int y) { glColor3f(0,1,0); // shape color glRasterPos2i(x,y); // the position of shape glBitmap(10,9,0,0,0,0,bitShape); // drawing shape from array // glBitmap(rows,cols,xOrigen,xOrigen,xOffset,yOffset,array); // glBitmap(10,9,10,9,0,0,bitShape); // glBitmap(10,9,9,10,0,0,bitShape); // glBitmap(10,9,5,5,0,0,bitShape); } void display() { glClearColor(0,0,0,0); /* for 2D */ /* for 3D */ glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glPixelStorei(GL_UNPACK_ALIGNMENT,1); /* for(int i=10;i<=350;i+=10) bitm(i,10); */ bitm(10,10); glColor3f(1,1,1); glPointSize(5); glBegin(GL_POINTS); glVertex2i(50,50); glEnd(); // to print an char in openGL glRasterPos2i(100,300); glutBitmapCharacter(GLUT_BITMAP_9_BY_15,'A'); for(int i=0;i<5;i++) { glRasterPos2i(i*13+10,300); glutBitmapCharacter(GLUT_BITMAP_9_BY_15,x[i]); } glFlush(); } void main(int argc,char** argv) { glutInit(&argc,argv); glutInitWindowPosition(100,100); glutInitWindowSize(400,400); glutCreateWindow("Bitmap Project"); glEnable(GL_DEPTH_TEST); init(); glutDisplayFunc(display); glutMainLoop(); } النتيجة :
#include <gl\glut.h> GLubyte bitShape[20]={ 0x1c,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00, 0xff,0x80,0x7f,0x00,0x3e,0x00,0x1c,0x00,0x08,0x00 }; char x[]="ZAEDO"; void init() { glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0,400,0,400); // to invert the cordinate } void bitm(int x,int y) { glColor3f(0,1,0); // shape color glRasterPos2i(x,y); // the position of shape glBitmap(10,9,0,0,0,0,bitShape); // drawing shape from array // glBitmap(rows,cols,xOrigen,xOrigen,xOffset,yOffset,array); // glBitmap(10,9,10,9,0,0,bitShape); // glBitmap(10,9,9,10,0,0,bitShape); // glBitmap(10,9,5,5,0,0,bitShape); } void display() { glClearColor(0,0,0,0); /* for 2D */ /* for 3D */ glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glPixelStorei(GL_UNPACK_ALIGNMENT,1); /* for(int i=10;i<=350;i+=10) bitm(i,10); */ bitm(10,10); glColor3f(1,1,1); glPointSize(5); glBegin(GL_POINTS); glVertex2i(50,50); glEnd(); // to print an char in openGL glRasterPos2i(100,300); glutBitmapCharacter(GLUT_BITMAP_9_BY_15,'A'); for(int i=0;i<5;i++) { glRasterPos2i(i*13+10,300); glutBitmapCharacter(GLUT_BITMAP_9_BY_15,x[i]); } glFlush(); } void main(int argc,char** argv) { glutInit(&argc,argv); glutInitWindowPosition(100,100); glutInitWindowSize(400,400); glutCreateWindow("Bitmap Project"); glEnable(GL_DEPTH_TEST); init(); glutDisplayFunc(display); glutMainLoop(); }
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL مختبر الرسم بإستخدام الحاسوب 30/3/2010 برنامج الهرم الرباعي الأوجه ثلاثي الأبعاد و هذا هو الكود و هو شبيه بكود المكعب الثلاثي الأبعاد إلا انه تم استخدام المثلثات TRIANGLES لرسم اوجه الهرم و المربع QUADS لرسم قاعدة الهرم كود HTML: /********************************** Computer Graphics Lab 30/03/2010 Zaed Murad unijust@unijust.com ***********************************/ #include <cmath> #include <gl\glut.h> int pts[5][3] = { {0,0,0},{4,0,0},{4,0,4},{0,0,4},{2,4,2}}; double r = 3; double theta = 0.5; int a = 2; int b = 2; double cx = a + r * cos(theta); double cz = b + r * sin(theta); double cy = 3.0; void triangle(int v1,int v2,int v3) { glBegin(GL_TRIANGLES); glVertex3iv(pts[v1]); glVertex3iv(pts[v2]); glVertex3iv(pts[v3]); glEnd(); } void quad(int v1,int v2,int v3,int v4) { glBegin(GL_QUADS); glVertex3iv(pts[v1]); glVertex3iv(pts[v2]); glVertex3iv(pts[v3]); glVertex3iv(pts[v4]); glEnd(); } void drawCube() { glColor3f(1,1,1); quad(0,1,2,3); } void drawTriangle() { glColor3f(0,0,1); triangle(0,1,4); glColor3f(0,1,1); triangle(3,2,4); glColor3f(1,0,1); triangle(2,1,4); glColor3f(0,1,0); triangle(0,3,4); } void init() { glLoadIdentity(); gluLookAt(cx,cy,cz,2,0,2,0,1,0); // y is the up vector glMatrixMode(GL_PROJECTION); glOrtho(-7,7,-7,7,-7,7); } void drawAxis() { glBegin(GL_LINES); /******** X ********/ glColor3f(0,1,0); glVertex3f(0,0,0); glVertex3f(5,0,0); /******** Y ********/ glColor3f(1,0,0); glVertex3f(0,0,0); glVertex3f(0,5,0); /******** Z ********/ glColor3f(0,0,1); glVertex3f(0,0,0); glVertex3f(0,0,5); glEnd(); } void display() { glClearColor(0.5,0.5,0.5,0); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); drawAxis(); drawCube(); drawTriangle(); glFlush(); } void key(unsigned char c,int x,int y) { switch(c) { case 'y': case 'Y': theta -=0.0174444; if(theta < 0) theta = 2 * (22/7.0); break; case 'x': case 'X': theta +=0.0174444; if(theta > 2*(22/7)) theta = 0; break; } cx = a + r * cos(theta); cz = b + r * sin(theta); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(cx,cy,cz,2,0,2,0,1,0); // y is the up vector display(); } void main(int c,char** v) { glutInit(&c,v); glutInitWindowPosition(100,100); glutInitWindowSize(400,400); glutCreateWindow("3D Project"); init(); glEnable(GL_DEPTH_TEST); glutKeyboardFunc(key); glutDisplayFunc(display); glutMainLoop(); } بعض الصور بعد تنفيذ الكود الهرم يتحرك نحو اليمين عند الضغط على X الهرم يتحرك نحو اليسار عند الضغط على Y و اي استفسار انا بالخدمة
/********************************** Computer Graphics Lab 30/03/2010 Zaed Murad unijust@unijust.com ***********************************/ #include <cmath> #include <gl\glut.h> int pts[5][3] = { {0,0,0},{4,0,0},{4,0,4},{0,0,4},{2,4,2}}; double r = 3; double theta = 0.5; int a = 2; int b = 2; double cx = a + r * cos(theta); double cz = b + r * sin(theta); double cy = 3.0; void triangle(int v1,int v2,int v3) { glBegin(GL_TRIANGLES); glVertex3iv(pts[v1]); glVertex3iv(pts[v2]); glVertex3iv(pts[v3]); glEnd(); } void quad(int v1,int v2,int v3,int v4) { glBegin(GL_QUADS); glVertex3iv(pts[v1]); glVertex3iv(pts[v2]); glVertex3iv(pts[v3]); glVertex3iv(pts[v4]); glEnd(); } void drawCube() { glColor3f(1,1,1); quad(0,1,2,3); } void drawTriangle() { glColor3f(0,0,1); triangle(0,1,4); glColor3f(0,1,1); triangle(3,2,4); glColor3f(1,0,1); triangle(2,1,4); glColor3f(0,1,0); triangle(0,3,4); } void init() { glLoadIdentity(); gluLookAt(cx,cy,cz,2,0,2,0,1,0); // y is the up vector glMatrixMode(GL_PROJECTION); glOrtho(-7,7,-7,7,-7,7); } void drawAxis() { glBegin(GL_LINES); /******** X ********/ glColor3f(0,1,0); glVertex3f(0,0,0); glVertex3f(5,0,0); /******** Y ********/ glColor3f(1,0,0); glVertex3f(0,0,0); glVertex3f(0,5,0); /******** Z ********/ glColor3f(0,0,1); glVertex3f(0,0,0); glVertex3f(0,0,5); glEnd(); } void display() { glClearColor(0.5,0.5,0.5,0); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); drawAxis(); drawCube(); drawTriangle(); glFlush(); } void key(unsigned char c,int x,int y) { switch(c) { case 'y': case 'Y': theta -=0.0174444; if(theta < 0) theta = 2 * (22/7.0); break; case 'x': case 'X': theta +=0.0174444; if(theta > 2*(22/7)) theta = 0; break; } cx = a + r * cos(theta); cz = b + r * sin(theta); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(cx,cy,cz,2,0,2,0,1,0); // y is the up vector display(); } void main(int c,char** v) { glutInit(&c,v); glutInitWindowPosition(100,100); glutInitWindowSize(400,400); glutCreateWindow("3D Project"); init(); glEnable(GL_DEPTH_TEST); glutKeyboardFunc(key); glutDisplayFunc(display); glutMainLoop(); }
قوانين المنتدى