مختبر الرسم بإستخدام الحاسوب 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
و اي استفسار انا بالخدمة
مختبر الرسم بإستخدام الحاسوب 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(); }النتيجة :
شكــــــــــــــــــــــــــــــــــــــــــــــرا كتـــــــــــــــــــــــــــــــــــــــيــــــــ ـر ..
التعديل الأخير تم بواسطة شذى الياسمين ; 04-06-2010 الساعة 07:40 PM
كن كالياسمين واصنع طوقاَ يفوح بــ شذى عطرك ..
واجعل رحيقك يفوح منك ...
ليصل لكل من احتاج اليك ...
فما اجمل ان تكون ,,, كـــ شذى الياسمين ..
الموضوع ممتاز والله يعطيكوا ألف عافية
فراشة الربيع
يعطيك الف عافيه ع مجهودك
يعطيك العافيه
[align=center]ههههههه
انا واللهِ لسى مو منزله الماده عالفصل الجاي انشاءالله.
بس الكل بيحكي عنها موووت على كتر ماهيه صعبه الله يستر منها انشاءالله خير
اخي ****** دائما مبدعا والكلمات تعجز عن الوصف
يعطيك 1000 عافيه [/align]
[align=center]نسيت اسأل سؤال
هلا هادي الماده انا بقدر اعمل من خلااالها لعبة XO الغنيه عن التعريف
لو فيه طرق حد يزودنا بالكودات لالها مع العلم انا لااا أفقه منها شيء لكن بنتعلم عالبكير.
البنت ناازله دراسه بلبرمجه من متى مابعرف لهيك حد يجيبلنا كود اللعبه خلنا نتعرف اكتر عالبرمجيه[/align]
الذين يشاهدون الموضوع الآن: 5 (0 من الأعضاء و 5 زائر)
مواقع النشر (المفضلة)