أبريل « 2012 « مغامرات برمجية

الأرشيف: أبريل 2012

مشروع: تطبيق 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

المزيد من الكورسات المجانية على الويب

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

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

Post to Twitter

لماذا أكره Java و ‎C‎+‎+‎ و ‎C‎#‎ (كلغات تعليمية)

يبدو أن مقالات “أنا أكره” ستصبح روتيناً جديداً هنا! ما علينا. أولاً دعوني أوضح ماذا أقصد بلغات تعليمية. ما أقصده هي اللغات التي تستخدم (عادةً في المنشآت الأكاديمية) لتعليم مبادئ البرمجة. 90% من طلاب الجامعة الذين يدخلون أقسام الحاسب لم يبرمجوا سطراً في حياتهم من قبل. ومواد مثل “مبادئ برمجة 101″ و مستنسخاتها هي المقدمة التي تستخدمها المنشأة الدراسية لإعطائهم بصيص ضوء إلى عالم البرمجة.

رغم أنني تركت مقاعد الدراسة منذ أيام كان رجال الكهف يصارعون الديناصورات من أجل حفنة دراهم، إلا أنني أحب من وقت لآخر متابعة ما يجري في الجامعات وتطور التعليم الحاسوبي بها. وهناك توجه مقلق نحو اعتماد لغات Java و ‎C‎+‎+‎ و ‎C‎#‎ كلغات تعليمية. أنا لا أنقص من قدر هذه اللغات الجليلة والمخضرمة، ولكنني أسلط الضوء على ما أراه غير مناسباً لها.

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

Post to Twitter

لماذا أنا أكره الـStored Procedures

نّشر في: 2012/04/01
تعليقات: 11 تعليق

أنا أعرف أن عنوان المدونة يبدو كنوع من الهرطقة أو التجديف، بالذات لنا نحن مبرمجي تطبيقات الأعمال الذي تم ترسيخ فكرة أن الـstored procedures بأهمية الماء للعطشان في عقولنا من خلال مئات الدروس والدورات والمؤتمرات. قد يراود البعض الشك في أن هذا العنوان هو مجرد أسلوب رخيص لجذب الانتباه، على طريقة الصحافة الصفراء والمنتديات الوردية. ولكنني هنا لأؤكد لكم أنني، كمبرمج تطبيقات له عشرة سنوات في هذا المجال وبكامل قواه العقلية والجسدية والبرمجية، أكره الـstored procedures كره العمى وأتجنب استخدامها. ولب هذه المدونة هي حججي وبراهيني. وأرحب بجميع الانتقادات والتعليقات.

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

Post to Twitter

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

مرحباً , تاريخ اليوم هو الخميس, 2017/03/23