Differences

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

Link to this comparison view

ppbg:laboratoare:01 [2024/09/24 18:30]
andrei.lambru
ppbg:laboratoare:01 [2024/10/10 18:31] (current)
andrei.lambru [Cerințe laborator]
Line 2: Line 2:
  
 <note tip> <note tip>
-Bun venit la prima activitate practică a acestei materiiÎn fiecare săptămână,​ până la finalul semestrului,​ vom folosi un framework adaptat special pentru aceste activități practice. Framwork-ul este scris în limbajul C++ și folosește API-ul grafic OpenGL. Primul pas al acestui laborator este să realizați [[ ppbg:​setup-framework | setup-ul framework-ului ]].+Bun venit la prima activitate practică a acestei materiiÎn fiecare săptămână,​ până la finalul semestrului,​ vom folosi un framework adaptat special pentru aceste activități practice. Framwork-ul este scris în limbajul C++ și folosește API-ul grafic OpenGL. Primul pas al acestui laborator este să realizați [[ ppbg:​setup-framework | setup-ul framework-ului ]].
 </​note>​ </​note>​
  
Line 207: Line 207:
  
 <code cpp> <code cpp>
-float x = position.x; +float x = v.x; 
-float y = position.y;+float y = v.y;
 </​code>​ </​code>​
  
Line 234: Line 234:
 glm::vec2 v = glm::​vec2(4.0f,​ 3.0f); glm::vec2 v = glm::​vec2(4.0f,​ 3.0f);
  
-float magnitude ​= glm::​length(v);​+float norm = glm::​length(v);​
 </​code>​ </​code>​
  
Line 256: Line 256:
 ==== Descrierea culorilor ==== ==== Descrierea culorilor ====
  
-TBA+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. 
 + 
 +Modelul de culoare RGB descrie culorile prin descompunerea lor în 3 culori primare, respectiv: roșu, verde și albastru. Acronimul "​RGB"​ provine de la numele lor în limba engleză: "​**R**ed",​ "​**G**reen"​ și "​**B**lue"​. 
 + 
 +În cadrul laboratorului,​ se poate utiliza o structură de tip ''​glm::​vec3'',​ ce conține 3 componente, analog structurii ''​glm::​vec2'',​ la care se mai adaugă componenta ''​z''​. Se utilizează această structură de date doar pentru a stoca un triplet de valori ce este interpretat sub formă de culoare în modelul RGB. API-ul grafic OpenGL interpretează valoarea fiecărei componente a tripletului între limitele 0 și 1. Mai jos sunt descrise cateva culori de baza formate din valorile tripletelor. 
 + 
 +<code cpp> 
 +glm::vec3 red_color = glm::​vec3(1,​ 0, 0); 
 +glm::vec3 green_color = glm::​vec3(0,​ 1, 0); 
 +glm::vec3 blue_color = glm::​vec3(0,​ 0, 1); 
 + 
 +glm::vec3 yellow_color = glm::​vec3(1,​ 1, 0); 
 +glm::vec3 cyan_color = glm::​vec3(0,​ 1, 1); 
 +</​code>​ 
 + 
 +<note tip> 
 +Aprofundarea modelelor de culoare depășește conținutul acestui curs. Pentru a obține mai multe informatii despre acest subiect, puteți consulta următoarele cărți: 
 +  * Levkowitz, Haim, ed. Color theory and modeling for computer graphics, visualization,​ and multimedia applications. Boston, MA: Springer US, 1997. 
 +  * Fairchild, Mark D. Color appearance models. John Wiley & Sons, 2013. 
 +</​note>​
  
 ==== Metode utilitare ==== ==== Metode utilitare ====
Line 292: Line 311:
  
 bool inside_triangle = abs(area_v1v2v3 - (area_pv1v3 + area_pv1v2 + area_pv2v3)) < EPSILON; bool inside_triangle = abs(area_v1v2v3 - (area_pv1v3 + area_pv1v2 + area_pv2v3)) < EPSILON;
-</​code>​ \\ Dupa rezolvarea acestei ​cerinte, ar trebui ​sa obtineti ​rezultatul ​urmator: {{ :​ppbg:​laboratoare:​vectors-task-6.png?​600 |}}+</​code>​ \\ După rezolvarea acestei ​cerințe, ar trebui ​să obțineți ​rezultatul ​următor: {{ :​ppbg:​laboratoare:​vectors-task-6.png?​600 |}}
  
-<​hidden>​ 
 Bonus: Bonus:
-  - In cadrul ​exercitiului ​4, desenati ​cu o culoare ​diferita ​arcul de cerc pentru unghiul mare dintre cei doi vectori. +În cadrul ​exercițiului ​4, desenați ​cu o culoare ​diferită ​arcul de cerc pentru unghiul mare dintre cei doi vectori. ​După rezolvarea acestei cerințe, ar trebui să obțineți rezultatul următor: {{ :​ppbg:​laboratoare:​vectors-task-bonus.png?​600 |}} 
-</​hidden>​+
  
  
ppbg/laboratoare/01.1727191816.txt.gz · Last modified: 2024/09/24 18:30 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