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

س و ج في برمجة الالعاب

مغلق
بدأه احمد صالح في 25 مارس 2007 · 9 رد · 7,277 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

س : مجموعو الاكواد التي تشمل الادخال Input و تحميل الرسومات و رسمها علي الشاشة و تنفيذ النصوص Scripts و تشغيل مجموعة من ملفات الصوتيات و تنفيذ ذكاء صناعي مجمعة تُسمي ؟

ج : محرك اللعبة

س : عملية نقل المجسمات و رسمها علي الشاشة تُسمي ؟

ج : عملية الرندر Rendering ( التصيير)

س : الاسم الشائع التي تستخدمه برامج الرسومات 3d للمجسمات يُسمي ؟

ج : عادة ما تجد Mesh - Object مجسم شبكي

س : كل مضلع polygon في المجسم Mesh يُسمي ؟

ج : وجه Face

س: ما هي الرسمة الثنائية الابعاد التي تقوم بتلبيسها للمجسم علي اوجهه لتعطي مظهر جمالي ؟

ج : الخامة Texture

س: موقع المحاور الثلاثة في الثلاثة ابعاد 3D هو ؟

ج : نقطة الاصل Origin

س: ما هي محاور شاشة الحاسب ؟

ج : السيني X من اعلي نقطة علي اليسار لليمين و الصادي من فوق لتحت .

س: هناك نوعان لتحديد نوعية الاحادثيات في الثلاثة ابعاد ما هما ؟

ج : نظام اليد اليمني Right Hand و نظام اليد اليسري Left Handed ، الدايركت اكس يستخدم Left Handed بمعني ان المحور Z الموجب له يكون في عمق الشاشة .

س : اكتب هيكل structure بلغة السي لتمثيل نقطة علي الشاشة ؟

struct 3DPoint
{
float x;
float y;
float z;
};

س : اذكر انواع المواضع التي يتحول لها المجسمات في برمجة الالعاب ؟

ج : 1 . فضاء النموذج Model Space و هو مركز المجسم 2. فضاء العالم World Space وهو الفضاء الذي يكون فيه المجسم تحول من فضائه الذي كان به في برنامج الرسم Model Space الي العالم في لعبتك .

س: ما هو هيكل البيانات المستخدم في مكتبات الدايركت اكس و OpenGL لتمثيل النقاط مع وضع معلومات اخري لها ؟

ج : هو النقطة Vertex و الجمع Vertices

س: اكتب كائن Class لتمثيل نقطة ؟

ج :

class CVertex{
public:
CVertex(float fx, float fy, float fz);
CVertex();
float x;
float y;
float z;
};

س: ما هو الاسلوب الذي يحذف المضلعات التي لا يراها المبرمج ؟

ج : اسمه حذف الوجه الخلفي BackFace Culling

س: ما هو الاسلوب المستخدم لجعل النقط تُرسم في اتجاه معين حتي يجعل رسم الخطوط بين النقط في رسم المضلعات في ترتيب صحيح ؟

ج : ترتيب اللف Winding Order

س: ما هو نوعية اللف التي يستخدمها الدايركت اكس في رسم النقاط ؟

ج : مع عقارب الساعة Clockwise -- اي جميع النقط تُرسم في اتجاه عقارب الساعة <---

س: عملية تحويل المجسم من فضائة الي فضاء العالم ( سواء لعبة او برنامج محاكاة ) هي ؟

ج : هي عملية نقل المحاور Transformation

س: عملية رسم مجسم عدة مرات في الثانية هذه الوحدة تُسمي ؟

ج : التردد :P لالا تسمي Frame Rate معدل رسم الاطارات

س: اذكر معادلات الدوران لنقطة في بعدين بدون استخدام المصفوفات

ج :

NewX = OldX x cos(theta) - OldY x sin(theta)
NewY = OldX x sin(theta) + OldY x cos(theta)

س: ما هي الوحدة المستخدمة في معيار الدوران ؟

ج : الوحدة هي Radian مقدرة بالتقدير الدائري

س: كم وحدة Radian لعمل دائرة كاملة ؟

هي 2ط ، حيث ط تساوي 180 درجة .

س: اكتب ميكرو بلغة السي للتحويل من التقدير الستيني للتقدير الدائري

#define DegToRad( x ) ( x * ( pi/180 ) )

س: اذكر النقطة تدور حولين اي محور بعد تطبيق هذه المعادلات عليها

NewX = OldX x cos(theta) - OldY x sin(theta)
NewY = OldX x sin(theta) + OldY x cos(theta)

ج : تدور حول المحور Z

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

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

#2

ممتاز ,, أتمنى بعد فترة أن تثبت الموضوع .. فهذا ما نحتاجه .

تم تعديل هذه المشاركة بواسطة الشمري في 25 مارس 2007 في 09:32

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#3

س: ما هو نظام الاحداثيات الذي فيه تنتقل جميع النقط الموجودة في فضاء العالم World Space إليه ؟

ج : فضاء الكاميرا

س: ما هو التاثير الناتج عن تحرك الكاميرا إلي اليسار ؟

ج : يتحرك ما في عالم اللعبة كله الي اليمين ، و هذا هو تأثير الكاميرا .

س:اكتب كائن لتعريف كاميرا

ج :

class Ccamera
{
public:
float PositionX;
float PositionY;
float PositionZ;
float RotationX;
float RotationY;
float RotationZ;
};

س: ما هو المصطلح الذي يدل علي تحرك الاشياء البعيده كونها صغيره ؟

ج : المنظور Perspective

س: اكتب معادلات الاسقاط المنظوري لنقطة في بعدين

ج:

Xp = x/z and Yp = y/z

س: نقل محاور مسقط نقطه في بعدين الي شاشة الحاسب يُسمي ؟

ج :تخريط الشاشة Screen Space Mapping

س: صف خطوات نقل محاور مسقط نقطه ( مسقط منظوري) علي الشاشة ؟

ج:

screenX = projVertex.x * screenWidth/2 + screenWidth/2;
screenY = -projVertex.y * screenHeight/2 + screenHeight/2;
// محور س للنقطة علي الشاشة = محور س للنقطة المسقوطه في عرض الشاشة مقسوم علي 2 مضاف عليهم عرض الشاشة علي 2

س: الان ما هي اهم التحويلات مع الترتيب في تحويل فضاء لمجسم علي شاشة الحاسب ؟

1. تحويلة العالم 2. تحويلة الكاميرا 3 . تحويلة الاسقاط المنظوري 4. تحويلة الرسم علي شاشة الحاسب

س: اكتب كائن لتعريف متجه Vector

ج:

[class Vector
{
public:
float x;
float y;
float z;
};

س: المتجه دائماً نقطة صح ام خطأ ؟

ج: خطأ ، النقطة دائما متجه مثال ( الموضعposition ) و لكن المتجه ليس دائما نقطة علي سبيل المثال ( السرعة) .

س: اكتب صفات المتجهات

ج: المتجه دائما يعرف بمعياره و اتجاهه

س: ما هي عملية التعيير Normalization ؟

ج : هي عملية تحويل متجه ليس وحده ، الي متجه الوحدة Unit Vector .

س: ما هو متجه الوحدة Unit Vector ؟

ج : هو متجه معياره 1

س: اكتب استخدامين لمتجهات الوحدة ؟

ج: تحريك المجسمات Object Movement و تحديد وجوه المضلعات او ماذا تواجه Polygon Facing .

*** ملحوظة العمليات الرياضية علي المتجهات متروكة للقارىء ، لقد نوهت عن اهم النقطة التي لها علاقة ببرمجة الالعاب ***

س: ما هو المتجه الذي يحدد موضع المستوي في الفراغ ؟

ج : المتجه العمودي علي المستوي Plane Normal

س:اكتب كائن لتعريف مستوي Plane

ج:

class CPlane
{
public:
CVector PlaneNormal;
float DistanceToPlane;
};

س: بفرض المصفوفة M ستحول نقطة X,Y ، نوعية التحويل هي الدوران طبقاً للمعادلات التي ذكرتها من قبل لدوران نقطة اكتب المصفوفة M

ج:

M =  | cos (theta )	sin(theta)  |
		| - sin(theta)  cos (theta)   |

س: كيف تقوم بعرض مصفوفة لها 1 × 4 [x y z w ] في فضاء ثلاثي الابعاد ؟

ج :تقوم بقسمة كل مركبة X,Y,Z علي الاحادثي W و هو دائما بقيمة واحد .

س: ما هو اسم المتجة الذي لها اربع مركبات جبرية X,Y,Z,W الذي يتم عرضه في ثلاثة ابعاد ؟

ج : المتجهات المتجانسه Homogenous Coordinate (( هناك ايضا المعادلات المتجانسه التي تجدها غالبا في المعادلات التفاضلية ))

س: ما هو معني تجنيس مركب له 4 مركبات ؟

ج : اي تقسم كل مركبه علي الاحداثي W . لاحظ فائدة استخدام W ، في عمليات الحذف Clipping ستجد له اهميه و في عدم إحداث عملية القسمة علي صفر الغير معرفه .

تم تعديل هذه المشاركة بواسطة احمد صالح في 25 مارس 2007 في 17:00

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

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

#4

^^.... فكره جميلة وأرجو أن تكتمل &&

س : كل مضلع polygon في المجسم Mesh يُسمي ؟
ج : وجه Face

تصحيح خطأ .... البوليجون ليس الفايس Face... الفايس هى إحدى مكونات البوليجون Polygon ....

البوليجون Polygon يتكون من الفايس Face والإيدجEdge والفيرتيكس Vertex

#5

اولاً : تقول انك مبتدىء و قمت بعتابنا و المنتدي علي عدم الاهتمام بالمواضيع و انت الان تقوم بالرد يعني لديك المعرفه ...

ثانياً : لا يوجد خطأ

http://en.wikipedia.org/wiki/Polygon

http://en.wikipedia.org/wiki/Polygon_mesh

تعريف المضلع .

السؤال : كل مضلع في المجسم الشبكي يسمي ؟ وجه Face

ستجد في الصفحة ان المثلث هو مضلع و هناك الكثير من المضلعات و بما ان المثلث هو الركيزه الاساسية في رسم المجسمات الشبكية ، فهو من المضلعات الاساسية في الرسمة و ((((نشير))) له بوجه Face في المسجم الشبكي و عادة ما يذكر :: كم وجه في هذا المجسم الشبكي ...

تم تعديل هذه المشاركة بواسطة احمد صالح في 25 مارس 2007 في 19:50

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

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

#6

-waf

B) تابع

We neeeeeeeeeeed Mooooooooooooooooooooooooooooore

:rolleyes: Please

' و على الله فليتوكل المؤمنون '

* فريق الجرافيك الحاسوبي العربي الإسلامي * the Arabic-Islamic Computer Graphics - A I C G

イスラム教は平和を意味する

이슬람교는 평화를 의미한다

Ислам означает мир

#7

س: ما هو اسم طبقة السوفت وير المرتطبة بالعتاد او الهاردوير ؟

ج : تعريف الكارت او Device Driver

س: ما هو اسم الطبقة المرتبط بها الدايركت اكس في تعريف الكارت ؟

ج : طبقة العتاد المجردة Hardware Abstraction Layer - HAL

س : ما معني T&L ?

ج : اي نقل المحاور و الاضاءة Transformation & Lighting

س: عندما تستخد طبقة العتاد افتراضية Hardware emulation Layer اين تتم عملية نقل المحاور و الاضاء و رسم المضلعات علي الشاشة ؟

ج : يقوم المعالج الرئيسي بالقيام بهذه العمليات و عادة يسمي نوعية هذا الرسم Software Rasterizer .

*** افضل كتاب لفهم خورازميات الرسم بالحاسب باستخدام الرسم بالمعالج الرئيسي او Software Rendering هو لاستاذي :

Tricks of the 3D Game Programming Gurus - Andre LaMothe

إن كان في وقت ، ساتطرق الرسم بالحاسب و لكن في قسم الميكروكنترول في المنتدي و كيفيه صنع اجهزة console .

س: ما هي الخطوة التي يجب تنفيذها قبل استخدام ملامح كارت الشاشة الذي لديك ؟

ج: عملية التجهيز Initializ/sation .

** قد تلاحظ في اغلب الدروس انها تبدأ بكيفيه اعداد الدايركت اكس للتعامل مع كارت الشاشة

س: ما هي الكائنات التي يُطلق عليها مركبات سوفتير ؟

ج: مركبات COM - Components object model

س:ما هي الخطوات التي يجب إتباعها قبل استخدام وظائف الكائنات COM ؟

ج : عملية التجهيز Initializ/stion

س:صح ام خطأ ، هل مركبات COM تعتمد علي لغة السي ++ فقط للربط بها ؟

ج : خطأ

للاستزاده : نرجوا قراءة كتاب C++ Unleashed للتعرف علي COM و كيفية إستخدام هذه التكنولوجيا في بناء برامج و كيف يعتمد عليها الدايركت اكس .

س: ما هي الملفات التي يجب ان تقوم بدمجها في كودك لضم واجهات COM - Interfaces التي ستخدمها الدايركت اكس في التواصل مع العتاد ؟

ج : d3d9.h

س: ما معني المصطلح GUID ?

التوصيفات الفريدة و هي عبارة عن ID للواجهات المستخدمة مثل واجهه IDirect3D او IDirectInput او IDirectSound .

س: كم بت او بايت مكون منها هذا الID ?

128 بت ، اي 16 بايت ( اي 16 حرف ) .

س:ما هي الاداءة التي يمكن استخدامها و في توليد هذه الحروف ?

ج : GUIDGEN.exe

س: اكتب الكود اللازم لبدء استخدام واجهة الدايركت اكس ؟

ج :

LPDIRECT3D9 pD3D;
pD3D = Direct3DCreate9( D3D_SDK_VERSION);

لاحظ ان LP هي اختصار Long Pointer اي مؤشر من نوع long ، و لاحظ وجود ثابت يحدد رقم اصدار الدايركت اكس .

س: كارت الشاشة Device هو عبارة عن ............ آلة التي يمكن التحكم بها باستخدام دوال عضوية Memeber Functions ?

آلة محدده State Machine اي آلة لها عدد من الحالات States ، لاحظ استخدام هذا المصطلح في علوم الكومبيوتر و صناعة الروبتات و يجب البحث عنه في كتب الرياضات المجردة Discreet Maths ، لانه يستخدم بكثره و له استخدامات عديدة في برمجة الالعاب في تحديد مثلا حالات اللعبة ، بان تقوم بكتاب State Machine Code و مثلا مُستخدم في الذكاء الصناعي ، و استخدمته ايضا في صناعة روبتات في توظيفه ..

س: ضع مثال علي الية الكارت ؟

ج : الدالة IDirect3DDevice9::SetRenderState

س: استخدام كارت الشاشة للتحكم بنقل المحاور و الاضاءة يُشار اليه باسم ؟

ج: Fixed Function Pipeline ، ماسورة العمليات التي لها وظيفة ثابته

س: ما هي الShaders ?

ج : المظلالات تعطي المطور بكتاب كود قصير لنقل محاور و اضاءة نقاط المجسمات و تلوين البكسل بدلا من استخدام مساورة ثابتة الوظيفة .

س: ما اسم ماسورة العمليات PipeLine التي تستخدم المظلالات ؟

ج: الماسورة الغير ثابتة او القابلة للبرمجة Programmable Pipeline

* لاحظ اننا قمنا بكتابة اسئلة عن ماسورة العمليات و عمليات التحويل التي يجب ان يخضع لها اي موديل تُحب ان ترسمه علي شاشة الحاسب .

س: للمراجعة ، اكتب كود باستخدام الدايركت اكس يقوم بإعطاء امر لكارت العرض بوضع مصفوفة اسقاط Projection Matrix ؟

m_pD3DDevice->SetTransform(D3DTS_PROJECTION, &m_mtxProjection);

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

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

#8

وفقك الله

و كن فتى في ذرى العلياء همّته

يسمو بغاياته حتى على زحل

موقع خاص بي

My Website

قمت بتصميم لعبة بسيطة بإستخدام اللغة الجميلة الجافا

Plane Fighter Game

برنامج جميل بلغة الجافا يساعد على تنظيم المشاكل

The TS Organizer

#9

السلام عليكم

بارك الله فيك اسئلة و اجوبة مفيدة جدا لكل مبرمجي الالعاب

تحياتي

#10

اخوي معلومة صغيرة بس :

فيزيائيا، الـ speed غير عن الـ velocity

speed اهو السرعة بشكل عام

اما الـ velocity اهو السرعة المتجهة :)

ما قصرت على الموضوع و مشكور :)

:::كوت بو 6:::

IDE : Microsoft Visual Studio 2005 Pro

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

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