This shows you the differences between two versions of the page.
|
ipg:laboratoare:01 [2025/10/08 19:19] andrei.lambru |
ipg:laboratoare:01 [2026/09/30 19:27] (current) andrei.lambru |
||
|---|---|---|---|
| Line 5: | Line 5: | ||
| </note> | </note> | ||
| - | ===== Elemene de geometrie ===== | + | ===== Introducere ===== |
| - | + | ||
| - | ==== Introducere ===== | + | |
| Această activitate este introductivă și nu este dedicată direct programării graficii pe calculator. Aceasta este realizată cu scopul reluării/introducerii unui set din noțiunile de geometrie ce sunt **fundamentale** domeniului programării graficii și în sens mai larg, domeniului dezvoltării de jocuri în general. | Această activitate este introductivă și nu este dedicată direct programării graficii pe calculator. Aceasta este realizată cu scopul reluării/introducerii unui set din noțiunile de geometrie ce sunt **fundamentale** domeniului programării graficii și în sens mai larg, domeniului dezvoltării de jocuri în general. | ||
| Line 18: | Line 16: | ||
| **Va doresc mult succes în noul semestru :) !** | **Va doresc mult succes în noul semestru :) !** | ||
| </note> | </note> | ||
| + | |||
| + | <hidden> | ||
| + | ===== Elemene de geometrie ===== | ||
| ==== Vectorul ==== | ==== Vectorul ==== | ||
| Line 157: | Line 158: | ||
| <hidden> | <hidden> | ||
| === ?Produsul vectorial a doi vectori - Concept 3D === | === ?Produsul vectorial a doi vectori - Concept 3D === | ||
| - | </hidden> | ||
| <note tip> | <note tip> | ||
| Line 204: | Line 204: | ||
| {{ :ipg:laboratoare:point-triangle.png?350 |}} | {{ :ipg:laboratoare:point-triangle.png?350 |}} | ||
| - | ===== Laborator ===== | + | </hidden> |
| - | ==== Biblioteca glm ==== | + | |
| + | ===== Biblioteca glm ===== | ||
| În framework-ul de laborator, se utilizează biblioteca [[ https://glm.g-truc.net/0.9.9/ | glm ]], ce pune la dispoziție structuri de date pentru puncte și vectori, împreună cu operațiile uzuale de lucru cu aceste elemente. | În framework-ul de laborator, se utilizează biblioteca [[ https://glm.g-truc.net/0.9.9/ | glm ]], ce pune la dispoziție structuri de date pentru puncte și vectori, împreună cu operațiile uzuale de lucru cu aceste elemente. | ||
| Line 265: | Line 266: | ||
| </code> | </code> | ||
| - | ==== Descrierea culorilor ==== | + | ===== Descrierea culorilor ===== |
| Conceptul de culoare este unul complex, care ar putea necesita conținutul unui curs în sine. În domeniul graficii pe calculator, se utilizează modele matematice, denumite //modele de culoare// pentru a prelucra o astfel de informație. În practică, API-urile grafice, precum și API-ul OpenGL, pe care îl utilizăm în cadrul framework-ului, utilizează modelul de culoare RGB, la care ne vom rezuma și noi până la finalul semestrului. | Conceptul de culoare este unul complex, care ar putea necesita conținutul unui curs în sine. În domeniul graficii pe calculator, se utilizează modele matematice, denumite //modele de culoare// pentru a prelucra o astfel de informație. În practică, API-urile grafice, precum și API-ul OpenGL, pe care îl utilizăm în cadrul framework-ului, utilizează modelul de culoare RGB, la care ne vom rezuma și noi până la finalul semestrului. | ||
| Line 288: | Line 289: | ||
| </note> | </note> | ||
| - | ==== Metode utilitare ==== | + | ===== Metode utilitare ===== |
| În cadrul acestui laborator, sunt oferite metode specifice pentru desenarea mai multor tipuri de primitive grafice. Semnăturile acestor metode sunt scrise mai jos. Consultați fișierul ''primitives_rendering_scene.h'' pentru o descriere mai detaliată a fiecărui parametru al metodelor. | În cadrul acestui laborator, sunt oferite metode specifice pentru desenarea mai multor tipuri de primitive grafice. Semnăturile acestor metode sunt scrise mai jos. Consultați fișierul ''primitives_rendering_scene.h'' pentru o descriere mai detaliată a fiecărui parametru al metodelor. | ||
| Line 300: | Line 301: | ||
| </code> | </code> | ||
| - | ==== Cerințe laborator ==== | + | ===== Cerințe laborator ===== |
| <note important> | <note important> | ||
| Line 311: | Line 312: | ||
| - Desenați vectorul $\vec{V_2}$ în continuarea lui $\vec{V_1}$ și vectorul $\vec{V_1}$ în continuarea lui $\vec{V_2}$ , conform procesului de compunere a doi vectori, descris mai sus. \\ Utilizați metoda ''RenderVector(...)'' pentru desenarea unui vector. După rezolvarea acestei cerințe, ar trebui să obțineți rezultatul următor: {{ :ipg:laboratoare:vectors-task-1.png?600 |}} | - Desenați vectorul $\vec{V_2}$ în continuarea lui $\vec{V_1}$ și vectorul $\vec{V_1}$ în continuarea lui $\vec{V_2}$ , conform procesului de compunere a doi vectori, descris mai sus. \\ Utilizați metoda ''RenderVector(...)'' pentru desenarea unui vector. După rezolvarea acestei cerințe, ar trebui să obțineți rezultatul următor: {{ :ipg:laboratoare:vectors-task-1.png?600 |}} | ||
| - 0.05p - Completați metoda ''Exercise2()'' pentru desenarea următorilor vectori rezultanți în urma diferenței dintre două puncte: $\{\vec{V_{21}}, \vec{V_{43}}, \vec{V_{56}}, \vec{V_{87}}\}$ . \\ După rezolvarea acestei cerințe, ar trebui să obțineti rezultatul următor: {{ :ipg:laboratoare:vectors-task-2.png?600 |}} | - 0.05p - Completați metoda ''Exercise2()'' pentru desenarea următorilor vectori rezultanți în urma diferenței dintre două puncte: $\{\vec{V_{21}}, \vec{V_{43}}, \vec{V_{56}}, \vec{V_{87}}\}$ . \\ După rezolvarea acestei cerințe, ar trebui să obțineti rezultatul următor: {{ :ipg:laboratoare:vectors-task-2.png?600 |}} | ||
| - | - 0.05p - Completati metoda ''Exercise3()'' astfel: | + | - 0.05p - Completați metoda ''Exercise3()'' astfel: |
| - Desenați vectorii unitate aflați pe direcția celor 5 vectori prezenți în cadrul cerinței. | - Desenați vectorii unitate aflați pe direcția celor 5 vectori prezenți în cadrul cerinței. | ||
| - Nu utilizați etichete pentru desenarea vectorilor unitate. \\ După rezolvare, ar trebui să obțineți rezultatul următor: {{ :ipg:laboratoare:vectors-task-3.png?600 |}} | - Nu utilizați etichete pentru desenarea vectorilor unitate. \\ După rezolvare, ar trebui să obțineți rezultatul următor: {{ :ipg:laboratoare:vectors-task-3.png?600 |}} | ||