Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| statnice:bakalar:b0b39pgr [2025/05/27 12:57] – [6. Typy světelných zdrojů ve Phongově modelu] zapleka3 | statnice:bakalar:b0b39pgr [2025/05/27 13:08] (current) – zapleka3 | ||
|---|---|---|---|
| Line 129: | Line 129: | ||
| **Cube mapping** je dnes standard díky své univerzálnosti a podpoře dynamických odrazů v real-time grafice. | **Cube mapping** je dnes standard díky své univerzálnosti a podpoře dynamických odrazů v real-time grafice. | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| ===== 2. Programování pomocí shaderů ===== | ===== 2. Programování pomocí shaderů ===== | ||
| Line 230: | Line 226: | ||
| \[ | \[ | ||
| R_z(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta & 0 & 0 \\ \sin\theta & \cos\theta & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} | R_z(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta & 0 & 0 \\ \sin\theta & \cos\theta & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} | ||
| - | \] | + | \] |
| - | * . | + | |
| - | * . | + | |
| * **Škálování: | * **Škálování: | ||
| \[ | \[ | ||
| Line 292: | Line 286: | ||
| O_y = y \frac{h}{2} + \frac{h}{2} | O_y = y \frac{h}{2} + \frac{h}{2} | ||
| \] | \] | ||
| - | | ||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| ==== 5. Souřadné systémy a jejich transformace ==== | ==== 5. Souřadné systémy a jejich transformace ==== | ||
| Line 400: | Line 368: | ||
| * **Použití kvaternionů místo Eulerových úhlů.** | * **Použití kvaternionů místo Eulerových úhlů.** | ||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| ==== 8. Interpolace translace a rotace ==== | ==== 8. Interpolace translace a rotace ==== | ||
| Line 646: | Line 601: | ||
| \] | \] | ||
| * Vektor světla \( \vec{l} \) je normalizovaný směr ke světelnému zdroji. | * Vektor světla \( \vec{l} \) je normalizovaný směr ke světelnému zdroji. | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| - | |||
| - | . | ||
| === 6.2 Bodové světlo (Point Light) === | === 6.2 Bodové světlo (Point Light) === | ||
| Line 756: | Line 692: | ||
| * **Spojitost mezi segmenty** je klíčová pro zachování vizuálně plynulého tvaru celé křivky. | * **Spojitost mezi segmenty** je klíčová pro zachování vizuálně plynulého tvaru celé křivky. | ||
| - | {{: | + | {{: |
| {{: | {{: | ||
| === Parametrická spojitost (C) === | === Parametrická spojitost (C) === | ||
| - | {{: | + | {{: |
| Zohledňuje **směr i velikost** derivací (rychlost, zrychlení). Pokud je parametrická spojitost splněna, je zaručena i geometrická spojitost. | Zohledňuje **směr i velikost** derivací (rychlost, zrychlení). Pokud je parametrická spojitost splněna, je zaručena i geometrická spojitost. | ||
| Line 809: | Line 745: | ||
| * Zajišťuje hladké přechody mezi body s parametrickou spojitostí **C1**. | * Zajišťuje hladké přechody mezi body s parametrickou spojitostí **C1**. | ||
| * Velmi často se používá při animacích pohybu kamery, objektů nebo částic podél cesty definované body. | * Velmi často se používá při animacích pohybu kamery, objektů nebo částic podél cesty definované body. | ||
| - | |||
| ==== 4. Aproximační křivky ==== | ==== 4. Aproximační křivky ==== | ||
| Line 821: | Line 756: | ||
| {{: | {{: | ||
| - | {{: | + | {{: |
| Křivka definovaná pomocí Bernsteinových polynomů: | Křivka definovaná pomocí Bernsteinových polynomů: | ||
| Line 866: | Line 801: | ||
| * Umožňuje rozdělit křivku na dvě menší v libovolném parametru \( t \). | * Umožňuje rozdělit křivku na dvě menší v libovolném parametru \( t \). | ||
| * Používá se při adaptivním vykreslování a vektorových editorech. | * Používá se při adaptivním vykreslování a vektorových editorech. | ||
| - | * {{: | ||
| **Rozdíl: | **Rozdíl: | ||
| Line 882: | Line 816: | ||
| {{: | {{: | ||
| - | {{: | + | {{: |
| Speciální případ uniformního kubického B-Spline: | Speciální případ uniformního kubického B-Spline: | ||
| Line 926: | Line 860: | ||
| \] | \] | ||
| - | Kde: | ||
| * \( P_i \) jsou **kontrolní body** | * \( P_i \) jsou **kontrolní body** | ||
| * \( w_i \) jsou jejich **váhy** – čím větší váha, tím více křivka přiléhá k danému bodu | * \( w_i \) jsou jejich **váhy** – čím větší váha, tím více křivka přiléhá k danému bodu | ||
| Line 940: | Line 873: | ||
| NURBS jsou dnes **standardem v CAD systémech, 3D grafice a průmyslovém návrhu**, protože spojují přesnost, flexibilitu a efektivní výpočet. | NURBS jsou dnes **standardem v CAD systémech, 3D grafice a průmyslovém návrhu**, protože spojují přesnost, flexibilitu a efektivní výpočet. | ||
| - | |||
| - | **Další možnosti řízení tvaru NURBS křivky:** | ||
| - | |||
| - | * **Opakování kontrolních bodů** | ||
| - | * Pokud některý **kontrolní bod opakujeme vícekrát** za sebou, křivka se k němu více přiblíží – v extrému jím může i **procházet**. Toto chování se podobá uniformním B-Spline, kde opakované body fixují směr nebo tvar. | ||
| - | * Vhodné např. pro ostré zlomy nebo přechody mezi částmi modelu. | ||
| - | |||
| - | * **Opakování hodnot v uzlovém vektoru** | ||
| - | * Opakované uzlové hodnoty (např. stejné číslo vícekrát za sebou) snižují hladkost křivky v daném místě. | ||
| - | * Pokud uzel opakujeme \( p \)-krát (kde \( p \) je stupeň křivky), dochází ke **snížení spojitosti až na C0** a křivka může v tomto bodě **přesně projít kontrolním bodem**. | ||
| - | |||
| - | |||
| - | |||
| - | |||