السلام عليكم . الموضوع باختصار هو محاولة فهم عمل المكتبة الفيزيائية Tokamak . أضفت هذا الموضوع بناءً على هذا السؤال . http://www.arabteam2...howtopic=106791 الموضوع لن يكون دروس تلقينية كما هي العادة .. سأطرح أمثلة .. وأضيف عليها تعليقات .. وأضيف عليها تساؤلات .. يعني ستحتاج أن تبذل جهد لكي تستخلض المعلومة .. أيضا .. أي شخص يستطيع الاستفادة من هذا الموضوع .. سواءً محبي OpenGL او Directx او vb او python ... وأي لغة تحتوي على جرافكس . ---- مقدمة : لماذا Tokamak ؟ هذا أول سؤال يمكن طرحه .. لماذا اخترت هذه المكتبة الفيزيائية من أصل عشرات المكتبات . الجواب ستعرفه بعد أن تقرأ هذه القصة المملة : قمت بتحميل عدة مكتبات .. منها : Novodex : من أروع المكتبات الموجودة .. كنت أنوي بالفعل تعلمها ,, ميزتها كثرة الامثلة وقوة الhelp في الموقع . لكن بعد ان قامت الشركة ageia بشراء هذه المكتبة .. أصدرت اصدار جديد لا يقل روعة . لكن المشكلة ان الاصدار الجديد .. كل الامثلة عليه هو من اصدار سابق ,, فحصل عندي fatal error في رأسي . ومشاكل لاتعد ولاتحصى من صعوبة التثبيت الى تشابك الامثلة . المهم عرفت في النهاية أن حجم هذه المكتبة أكبر من حجمي .. وتركتها . ODE - OPAL : هما مكتباتان متشابهتان .. احدها مبنية على الاخرى( OPAL مبنية على ODE ) . كنت أطمح بالفعل لاتقان هاتين المكتبتين .. قلبت الدنيا فوق تحت لاجد مثال واحد فقط ... لم اجد ؟؟ فتركتهما . Tokamak : مكتبة ليست بحجم المكتبات الاخرى .. لكنها تعتبر سهلة وعملية بنفس الوقت . استطعت أن أفهم أول مثال يتكلم عنها ... وبمجرد أن تعلمت أول مثال ... اكتشفت أني فهمت عمل : مكتبة ODE + OPAL + Tokamak . بالتالي سأعرض لكم الطريقة التي من خلالها استطعت أن أفهم طريقة عمل المكتبات الفيزيائية . لو فهمتوا هذه الطريقة ستجدون أنكم قادرون على التعامل مع أي مكتبة فيزيائية . أولا لمبرمجي لغة السي ,,, حمل الSDK للTokamak من خلال هذا الموقع .. ولايحتاج أن تحمل الامثلة فهي معقدة للغاية . http://www.tokamakphysics.com/ ثانيا مصادر التعلم : http://www.adamdawes.com/programming/tokam..._Framework.html هذه أفضل الدروس على الاطلاق .. وتعلمت مفهوم عمل المكتبة من خلاله . الدروس على dx ولكنه مفيد للجميع . وهذا ... فيه أمثلة للمكتبة للopengl و dx .. هنا opengl سوف تجد مثالين حملهم . http://www.codesampl...c/oglsrc_13.htm وهنا للdx ستجد الامثلة في القائمة ايضا . http://www.codesampler.com/dx9src/ هنا أمثلة على opengl امثلة جيدة . http://www.codecolony.de/Tokamak/ http://aaocos.free.f...tokamak_src.rar أما لمبرمجي الvb : : فأذكر أني وجدت أمثلة خاصة للفيبي .. أعدت البحث الان في قووقل ولكن لم اجدها .. سأبحث في جهازي لعلي لم أحذفها . --------------------------- تثبيت المكتبة لمبرمجي السي : التثبيت سهل .. يوجد ملفات header انسخها لمجلد الinclude او اربطها من خلال المترجم .. وكذلك كلفات الlib . وملفات الdll انسخها الى system32 . ----------------------------------- الان لنبدأ بالتعرف على المكتبة ... المكتبة تستعمل أنواع من المتغيرات خاصة بها .. أهم الانواع هي كالتالي
typedef unsigned int u32;typedef float f32;typedef double f64;
neV3 Pos; Pos.Set( x , y , z );
struct neV3{public: union { f32 v[4]; struct nTag { f32 X,Y,Z,W; }n; };..}