Differences

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

Link to this comparison view

vdvac:lab5 [2025/10/06 14:47]
anca.morar [Deformarea de forma libera]
vdvac:lab5 [2025/10/06 15:56] (current)
anca.morar [Demo]
Line 1: Line 1:
 ====== Laboratorul 5 ====== ====== Laboratorul 5 ======
  
-===== Deformarea de forma libera ====+===== Deformarea de forma libera ​=====
  
 {{ :​vdvac:​lab5_fig1.png?​500 |}} {{ :​vdvac:​lab5_fig1.png?​500 |}}
Line 7: Line 7:
 Cea mai generală metodă de deformare și cea mai adecvată animației obiectelor prin deformare Cea mai generală metodă de deformare și cea mai adecvată animației obiectelor prin deformare
 Ideea Ideea
-  * obiectul ​care trebuie deformat e introdus într-uns pațiu deformabil(container)+  * Obiectul ​care trebuie deformat e introdus într-uns pațiu deformabil(container)
   * Containerul se deformează => obiectul se deformează   * Containerul se deformează => obiectul se deformează
 +
 +==== Deformarea în 2D ====
 +  * Ecuația peticului bicubic Bezier:
 +
 +{{ :​vdvac:​lab5_fig2.png?​400 |}}
 +
 +==== Algoritmul de deformare ====
 +  - Se calculează dreptunghiul de încadrare al obiectului deformat, $x_{min}, x_{max}, y_{min}, y_{max}$
 +  - Pentru fiecare vârf $(x,y)$ al obiectului
 +    - se determină coordonatele sale în spațiul $(u,v)$, $0<= u, v <= 1$, al peticului Bezier (se normalizează coordonatele)
 +  - Se deformează peticul Bezier, deplasând punctele de control
 +  - Pentru fiecare vârf al obiectului
 +    - Se calculează noile sale coordonate $x(u,v)$, $y(u,v)$ evaluând ecuația $s(u,v)$ pentru noile puncte de control $p_{ij}$
 +  - Se afișează obiectul deformat ​
 +
 +==== Deformarea în 3D ====
 +  * Unitatea de volum corespunzătoare în spațiul 3D unui petic de suprafață bicubic: hyperpatch-ul tricubic Bezier
 +   {{ :​vdvac:​lab5_fig3.png?​400 |}}
 +  * Obiectul de deformat e definit în spațiul 3D, iar volumul său încadrator este $(x_{min},​x_{max})$,​ $(y_{min},​y_{max})$,​ $(z_{min},​z_{max})$
 +  * Pentru fiecare vârf al obiectului, se calculează,​ raportat la această încadrare, coordonatele sale $(u,v,w)$, $0<= u, v, w <= 1$, în spațiul parametric al hyperpatch-ului  ​
 +  * Inițial, cele $4 \times 4 \times 4$ puncte de control sunt aliniate de-a lungul axelor $X, Y, Z$ pe laturile paralelipipedului încadrator obiectului de deformat
 +  * La fiecare deformare a hyperpatch-ului,​ prin deplasarea punctelor de control
 +    * Se calculează noile coordonate ale vârfurilor obiectului, $x(u,v,w)$, $y(u,v,w)$, $z(u,v,w)$ folosind ecuația $q(u,​v,​w)$  ​
 +
 +
 +==== Demo ====
 +
 +<​html>​
 +<p style="​text-align:​center;​margin:​auto;">​
 +<iframe width="​430"​ height="​250"​ src="​https://​www.youtube.com/​embed/​c6GOTHL0cwg"​ frameborder="​0"​ allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture"​ allowfullscreen></​iframe>​
 +</p>
 +</​html>​
vdvac/lab5.1759751262.txt.gz · Last modified: 2025/10/06 14:47 by anca.morar
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