ضروري لمن لديه الخبرة بالتعامل مع OpenGL

أرسل من قبل Miss Ghada في الإثنين, 2008/05/05 - 3:28pm.
صورة Miss Ghada

تاريخ التسجيل: 2008-05-05
مشاركات: 8

glTranslate(d/f) ابغي اتعامل مع الامر باعتبار انو مثلا راح ارسم سيارة بعتمد على التسلسل يعني لو ابتديت بالبودي تبع السيارة وحبيت ارسم العجلات عند نقطة معينه باستخدام الكرنت ماتركس والبوش والبوب المشكلة الي اواجهها اني مو عارفة ليش اذا احدد النقطة تبع العجلة بمكان تنرسم بمكان وكأن الورود كوردينت بمكان والاحداثيات الي باخذها بمكان تاني، بحط الكود والي يقدر يشرح لي يجزاه الله خير..

#include
#include
#include
const float DEG2RAD = 3.14159/180;

void drawCircle(float radius, float originX, float originY)
{
float vectorY1=originY;
float vectorX1=originX;
int i;
glBegin(GL_TRIANGLES);
for(i=0;i<=360;i++)
{
float angle=i*DEG2RAD;
float vectorX=originX+(radius*(float)sin((double)angle));
float vectorY=originY+(radius*(float)cos((double)angle));
glVertex2d(originX,originY);
glVertex2d(vectorX1,vectorY1);
glVertex2d(vectorX,vectorY);
vectorY1=vectorY;
vectorX1=vectorX;
}
glEnd();
}

void drawCarbody()
{
glColor3f(0,0,0);
glBegin(GL_POLYGON);
glVertex3f(0.0,0.0,0.0);
glVertex3f(0.0,1.0,0.0);
glVertex3f(1.0,1.0,0.0);
glVertex3f(1.0,0.0,0.0);
glEnd();

}

void drawWheel(){
glColor3f(0,1,0);
drawCircle(.5,0,1 );
glColor3f(0,0,1);
drawCircle(.25,0,1 );
}

void Display()

{

glClearColor(1,1,1,1);
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glPushMatrix();

//drawingCarbody
glTranslated(1,2,0);
glScalef(8,5,0);
drawCarbody();
glPushMatrix();


glTranslated(0,2,0);
glPushMatrix();
glColor3f(0,1,0);
glTranslated(-.2,0,0);
glScalef(.3,.3,0);
drawCircle(1,0,0);
glPushMatrix();



glFlush();
}



void Reshape(GLint w,GLint h){
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode (GL_PROJECTION); /* Select the projection matrix */
glLoadIdentity (); /* Initialise it */
glOrtho(20,-20,20,-20,-1,1);/* The unit cube */
glMatrixMode (GL_MODELVIEW); /* Select the modelview matrix */
// glLoadIdentity (); /* Initialise it */
}

int main(int argc,char **argv){
glutInit(& argc, argv);
//glutInitWindowSize(1000,1000);
glutCreateWindow("CAR" ) ;
glutDisplayFunc(Display) ;
glutReshapeFunc(Reshape) ;
glutMainLoop();

return 0;}
تمت إعادة تنسيق الكود من قبل mpcabd.

أعلل النفس بالآمال أرقبها
ما أضيق العيش لولا فسحة الأمل

 
دخول أو تسجيل لإرسال التعليقات | قراءة: 231

خيارات عرض التعليقات

اختر طريقتك المفضلة لعرض التعليقات و اضغط "حفظ الإعدادات" لتفعيل تغييراتك.
الثلاثاء, 2008/05/06 - 11:26am
عضو فعال
صورة The Tornado

تاريخ التسجيل: 2007-06-07
مشاركات: 854

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الخامسة
الاختصاص: ذكاء صنعي

هلأ انا ما عندي الخبرة .. بس بدبر حالي Mr. Green

حسب ما شايف بكود الـ display ما في ولا glPopMatrix

وبصراحة كان في كتير ملاحظات عالكود المكتوب

بس بكل الأحوال هي مشروع شغال بعد التعديل بكود التابع display .. وتأكدي من الـ include الخاصة بـمكتبات opengl .. لأني حاطط ملفات h. و lib. بمجلد الـ VS

تحميل المشروع

الملف ما بيعتمد على توابع glut وإنما على توابع win32 api الصعب .. انتي ما مضطرة تفهمي كود++C و win32 api .. بكفي الكود المكتوب بـ Init و resize اللي بقابل reshape و drawglscene اللي بقابل display ... وبالآخر هو نفس كود الـ opengl

!!!!

في حال كان في شي ما واضح بالأشياء اللي عدلتها أو صار مشاكل بتشغيل المشروع يا ريت تقولي شو المشكلة

بالتوفيق Smile

 
دخول أو تسجيل لإرسال التعليقات
الثلاثاء, 2008/05/06 - 12:58pm
صورة Miss Ghada

تاريخ التسجيل: 2008-05-05
مشاركات: 8

شكرا على ردك بس احب اوضح لك اني بعتمد على لغة السي بلاس بلاس مع مكتبه الglut الكود الي انا حاطته بيشتغل تمام ،و عن ملاحظتك
بكلمة glpopmatrix فهذا عبارة عن حذف للماتكرس ونرجع لنقطة السابقة وانا بالكود لانو مو كامل فماني محتاجة ، واضح انو مالك خبرة ، عموما انا رحت اليوم الي بتدرسني المادة وهي بتشرح لي ،،

أعلل النفس بالآمال أرقبها
ما أضيق العيش لولا فسحة الأمل

 
دخول أو تسجيل لإرسال التعليقات
الثلاثاء, 2008/05/06 - 1:05pm
عضو فعال
صورة Mhd Shaker

تاريخ التسجيل: 2007-04-13
مشاركات: 701

الجامعة: دمشق
الكلية: الهندسة المعلوماتية

كتب Miss Ghada:
واضح انو مالك خبرة

Mr. Green Mr. Green Mr. Green

 
دخول أو تسجيل لإرسال التعليقات
الثلاثاء, 2008/05/06 - 1:30pm
صورة eng.samar

تاريخ التسجيل: 2006-05-22
مشاركات: 636

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الخامسة
الاختصاص: هندسة برمجيات

هي قوية..

يعني إذا تورنادو ما عندو خبرة..مين عندو خبرة إذن..

على كل الزلمة Mr. Green حب يساعدك بتروحي بتقولولي هيك..

 
دخول أو تسجيل لإرسال التعليقات
الثلاثاء, 2008/05/06 - 2:56pm
عضو فعال
صورة The Tornado

تاريخ التسجيل: 2007-06-07
مشاركات: 854

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الخامسة
الاختصاص: ذكاء صنعي

كتب Miss Ghada:
شكرا على ردك بس احب اوضح لك اني بعتمد على لغة السي بلاس بلاس مع مكتبه الglut الكود الي انا حاطته بيشتغل تمام ،و عن ملاحظتك بكلمة glpopmatrix فهذا عبارة عن حذف للماتكرس ونرجع لنقطة السابقة وانا بالكود لانو مو كامل فماني محتاجة ، واضح انو مالك خبرة ، عموما انا رحت اليوم الي بتدرسني المادة وهي بتشرح لي ،،

اول شي ولي Sad

تاني شي بعرف شو بتعمل glPopMatrix ...

تالت شي الكود الموجود هو كود ++C

رابع شي شغال

خامس شي معنا معنا بصير عنا خبرة Smile منكم نستفيد بس انتي فكرتي تفتحي المشروع اللي حطيتلك ياه وتشغليه ؟

ولي عالبهدلة .. Mr. Green بس حبينا نساعد والبرنامج اللي حطيتيه شغال بس ما كان عم يرسم صح Wink كان عندك أربع أو خمس أخطاء صححتون

 
دخول أو تسجيل لإرسال التعليقات
الأربعاء, 2008/05/07 - 3:09am
صورة Miss Ghada

تاريخ التسجيل: 2008-05-05
مشاركات: 8

كتب The Tornado:
كتب Miss Ghada:
شكرا على ردك بس احب اوضح لك اني بعتمد على لغة السي بلاس بلاس مع مكتبه الglut الكود الي انا حاطته بيشتغل تمام ،و عن ملاحظتك بكلمة glpopmatrix فهذا عبارة عن حذف للماتكرس ونرجع لنقطة السابقة وانا بالكود لانو مو كامل فماني محتاجة ، واضح انو مالك خبرة ، عموما انا رحت اليوم الي بتدرسني المادة وهي بتشرح لي ،،

اول شي ولي Sad

تاني شي بعرف شو بتعمل glPopMatrix ...

تالت شي الكود الموجود هو كود ++C

رابع شي شغال

خامس شي معنا معنا بصير عنا خبرة Smile منكم نستفيد بس انتي فكرتي تفتحي المشروع اللي حطيتلك ياه وتشغليه ؟

ولي عالبهدلة .. Mr. Green بس حبينا نساعد والبرنامج اللي حطيتيه شغال بس ما كان عم يرسم صح Wink كان عندك أربع أو خمس أخطاء صححتون

لا عيوني الكود كان يشتغل تمام وما في اي خطا بس انا لما عملتوا كوبي مدري ايش صار وطاروا الهيدر تمام بينرسم يطلع مربع ودائرة
انا عارفة انو انت بتتعامل مع opengl كفنكشن بتاخذها وتحطها ، انا بصراحة باخذ هالكورس كجزء من مقرر computer graphics وما يصير نحيد على الافكار الصعبه والمعقدة الي بتعقد حياتنا وبتخليني انتحر بإذن الله ، يعني انت بتاخذ الدائرة من الفنكشن الجاهزة ، احنا لا يعني لازم نتعلم رياضيات ونستخدم الخوارزميات زي ما تسموها بالعربي وتطلع روحنا يا بينرفض الشغل كامل ، يعني تتخيل انو عشان ارسم خط لازم استخدم هالخوازميات مع انو عندنا شي سهل اسمو GL_LINES والسي بلاس بلاس خلص انا فاهمتها ثلاث كورسات وهم يعلمونا فيهم مع صديقتنا السي من اول ما دخلنا صرنا رفقا مع اني لسا اكرههم ، كل الي اقدر اقوله شكرا خيو وما قصدي اغلط بالنهاية كل جامعة لها اسلوبها وجامعتنا شعارها عذب طالب علوم الحاسوب وخله يلعن اليوم الي دخل فيه هالتخصص ،،،،

أعلل النفس بالآمال أرقبها
ما أضيق العيش لولا فسحة الأمل

 
دخول أو تسجيل لإرسال التعليقات
الخميس, 2008/05/08 - 9:19am
عضو فعال
صورة The Tornado

تاريخ التسجيل: 2007-06-07
مشاركات: 854

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الخامسة
الاختصاص: ذكاء صنعي

كتب Miss Ghada:
لا عيوني الكود كان يشتغل تمام وما في اي خطا بس انا لما عملتوا كوبي مدري ايش صار وطاروا الهيدر تمام بينرسم يطلع مربع ودائرة انا عارفة انو انت بتتعامل مع opengl كفنكشن بتاخذها وتحطها ، انا بصراحة باخذ هالكورس كجزء من مقرر computer graphics وما يصير نحيد على الافكار الصعبه والمعقدة الي بتعقد حياتنا وبتخليني انتحر بإذن الله ، يعني انت بتاخذ الدائرة من الفنكشن الجاهزة ، احنا لا يعني لازم نتعلم رياضيات ونستخدم الخوارزميات زي ما تسموها بالعربي وتطلع روحنا يا بينرفض الشغل كامل ، يعني تتخيل انو عشان ارسم خط لازم استخدم هالخوازميات مع انو عندنا شي سهل اسمو GL_LINES والسي بلاس بلاس خلص انا فاهمتها ثلاث كورسات وهم يعلمونا فيهم مع صديقتنا السي من اول ما دخلنا صرنا رفقا مع اني لسا اكرههم ، كل الي اقدر اقوله شكرا خيو وما قصدي اغلط بالنهاية كل جامعة لها اسلوبها وجامعتنا شعارها عذب طالب علوم الحاسوب وخله يلعن اليوم الي دخل فيه هالتخصص ،،،،

الله يعطيكي العافية

ممكن نعرف حضرتك وين بتدرسي ؟

لأنو نحنا دارسين مقرر Computer Graphics السنة الماضية

بس بدي قلك شغلة: انتي حطيتي الموضوع مشان نساعدك بالكود؟ واللا مشان تحكي عن أمجادك الشخصية وتفكيرك الهندسي وبعد نظرك الرياضي ؟

صحيح نسيت شغلة: ما في تابع جاهز لرسم الدائرة Mr. Green

 
دخول أو تسجيل لإرسال التعليقات