3D Computer Graphics and Animation - Lecture 6
- الشابتر ده بيتكلم عن
3D Computer GraphicsوAnimation. - هنفهم إزاي الـ 3D scenes بتتحول لـ 2D images، الفرق بين shading techniques زي
GouraudوPhong، وبعدها ندخل علىRay TracingوTexture Mappingو3D Modeling. - في الآخر هنتكلم عن
Animationوأنواعها ومبادئها الأساسية.
1) Concepts of 3D Computer Graphics
What is Three-Dimensional?
-
الـ 2D كان آخره طول وعرض, الـ 3D بيزود عليهم بعد التالت وهو العمق (Depth). بنعمل كده عشان نقلد العالم الحقيقي زي مابنشوفه بالظبط.
-
أي مشهد (3D Scene)، بيتكون من شوية حاجات أساسية:
| الـ Component | التعريف | الشرح بالمصري |
|---|---|---|
| Geometric Models | Define the shapes of objects |
النماذج الهندسية نفسها اللي موجوده في المشهد، زي الـ Sphere والـ Cone والـ Cube الي في الصوره. |
| Materials and Surface Properties | Describe how objects interact with light |
الخامات وخصائص الأسطح اللي بتغطي الموديل, وبتحدد الجسم هيتعامل مع الضوء إزاي هل لامع ولا مطفي؟ بيعكس الضوء ولا بيمتصه؟ |
| Light Sources | Illuminate the scene |
مصادر الإضاءة اللي بتنور المشهد وبتأثر على شكل الظلال والألوان والإضاءة. |
| Virtual Camera | Determines how the scene is viewed |
الكاميرا التخيلية اللي بتحدد إحنا هنشوف المشهد من انهي زاوية |

- في الـ 3D، إحنا بنخزن بيانات للأجسام دي في الكمبيوتر، وبنعمل عليها حسابات زي:
- ا Transformations (زي النقل والدوران)
- ا Lighting (الإضاءة)
- ا Shading (التظليل)
- النتيجة النهائية بتكون
2D Imageتتعرض على الشاشة، إما real-time أو pre-rendered.
From a 3D Scene to a 2D Image
- بالرغم من إننا عايشين في عالم 3D، بس الشاشات بتاعتنا مسطحة (2D). فبقي هدف الـ 3D graphics هو إنتاج صور 2D بتعبر عن العالم الـ 3D ده.
A model of a 3D scene is first constructed using geometric shapes, then transformed and projected onto a 2D viewing surface through a process known as Projection.
- الاول بنكون الـ 3D باشكال هندسية وبعدها بنحوله لـ 2D, العملية دي بنسميها الإسقاط (Projection).
Geometry and Raster Techniques in 3D Graphics
-
الـ 3D فكرته أقرب للـ Vector graphics، لأننا بنوصف المشهد باستخدام أشكال هندسية بدائية (Geometric primitives) زي النقط، الخطوط، المضلعات (Polygons)، والأسطح، مش مجرد بيكسلات مرصوصة زي الـ Raster.
-
بس ده مش معناه إننا مبنستخدمش الـ Raster خالص. ساعات بنجيب صورة 2D (راستر) ونلزقها على سطح الجسم الـ 3D عشان نديله تفاصيل واقعية.
- الصورة اللي بنستخدمها دي بنسميها Texture (خامة).
- والعملية دي نفسها بنسميها Texture mapping.
-
المكتبات البرمجية والـ APIs زي OpenGL بتدعم الطريقتين، بس تركيزنا الأساسي بيكون على التعامل مع الـ Geometry.
2) Object Rendering
Rendering is the process of producing a 2D image from a 3D scene description.
- الـ Rendering مصطلح بنسمعه كتير في الالعاب , دي العملية اللي بناخد فيها الفايل بتاع المشهد (اللي فيه الـ
geometry، الـviewpoints، الـtextures،الإضاءة، والـshading) وندخله على برنامج عشان يطلعلنا صورة ديجيتال نهائية. - عشان العملية دي تقيلة جدا وفيها حسابات معقدة زي الـ Rendering equation، بنعتمد على كارت الشاشة (الـ GPU) عشان يساعد المعالج (الـ CPU) ويسرع العملية دي في حاجة اسمها الـ Graphics pipeline.
- عشان الصورة تطلع واقعية وشكلها حقيقي تحت الإضاءة الافتراضية اللي إنت حاططها، السوفتوير بيحل معادلة رياضية اسمها الـ Rendering equation. دي اللي بتظبط شكل الإضاءة عشان تطلع مظبوطة.
خطوات رسم الأجسام:
- في الأول الأجسام بتترسم في وضعية الـ Wireframe mode (كأنها مجسمات معمولة من سلك، بنشوف الحواف Edges بس).
- بعدين بنطبق حاجة اسمها Hidden line removal، ودي بتشيل الخطوط اللي المفروض تكون مستخبية ورا أسطح الجسم، عشان يبان كأنه جسم صلب.
- بعد كده بنطبق التظليل عشان نحسن إدراكنا للشكل والعمق.

3) Shading
Shading is used to depict depth in 3D models by varying levels of brightness.
- الـ Shading ده هو التظليل اللي بيدي للـ 3D موديل بتاعنا عمق عشان تحس إنه مجسم حقيقي مش مجرد شكل مسطح، وده بنعمله عن طريق إننا بنغير درجات الإضاءة في الموديل.
- في التقنيات الحديثة، shade بيتطبق ديجيتال.
- من تقنيات shading في الرسم التقليدي:
Cross-Hatching.- خطوط متعامده (perpendicular) بكثافة مختلفة.
- الخطوط المتقاربة = أغمق.
- الخطوط المتباعدة = أفتح.
- الـ shading بيعتمد كمان على الـ lighting.
- الـ rendering غالبا بيستخدم اكتر من مصدر ضوء عشان يطلع شكل واقعي.

Shading Techniques for Object Rendering
- أي مجسم مدور بيبقي عباره عن حتت مسطحة صغيرة (Tiny flat surfaces) مرصوصة جنب بعض
- الكمبيوتر بيحسب التظليل لكل حتة لوحدها حسب النور جاي منين.
- وعشان الشكل ميطلعش مضلع ومكسر زي الشكل ده :
-
بنستخدم تقنيات تنعم الأسطح دي وتخليها تبان مدورة وطبيعية:
-
ا Gouraud shading:
- التقنية دي بتنعم شكل الجسم عن طريق إنها بتعمل عملية حسابية اسمها Interpolating (تدرج للتظليل)، فبتخفي شكل المربعات أو الأسطح الفردية دي، والمجسم بيبان ناعم ومفيش فيه حتت مكسرة .
-
ا Phong shading:
- اللمعان (Highlights): التقنية دي بتدي للمجسم لمعة واقعية بتعتمد على درجة لمعانه (Shininess) وزاوية نظرتك ليه (Viewing angle)، فبتبين الأماكن الناعمة اللي بتعكس النور وسط الأسطح المطفية (Matte أو Diffuse).
- الشفافية (Transparency): بتقدر تخلي الموديل شفاف زي الإزاز، النور يعدي منه وفي نفس الوقت السطح من بره يعكس الإضاءة.
- ا Flat Shading: لون/إضاءة واحدة لكل Polygon , الشكل يبان مكسر (Faceted).
- ا Gouraud Shading: بيحسب الإضاءة ويعمل Interpolation للـ surfaces , يخفي حدود المضلعات ويخلي الشكل أنعم (كأن فيه Gradient effect).
- ا Phong Shading: بتدي الجسم
Highlights,Transparency, وبتدي شكل واقعي اكتر.
How Shading Alters Colors
التظليل بيغير ألوان الأسطح بناء على زاويتها بالنسبة لمصدر النور، خلينا نقارن التطور بتاعها:
| lحالة الموديل | الشرح |
|---|---|
| (1) Uniform color with edge lines | الموديل بياخد لون واحد ثابت لكل الأوجه، وبنعتمد بس على خطوط الحواف عشان نفصل الأوجه عن بعضها. |
| (2) Same model without edge lines | لو شيلنا خطوط الحواف من الموديل اللي فوق، هيبقى صعب جداً إنك تفرق بين الأوجه بتاعته. |
| (3) Shaded model | هنا بقى بنستخدم التظليل ونغير لون كل وجه حسب زاويته للضوء، فالموديل بيبان واقعي (Realistic) وتقدر تميز تفاصيله بسهولة جداً. |

4) Ray Tracing
Ray tracing generates images by tracing light paths through pixels on an image plane.
- الـ Ray Tracing تقنية بتطلع صور واقعية كأنها متصورة بكاميرا (
Photorealistic)، وجودتها عالية جدا. - بس المشكلة إنها بتسحب موارد كتير جدا وحساباتها معقدة (
Greater computational cost).
produces highly photorealistic images, often exceeding the quality of typical scanline methods, but with greater computational cost.
- الفكرة بتاعتها ببساطة إنها:
- بتتتبع مسار شعاع النور من الكاميرا (Camera)، مرورا بكل بيكسل في شاشة العرض (Image Plane).
- ويفضل ماشي كـ شعاع رؤية (View Ray) لحد ما يخبط في أي مجسم في المشهد (Scene Object).
- ولما يخبط، بيطلع منه شعاع ضل (Shadow Ray) يروح لمصدر النور (Light Source) عشان يحسب الإضاءة والضل والانعكاسات بدقة عالية.
5) Texture Mapping
Texture mapping adds detail, surface patterns, or color to 3D models.
-
دي العملية اللي بنضيف بيها تفاصيل، نقوش، أو ألوان للموديل الـ 3D بتاعنا. عاملة بالظبط زي ما تجيب ورقة هدايا منقوشة وتغلف بيها كوره مثلا. وممكن كمان نحط أكتر من Texture على نفس السطح ودي حركة بنسميها Multitexturing.
-
ده شكل الاوبجكت من غير Textures:
-
ده بعد ما ضفناله Textures:
Common Methods
| المصطلح | التعريف | الشرح بالمصري |
|---|---|---|
| Procedural Textures | Generated algorithmically |
خامات بتتعمل بمعادلات رياضية وخوارزميات، من غير ما نستخدم صورة حقيقية. |
| Bitmap Textures | Imported images or photographs |
صور جاهزة بنعملها Import ونستخدمها كخامة، زي صور الخشب والطوب والقماش. |
| UV Mapping | Manual placement of textures on polygonal surfaces NURBS Uses intrinsic surface parameter |
ده بنظبطه يدوي للصور على الأسطح المضلعة (Polygonal surfaces) بتاعة الموديل. وفي أسطح تانية متقدمة اسمها NURBS دي بتستخدم بارامترز داخلية بتاعتها عشان توزع الـ Texture بشكل طبيعي. |
Special Mapping Cases
- لما بنيجي نلزق صورة 2D (اللي هي الـ Texture) على مجسم 3D مدور، غصب عننا بيحصل تشوهات في شكل الصورة عشان تتطبع على السطح ده.
Spherical mapping distorts the image by compressing the poles into pie-wedges and stretching the equator, whereas Cylindrical mapping shares the same pole distortion but leaves the equator perfectly unstretched.
- الـ Spherical mapping بيعمل
distort(تشوه) في الـ Poles على شكل مثلثات وstretchللـ Equator، إنما الـ Cylindrical mapping بيعملdistortللـ Poles برضه بس بيسيب الـ Equator سليم من غير أيstretch.
6) 3D Modeling
3D modeling is the creation of a mathematical or wireframe representation of a three-dimensional object using specialized software.
- هو إنك تبني المجسم نفسه جوه السوفتوير، كأنك بتنحت بس ديجيتال، وبنعمله تمثيل رياضي أو شبكي (Wireframe). الموديلز دي ممكن تتعمل أوتوماتيك أو بشكل يدوي زي النحت.
Techniques
| المصطلح | التعريف | الشرح |
|---|---|---|
| NURBS Curves | Smooth, precise surfaces |
بنستخدمها عشان نعمل منحنيات وأسطح ناعمة ودقيقة، من غير ما تبان متكسرة أو مضلعة. |
| Polygonal Mesh Modeling | Manipulating faceted geometry |
بنبني ونعدل المجسم عن طريق التحكم في الـ Vertices والـ Edges والـ Faces بتوع المضلعات. |
| Subdivision Meshes | Tessellated polygons for smooth surfaces |
بنقسم المضلعات الكبيرة لمضلعات أصغر وأكتر، فالشكل يبان أنعم وأقرب للأسطح المنحنية. |
Applications:
- الموديلز دي ممكن تترندر كصور 2D, بتستخدم في الـ Simulations , الـ Animation, الـ 3D printing.
7) 3D Projection
3D projection maps three-dimensional points onto a 2D plane.
- ده ببساطة هو الإسقاط، يعني إزاي نعرض نقط المجسم الـ 3D بتاعنا على شاشة مسطحة 2D. بيستخدم كتير جدا في الجرافيكس، الهندسة، والتصميم.
8) 3D Scanners
A 3D scanner captures real-world objects or environments to create digital 3D models.
- ده جهاز بياخد نسخة من العالم الحقيقي ويدخله للكمبيوتر. بيصور المجسمات الحقيقية ويطلعلنا حاجة اسمها Point cloud (سحابة من النقط) بنستخدمها عشان نعيد بناء شكل المجسم، وممكن كمان يلقط ألوانه.
Multiple scans from different angles are aligned (registration) and merged to produce a complete model. This overall process is the 3D scanning pipeline.
- الاسكانر ده شغال زي الكاميرا، ليه زاوية رؤية معينة (Cone-like field of view) ومبيقدرش يشوف غير الأسطح اللي مواجهاه بس.
- عشان كده، إحنا بناخد كذا لقطة من زوايا مختلفة ونعملهم محاذاة وتجميع مع بعض في عملية اسمها Registration عشان نطلع الموديل كامل.
- اللفة دي كلها على بعضها بنسميها الـ 3D scanning pipeline.
9) Principles of Computer Animation
What is Animation?
Animation is a sequence of images that, when displayed rapidly one after another, creates the impression of continuous motion or change.
- ببساطة، animation هي عملية illusion of movement ( ا to give life).
- الفكرة إننا بنعرض صور ثابتة (Still images) ورا بعض بسرعة جدا، فالعين البشرية بتنخدع وتحس إن في حركة مستمرة، مع إن مفيش حاجة بتتحرك بجد وكلها صور منفصلة.
- الأنيميشن بيضيف بُعد الوقت (Dimension of time) للجرافيكس، وده بيخلينا نقدر نوصل معلومات أكتر بكتير من الصور الثابتة.
- التحدي الأساسي للـ (Animator) إنه يختار أدوات تديله تحكم ومرونة عشان يوصف الحركة اللي هو عايزها، وفي نفس الوقت ميمعملش كل حاجة يدوي عشان ميتسحلش في تفاصيل ملهاش لازمة.
- وطبعا مفيش أداة واحدة بتنفع لكل حاجة، الأدوات الفنية غير الأدوات اللي بتعمل محاكاة للواقع.
Types of Animation
1. Traditional Animation
Traditional Animation Animation that involves drawing each frame of a film by hand. After the drawings are completed and colored, they are photographed or scanned into a computer and combined with sound.
-
الـ Traditional Animationدي الطريقه القديمة زي أفلام ديزني بتاعت زمان. الأرتيست بيقعد يرسم كل Frame بإيده، رسمة ورا التانية.
- بعد ما بيخلصوا رسم وتلوين على الورق، بياخدوا الرسومات دي يصوروها أو يعملولها سكان على الكمبيوتر، وبعدين يركبوا عليها الصوت.
- الموضوع ده متعب جداً وبيسحب وقت مهول (Extremely time-consuming)، عشان الثانبة الواحدة بس من الفيلم بتحتاج حوالي 24 رسمة بالايد!
- عشان المجهود الجبار ده، الشغل ده غالباً ملهاش حد يقدر يعمله غير ستوديوهات كبيرة.
2. Stop-Motion Animation
Stop-Motion Animation An animation technique that requires the animator to physically manipulate objects in the scene, capture a single frame, adjust the objects, and repeat the process.
-
الـ Stop-Motion Animation هنا بتجيب مجسمات حقيقية قدامك، تحركها حركة بسيطة ، وتاخد صورة بالكاميرا (Capture a frame)، وبعدين تحركها كمان حركة بسيطة وتاخد صورة تانية، وهكذا. ولما تعرض الصور دي ورا بعض بسرعة، تحس إن الجسم بيتحرك لوحده.
- الأجسام اللي بيستخدموها ممكن تكون أي حاجة: شخصيات صلصال (Clay figures)، ورق، أو حتى أدوات من البيت.
- في طرق بيستخدموا فيها أشخاص حقيقيين، يوقفوهم في وضعيات معينة وياخدوا فريم، وبعدين يغيروا الوضعية وياخدوا فريم تاني.
- في الآخر، كل الصور دي بتتجمع على شريط الفيلم وبيتركب معاها الصوت.
3. Computer-Generated Animation
Computer-Generated Animation Animation that uses software to create animated images and models, making the process generally faster than traditional methods. It can be used for both 2D and 3D characters and objects.
-
الـ Computer-Generated Animation (أو الـ CG) دي الطريقه الحديثه. بنستخدم سوفتوير عشان نعمل الصور والمجسمات، ده بيخلي العملية أسرع وأسهل من الطرق القديمة. ده بينقسم لحتتين:
- ا 2D Computer Animation: زي التقليدي بالظبط، الأرتيست بيعمل سلسلة صور ورا بعض فيها اختلافات بسيطة عشان تعمل حركة، بس كله بيتم ديجيتال جوه البرنامج.
- ا 3D Computer Animation: هنا إحنا بنبني مجسم ديجيتال كامل (Digital model) للشخصية. التحريك هنا بيتم بطريقتين:
- يا إما الأرتيست بيتحكم في نقط معينة على المجسم اسمها Control points أو يغير في المتغيرات (Variables) بتاعتها عشان يحركها.
- أو بيستخدموا تقنية اسمها الـ Motion Capture (أو Mo-cap)، ودي عبارة عن إنهم بيجيبوا ممثل حقيقي، يسجلوا حركته الحقيقية، وبعدين يركبوا الحركة دي على الـ 3D Character بتاعهم في الكمبيوتر عشان يطلع واقعي جداً.
Uses of Animation
- الأنيميشن ملوش استخدام واحد بس، ده داخل في مجالات كتير، خلينا نشوف أهمهم:
- الترفيه (Entertainment): زي الأفلام، البرامج التلفزيونية، وألعاب الفيديو.
- التعليم (Education): الفيديوهات الشارحة والمحتوى التعليمي اللي بيبسط المعلومة.
- الإعلانات (Advertising): شغل الميديا الأونلاين والتسويق.
- البحث والتطوير (Research and development): بنعمل بيه محاكاة للآلات والأنظمة والعمليات (Simulations).
- التصميم والهندسة (Design and engineering): عشان نحلل ونختبر الأفكار بتاعتنا من غير ما نحتاج نصرف ونبني نماذج حقيقية (Physical prototypes).
- التجسيد العلمي (Scientific visualization): بيساعدنا نتخيل الظواهر المعقدة جداً، أو الحاجات الصغيرة أوي والكبيرة أوي اللي مستحيل نشوفها بعنينا المجردة.
- دعم الأبحاث العلمية وتحليل البيانات.
Role of the Viewer
- الصور المتحركة مش بتتحرك فعلا.
The illusion of movement occurs due to a phenomenon known as persistence of vision, where the human eye and brain briefly retain images.
- الـ illusion بيحصل بسبب
Persistence of Vision:- العين والدماغ بيحتفظوا بالصورة لفترة قصيرة بعد ما تختفي.
- الدماغ بيمهد الصور المتتالية، فيبان كأنها حركه مستمره.
Computer Animation
- الـ
Computer Animationهو صناعة الصور المتحركه باستخدام الكمبيوتر. - ده يعتبر فرع من الجرافيكس والأنيميشن في نفس الوقت.
- ورغم إن الـ 3D هو الاشهر في الأنيميشن الحديث، بس الـ 2D graphics لسه بتستخدم كتير جدا عشان الـ Rendering بتاعها أسرع بكتير ومش بتحتاج موارد ولا إنترنت عالي (Low-bandwidth applications).
- في مجال السينما والأفلام، الشغل ده بنسميه CGI (
Computer-Generated Imagery).
How Animation Works Technically
-
عشان نحرك أي مجسم افتراضي (Virtual objects) جوه الكمبيوتر، لازم نكون عارفين إن المجسم ده متعرف بشوية خصائص أساسية زي:
- ا Position: مكانه فين.
- ا Orientation: اتجاهه ودورانه عاملين إزاي.
- ا Scale: حجمه قد إيه.
-
الخصائص دي كلها بتتخزن رياضياً في حاجة اسمها Transformation matrices. والـ Animation بيحصل ببساطة لما الخصائص دي تتغير مع مرور الوقت.
Animation Techniques
إحنا بقى بنعمل الأنيميشن ده إزاي ونتحكم في الموديل؟ السوفتوير فيه كذا تكنيك بنستخدمهم:
| اTerm | English Definition | الشرح |
|---|---|---|
| Keyframes | Values are specified at particular moments in time. The software interpolates between keyframes to create smooth motion. |
هنا بتحدد قيمة معينة للمجسم (زي مكانه أو حجمه) في اول فريم واخر فريم مثلا. السوفتوير بيعمل حساباته اللي بنسميها Interpolation عشان يعمل هو الفريمات الي بين الفريم الاول والاخير ويطلعلك حركة ناعمة من غير ما تضطر تظبط كل فريم بإيدك. |
| Procedural animation | Uses algorithms to control motion (commonly used for particles and crowds). |
التكنيك ده بيعتمد على Algorithms عشان يتحكم في الحركة بشكل أوتوماتيك. بنستخدمه مع الحاجات المعقدة اللي صعب نحركها حتة حتة، زي الجزيئات (Particles زي الدخان والمطر)، أو حشود الناس (Crowds). |
| Expression-based animation | Relies on mathematical or logical expressions to automate behavior, such as controlling skeletal motion. |
التكنيك ده بيعتمد على معادلات رياضية عشان يخلي السلوك أو الحركة تتم بشكل أوتوماتيك. بنستخدمه عشان نتحكم في حركة الهيكل العظمي (Skeletal motion) بتاع الشخصية. |
- الـ Keyframes: حدد البداية والنهاية والبرنامج يكمل اللي بينهم.
- الـ Procedural Animation: الخوارزمية هيا الي بتتحكم في الحركه, بستخدم مع الحاجات المعقده زي المطر.
- الـ Expression-Based Animation: المعادلات هيا الي بتتحكم في الحركه, بنستخدمهفي حركة الهيكل العظمي.
10) ملخص المحاضرة
اتكلمنا في المحاضره دي عن 3D Computer Graphics و Animation.
بدأنا بـ Concepts of 3D وإن المشهد بيكوّن من (Geometric Models, Materials, Light Sources, Virtual Camera) وبنحوله لـ 2D عن طريق الـ Projection.
بعد كده عرفنا الـ Rendering (إنتاج صورة 2D من مشهد 3D) وخطوات رسم الأجسام.
بعدين دخلنا في Shading:
- ا Gouraud Shading: بيعمل Interpolation للاسطح عشان يخفي المضلعات.
- ا Phong Shading: بيدي Highlights و Transparency لشكل واقعي أكتر.
وفي الآخر اتكلمنا عن:
- ا Ray Tracing: تقنية Photorealistic بتتتبع مسار الشعاع من الكاميرا.
- ا Texture Mapping: إضافة نقوش وألوان للـ 3D Models.
- ا 3D Modeling: بناء المجسمات (NURBS, Polygonal Mesh, Subdivision).
- ا 3D Projection: إسقاط النقط من 3D لـ 2D.
- ا 3D Scanners: مسح المجسمات الحقيقية وعمل Point cloud.
- ا Animation: أنواعها (Traditional, Stop-Motion, CG) وتقنياتها (Keyframes, Procedural, Expression-based).