Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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 |}}
ipg/laboratoare/01.1759940355.txt.gz · Last modified: 2025/10/08 19:19 by andrei.lambru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0