الشبكة العربية لمطوري الألعاب

مبتدئ  احمد صالح مشاركة 1

هذه اضافتي مقالتين كنت كاتبهم من 6 سنين☺ اتمني ان يكون لهم غرض إلي الان

1. داخل الالعاب
2. الهندسة التحليلة في المستوي و في الفراغ

خبير مدير وسام البهنسي مشاركة 2

السلام عليكم أحمد،
 
لقد قرأت مقالتيك، وأحب أن أشكرك على هذا الجهد الكبير في الشرح (خاصة المقالة الهندسية).
 
بالنسبة للمشاركة بالمسابقة الحالية فإننا نعتذر عن قبول مشاركتك وذلك بسبب انقضاء الفترة الزمنية المسموحة للاشتراك، كما هو موضح في شروط الاشتراك:
 
http://www.agdn-online.com/communities.aspx?view=posts&threadid=521
 
و
 
http://www.agdn-online.com/communities.aspx?view=posts&threadid=520
 
إلا أنني أدعوك إلى تقديم المقالتين للطرح في قسم المقالات العلمية في الشبكة كي تصبح متاحة لجميع الزوار بسرعة.
 
هناك بعض التفاصيل في المقالتين تحتاج إلى مراجعة كي يتم تحقيق الدقة في المعلومات وفي ترجمة المصطلحات. كمثال:


بتاريخ 19 ابريل 2009 02:26 م، قطب احمد صالح حاجبيه بشدة وهو يقول:

تُعتبر النقطة Point هي المحل الهندسي لتقاطع خطين أو منحنين و كما سنري سنجد أن النقطة هي موقع لمجسم  .
 و يمكن التعبير عنها كمُتجهvector كما سنعلم فيما بعد 

قد يرتبك القارئ عندما يقرأ أن النقطة يمكن التعبير عنها كمتجه، فهما مفهومان رياضيان مختلفان ويجب أن نفرق بينهما بوضوح. الأصح قول أن النقطة يعبر عنها بثلاث أرقام (في عالم ثلاثي الأبعاد)، والمتجه يعبر عنه بثلاث أرقام أيضاً. 



وفي 19 ابريل 2009 02:26 م، أعرب احمد صالح عن رأيه بالموقف كالآتي:

و قام علماء الرياضيات بتصنيف هذه المعادلات إلي فئتين
1.      المعادلات الصريحة ( التمثيل الصريح )implicit form
2.      المعادلات البارامترية (التمثيل البارمتري ) . parameteric form

تترجم implicit إلى "ضمني"، أي معادلات ضمنية، وهو المفهوم المقابل للمعادلات الصريحة (explicit).
 



في 19 ابريل 2009 02:26 م، قال احمد صالح بهدوء وتؤدة:

يُفضل مبرمجون الألعاب عدم استخدام الجذور التربيعية Square Roots و الدوال المثلثية مثل الجا و الجتا Sine,Cosine لأنها حقاً تهلك معالج الحاسب حيث انه لتنفيذ عملية أخذ الجذر رقم يستهلك المعالج عمليات عديدة لتنفيذ هذه العملية و لتفادي هذه المشكلة هناك عدة طرق الأفضل هي استخدام لغة الاسيمبلي ( التجميع) Assembly Language  و لكن لماذا ؟!
لان لغة التجميع هي اللغة الوحيدة الأقرب إلي لغة الآلة أي الأقرب للمعالج و بالتالي ستكون العملية أسرع بدلاً من كتابة الكود في أحد لغات البرمجة مثل السى ، السى ++ التي يتم تحويلها للمترجم لكود لغة اسيمبلي و من ثم اللغة الآلة و هذه العملية بطيئة!.

الحديث عن كلفة حساب الجذر التربيعي صحيح. إلا أن الحل لا يكمن باستخدام لغة التجميع، فجميع المترجمات العصرية قادرة على توليد تعليمات فعالة، وبفرض أنها فعلاً قاصرة عن توليد تعليمات أمثلية، فإن فرق الأداء لن يكون كبيراً مقارنة مع ما يمكن أن يكتبه مبرمج بشري بيده.الحلول التي يتخذها مبرمجو الألعاب عادة هي حساب الجذر بمتغيرات ذات دقة منخفضة، أو تقريب قيمها بالسلاسل العددية (كسلسلة تايلور)، أو حتى حفظ القيم في جدول محسوب مسبقاً (بفرض أن مجال الأرقام المتوقع محدود).
طبعاً تبقى أفضل طريقة لتفادي كلفتها هي بأن تتفادى استخدامها كليةً ☺   كما نفعل عادة عند المقارنة بين المسافات المحسوبة من نقط إلى أخرى.
 
 
أتمنى أخي أحمد لو تشاركنا هاتين المقالتين في الشبكة بعد ضبطهما وتنسيقهما 😄  فهما مقالتان جميلتان برأيي وسيستفيد منهما القراء بلا شك!

وسام البهنسي
مبرمج في إنفيديا وإنفريمز