Ray Tracing « مغامرات برمجية

وسوم: Ray Tracing

مشروع: تطبيق Ray Tracing باستخدام C‎#‎ – الحلقة 3 – الظلال والانعكاسات

في الدرس السابق وصلنا إلى الصورة بعاليه. وهي صورة فيها مقدار لا بأس به من الواقعية ولكن هناك حتماً مجال للتحسين. يمكننا أن نرى من التظليل أن مصدر الضوء قادم من الأعلى، مما يعني أنه من المفترض أن يكون هناك ظل أسفل الكرتين في السطح الأخضر. وسنضيف أيضاً أحد أشهر خواص الصور المنتجة بواسطة الـray tracing وهي الانعكاسات (كما يحدث في المرايا). وكما وعدتكم سنضيف مصدر ضوئي جديد هو الـpoint light. لدينا ما يكفي لدرس جديد إذن! جهزوا أدوية الصداع وهلموا معي.

 
(اقرأ المزيد …)

Post to Twitter

مشروع: تطبيق Ray Tracing باستخدام C‎#‎ – الحلقة 2 – الإضاءة والتظليل


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

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

(اقرأ المزيد …)

Post to Twitter

مشروع: تطبيق Ray Tracing باستخدام C‎#‎ – الحلقة 1 – الأساسيات البحتة

الرسوم ثلاثية الأبعاد بواسطة الكمبيوتر هو موضوع مشوق وله شجون. لذا اخترته ليكون الموضوع الاستهلالي لتصنيف جديد في المدونة، أنوي من خلاله تقديم مشاريع كاملة “من طق طق لسلام عليكم” كمجموعة دروس تطبيقية. المشروع التالي سيكون تطبيقاً لما يسمى بالـRay Tracing باستخدام لغة C‎#‎. لماذا C‎#‎ بالذات؟ لا يوجد سبب معين. مزاجي كان ميالاً نحو C‎#‎ عندما بدأت المشروع. ولكن ما سأقدمه هنا يمكن بسهولة تطبيقه في أي لغة. الصورة بالأعلى هي نتيجة لعملية Ray Tracing باستخدام برنامجي.

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

(اقرأ المزيد …)

Post to Twitter

page 1 of 1
Project Euler
أحدث التدوينات
تصنيفات
الأرشيف
منوعات
System Down على Twitter

مرحباً , تاريخ اليوم هو الثلاثاء, 2017/02/21