سؤال

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

هناك بعض المشاريع التي وجدتها في بعض الجامعات رائعة، على الرغم من أنني مهتم في الغالب بأمرين:

  • تتبع الأشعة:
    • أريد أن أكتب Raytracer خلال العامين المقبلين.ما الذي أحتاج إلى معرفته؟أنا لست مبرمجًا رائعًا بعد (Java وC وProlog هي لغاتي الرئيسية اعتبارًا من اليوم) ولكني أتعلم ببطء كل ​​يوم.كما أن خلفيتي في الرياضيات ليست رائعة على الإطلاق، لذا فإن أي نصائح حول الكتب لقراءتها أو نصيحة حول كتابة مثل هذا البرنامج ستكون رائعة.أميل إلى التقاط هذه الأشياء بسرعة كبيرة، لذا لا تتردد في إرسال المراجع إليّ.
  • برمجة النماذج ثلاثية الأبعاد
    • لقد ألقيت نظرة على مشروعين حيث قام الطلاب بتطوير نماذج واستخدموها في الألعاب.لقد قمت بإنشاء بعض الألعاب ثنائية الأبعاد باستخدام الصور النقطية ولكنني لم أعمل مطلقًا مع النماذج ثلاثية الأبعاد.ما الذي أحتاج إلى تعلمه فيما يتعلق ببرمجة هذه النماذج؟إذا كان ذلك مفيدًا، فقد كنت معتادًا على التعامل مع 3D Studio Max وCinema4D (على الرغم من أن كل دورة تدريبية يبدو أنها تستخدم Maya)، ولكنني لم أتعامل معها منذ حوالي أربع سنوات.

آسف لنشر مثل هذه الأسئلة الغامضة، ولنكن صادقين، وغبية.إنه مجرد شيء أردت القيام به لفترة من الوقت وهو شيء سيكون جيدًا كمشروع كبير بالنسبة لي لتطويره في وقتي الخاص.

أسئلة ذات صلة

هل كانت مفيدة؟

المحلول

الكتاب "رسومات الحاسوب:المبادئ والممارسة" (المعروف في دوائر رسومات الكمبيوتر باسم "Foley-VanDam") هو الأساس لمعظم دورات رسومات الكمبيوتر، ويغطي موضوع تنفيذ تتبع الشعاع بمزيد من التفاصيل.إنه قديم تمامًا، لكنه لا يزال الأفضل، وتبقى المبادئ الأساسية كما هي.

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

بالإضافة إلى ذلك، قد تحتاج إلى بعض أساسيات OpenGL أو DirectX.من الأسهل البدء في العمل باستخدام واجهة برمجة التطبيقات ثلاثية الأبعاد، ثم تعلم العمليات الحسابية الأساسية بدلاً من العكس (في رأيي)، ولكن كلا الخيارين ممكنان.ما عليك سوى البحث عن OpenGL على SO وستجد بعض المراجع الجيدة أيضًا.

نصائح أخرى

يمكنني أن أوصي com.pbrt, ، إنه كتاب وعارض مادي يستخدم لتعليم خريجي علوم الكمبيوتر.وصف الرياضيات المستخدمة جميل وواضح، وبما أنه مكتوب في "البرمجة المتعلمة" يمكنك رؤية الكود المناسب (في C++) أيضًا.

ال 2000 مسابقة البرمجة ICFP طلب من المشاركين بناء جهاز تتبع للأشعة في ثلاثة أيام.لديهم مواصفات جيدة لتتبع الأشعة البسيط، ويمكنك الحصول على رمز للإدخالات الفائزة وبعض الإدخالات الأخرى أيضًا.كانت هناك إدخالات في عدد كبير من لغات البرمجة المختلفة.قد تكون هذه طريقة لطيفة بالنسبة لك للبدء.

أقصر إجابة مفيدة يمكنني تقديمها هي أنه يمكن العثور على معظم الخوارزميات المهمة فيها العرض في الوقت الحقيقي بقلم توماس أكينين مولر، وإريك هاينز، وناتي هوفمان، وتحتوي قائمة المراجع في النهاية على إشارات إلى الرياضيات الضرورية.يحتوي موقع الويب الخاص بهم أيضًا على قائمة قراءة موصى بها.

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

لقد أخذت مثل هذا الفصل في العام الماضي، وأعتقد أن الفصل كان رائعًا لإجبار الطلاب على تعلم الرياضيات وراء رسومات الكمبيوتر - وليس فقط الأوامر التي تجعل الكمبيوتر يفعل ما تريد.

أستاذي لديه موقع يقع هنا ويحتوي على ملاحظات محاضراته ومجموعات المشكلات التي يمكنك إلقاء نظرة عليها.

كان مشروعنا الأخير عبارة عن جهاز تتبع الأشعة، ولكن بمجرد أن تعرف الرياضيات التي تقف وراءه، فإن البرمجة (غير الفعالة) تصبح تافهة.

للحصول على مقدمة رياضية في هذه المواضيع، انظر

http://graphics.idav.ucdavis.edu/education/GraphicsNotes/homepage.html

يفحص http://www.scratchapixel.com/lessons/3d-basic-lessons/lesson-1-writing-a-simple-raytracer/

يعد هذا مكانًا جيدًا جدًا للتعرف على تتبع الأشعة وعرضها بشكل عام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top