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

تدوير الجسم يمين ويسار ؟

مغلق
بدأه Abdullah.Alshammeri في 26 يونيو 2005 · 3 رد · 586 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا الان احاول ان انتهي من عمل محرك 2D يعتمد على OPENGL :blink:

'طبعا محرك بسيط ..

لكن واجهتني مشكلة اتمنى منكم المساعدة ..

برمجت دالة تقوم بتدوير الجسم ( شكل هندسي ) باتجاه عقارب الساعدة او عكس اتجاه عقارب الساعة .. اي بدون استخدام Z position

لكن لا اعرف كيف ...

في opengl وحتى DX التدوير يكون على

المحور X و Y و Z

وهذا لا اريده . انا اريد تدوير الجسم يمين او يسار ...

حاولت استخدام الدوال الدائرية هكذا

RAD=3,14/180;
i+=1
x=cos(i*RAD)
y=sin(i*RAD);

ثم 

glTranslatef(X,Y,0);

وهي دالة التحريك ..

لكن الجسم لايدور حول نفسه انما يقوم بعمل حركة دائرية حول نقطة معينة ..

اتمنى ان يكون السؤال واضح والجواب سريع حتى اكمل الطريق ..

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#2

خلا ص خلاص .. لقيت الحل ..

استخدمت البارمتر الثالث بدالة التدوير glRotatef

كنت في السابق ادور الجسم على المحور السيني والصادي .. :(

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#3

عملية التدور تنص علي تدوير الجسم بالنسبة لنفسه و او بالنسبة لاحداثيات اخري مثل احداثيات العالم الافتراض World Co-ordinates .

x=cos(i*RAD)

y=sin(i*RAD);

X ، Y من المفترض انهم نقطة - ما كتبته من معادلات يدل علي التحريك بالنسبة للنقطة x,y التي جعلتهم هما نقطا الاصل للجسم مع فرض نصف قطر القطبي بواحد

x=r*cos(theta)

ثانياً

الدالة

glTranslatef(X,Y,0);

تقوم بإزاحة الجسم و ليس تدويره .

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#4

صحيح ... انا كنت استخدم دالة الازاحة ... لكن ايضا اخطأت واستخدمت دالة التدوير glRotatef

ولكن كنت ادوره على المحور السيني او الصادي وهذا خطاء كان من المفترض اقوم بتدويره على المحور Z

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

هذا الموضوع مغلق.

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

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

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

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

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