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

طلب شرح رسم كرة

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

اريد رسم كرة

فماهي اهم الاشياء

هل هي

void glutSolidSphere(GLdouble radius,GLint slices, GLint stacks);هذة هي دالة جاهزة ترسم كرة في نقطة الاصل

glTranslatef(14,8,+2);وهذا لتحديد المكان

pObj = gluNewQuadric();

gluQuadricNormals(pObj,GLU_SMOOTH); ماهي فائدة هذة

وكذلك glOrtho(0,30,0,30,0,20); هذا تحديد النافذة

اريد شرح مفصل

لانني لا افهم شيئا في 3d

#2

GLUquadricObj*pObj;

pObj = gluNewQuadric();

gluQuadricDrawStyle(pObj,GLU_FILL

glColor3f(1,0,0);

glTranslatef(1,1,+2);

gluSphere (pObj,1.0, 100, 100);

محاولة جديدة ولكن الكور لم تظهر في شاشة الرسم

#3

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

ليست لدي معلومات واضحة حول gluQuadric و لكن سأعطيك مجريات تقريبا...

gluNewQuadric تقوم بحجز ذاكرة مبدئية و ربطها مع المكدس X".. X إسم فقط سميته أنا , لا أعرف الإسم الحقيقي له".

gluSphere تقوم بإعداد البيانات الكرة و وضعها في الذاكرة المربوطة بالمكدس..

الفرق ,فقط في حالة تهيئة الأوبن جي أل و إستخدام البيانات سواءا بgluSphere أو gluBeginCurve إلخ... بصيغة متناغمة مع المكدس X ..

glOrtho هو صيغة لإعداد الرؤية .

اقتباس

GLUquadricObj*pObj;

pObj = gluNewQuadric();

gluQuadricDrawStyle(pObj,GLU_FILL

glColor3f(1,0,0);

glTranslatef(1,1,+2);

gluSphere (pObj,1.0, 100, 100);

محاولة جديدة ولكن الكور لم تظهر في شاشة الرسم

حاول وضع:

اقتباس
glTranslatef(0.,-10.,0.);

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

future.jpg
#4

شكرا على الرد

اخي لوتفضلت اتظن المشكلة في الاحداثيات ووهل لهذة الدالة سبب فيما حدث glOrtho(0,30,0,30,0,20);مع العلم بانني جربت هذا الكود

glTranslatef(0,-10,+12);

glutSolidSphere (1.0, 100, 16);

#5

glTranslatef(50,50,+1);

glutSolidSphere (1.0, 100, 100);

glPopMatrix ();

محاولة اخرى

ظهرت الكرة واخيرا

لكن رغم تغييري للاحداثيات الكرة لازالت في الجزء السفلي للنافذة الرسم !!!!

#6

void Initial()

{

glClearColor(1,1,1,0);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

glOrtho(0,30,0,30,0,20);

}

void main()

{

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);

glutInitWindowSize(503,503);

glutCreateWindow("Draw point");

Initial();

glutDisplayFunc(draw);

glutMainLoop();

}

قد يكون جزء مهم من الكود

#7

glMatrixMode(GL_MODELVIEW);

glLoadIdentity();

glColor3f(1.0, 0.0, 0.0);

glTranslatef(14,8,+1);

glutSolidSphere (0.5, 100, 100);

خر كود ظهرت الكرة

اتمنى ايضاح هذا الكود لانني لم افهمة جيدا

#8

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

ليكن في علمك أنه في الأوبن جي أل هناك نمطين من الإعدادات المهمة هههههه

نمط GL_MODELVIEW : يمكنك هذا النمط من جعل الأوبن جي أل مهيء للرسم, أي أنك لن تستطيع عمل الإسقاط ( عموما مفهوم الإسقاط في فنون الرسم بشكل عالم و يمكنك الإستعانة بأساتذة الرسم حول مفهوم الإسقاط ) في هذا النمط. بل يمكنك الرسم فقط.

نمط GL_PROJECTION هذا يمكنك من تغيير إعدادات الإسقاط و ليس الرسم ...

و هناك نمط آخر GL_TEXTURE خاص بالإكساءات.

الدالة glLoadIdentity هي معروفة بكونها تعيد مصفوفة التحريك إلى الإعدادت الإفتراضية ( 0,0,0 ) ..

أنظر هــــــــــــــنــــــــــا

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

فيما يخص التحريك glTransltef القيمة z إذا كانت سالبة يعني أن الجسم بعيد عن عين الناظر أما إذا كانت موجبة فإنها ستكون قريبة من عين الناظر..

يعني glTranslatef(14,8,+10); لن يظهر الشكل أمامك.. أما glTranslatef(14,8,-10); فسيظهر الشكل و كلما كانت القيمة z سالبة أكثر فأكثر , سيبتعد الجسم أكثر فأكثر..

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

future.jpg
#9

اشكرك اخي الفاضل على تفاعلك

ولكن الملف لاتظهر لي الاكواد ويطلع error واحد

fatal error C1083: Cannot open source file: 'C:\Users\H-F\Desktop\cg.lap\tutors-win32\tutors\tutors.vc6\lightposition.c': No such file or directory

Error executing cl.exe.

lightposition.exe - 1 error(s), 0 warning(s)

ماهي المشكلة

#10

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

قم بتشغيل الملفات التنفيدية فقططططططط...

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

future.jpg
#11

شكرا ولكنني لم افهم ماذا تقصد

#12

السلام عليكم.. كنت تريد أن تعيد ترجمة lightposition بفيزيول مثلا, أليس كذلك . يكفيك تشغيل cl.exe فقط.

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

future.jpg
#13

شكرا على الردود وعلى التفاعل

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