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

مشكلة تغيير حجم المستطيل المرسوم عند التدوير

بدأه sookkaa في 26 أكتوبر 2010 · 1 رد · 1,046 مشاهدة · في OpenGL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله وبركاته

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

post-147554-090083100 1288053736_thumb.j

بعد ما عملت تدوير للمستطيل بزاوية 90 من خلال الكود التالى

GL.Rotatef(-90,0,1,0)

المستطيل بيظهر بالشكل التالى

post-147554-025850400 1288053859_thumb.j

ارجو الرد فى اسرع وقت للأهميه

المرفقات
Error1.jpgError2.jpg
#2

وعليكم السلام ورحمة الله وبركاته ،

لا أعرف كيف فعلت هذا ؟

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

glLoadIdentity()
glTranslatef(0.0 , 0.0 , 0.0 )
glRotatef(-90.0, 0 , 1 , 0 );

' Draw Your rectangle Here .. make sure the rectangle's centre point is on the origin point .
' glBegin(...)
' glVertex ...
' ..
' ..
' glEnd()

لكن ألاحظ أن الدوران حول المحور y ، يعني أنك تتعامل مع عالم ثلاثي البعد ؟ هل هذا ما تريده ؟ يجب أن يكون لديك Depth Buffer مفعّل .. و محصفوفة اسقاط مناسبة مثل Perspective . . وقد لا تحتاج لكل هذا .. إن كان هدفك تنفيذ تطبيق ثنائي الأبعاد .

إذا أردت تدوير مستطيل حول نقطة ( حول نقطة المتصف بالنسبة له ) ، فقم بتدويره حول المحور Z ، مثال :

glRotatef(-90.0, 0 , 0 , 1 );

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…