Modelování v počítačové grafice. Druhy modelů, vytváření a modifikace, zobrazení. Lokální a globální úpravy modelů, deformační metody FFD. (PA010, PB009, PA157, PA158)
Těleso je množina bodů v 3D splňující určitá kritéria (např. sousednost).
Trojúhelníková síť (triangle mesh) je množina trojúhelníků sdílející své hrany.
Není vhodná na modelování tvaru těles a ploch (namísto např. NURBS), ale užitečná při deformaci.
Optimalizace sítě – trojúhelníky pokrývají plochu pravidelně vs. jemněji v místech s větší křivostí. Při zpracování dat v grafickém procesoru je vhodnější popsat síť trojúhelníků pomocí lineární struktury, která zajistí, že každý trojúhelník je zpracován právě jednou: pruh trojúhelníků (triangle strip), vejíř trojúhelníků (triangle fan).
Nevýhody: nesnadné mapování textur, může vzniknout geometrický alias (např. při změně měřítka - crack, u T-vrcholů).
Manifold je těleso, které odpovídá nějakému skutečnému tělesu (tj. jehož hrany incidují právě s 2 plochami, jehož hrany neprotínají jiné plochy, osamocený vrchol nespojuje 2 části tělesa).
Hraniční reprezentace jednoduchého mnohostěnu splňuje rovnici (opačně nemusí platit, tj. objekt splňující rovnici nemusí být jednoduchým mnohostěnem):
F + V = E + 2
F (faces) – počet ploch
V (vertices) – počet vrcholů
E (edges) – počet hran
Musí platit, že každá hrana propojuje 2 vrcholy, stěny a hrany se neprotínají.
Pro manifoldy s otvory platí zobecněná Eulerova rovnost:
F + V = E + 2 (C – H) + R
R (ring) – počet vnitřních smyček hran
C (component) – počet samostatných komponent tělesa
H (hole) – počet otvorů
Platnost Eulerova rovnosti souvisí s vlastnostmi planárních grafů.
Nelze jednoznačně interpretovat (viz. obr.), ale vhodné k vytvoření náhledu, pro prozkoumání vnitřku tělesa.
Implementace: seznam vrcholů + seznam hran + seznam ploch (pořadí vrcholů v poli: counter clockwise)
Vhodná pro vykreslování zohledňující viditelnost.
Je množina povrchových bodů (většinou získány digitálním snímáním reálných objektů). Data v jednom bodě: souřadnice, normála, barva, …
Založena na reprezentaci tělesa stromovou strukturou (CSG strom), který uchovává historii dílčích konstrukčních kroků. Vnitřní uzly obsahují množinové operace, listy CSG primitivy nebo prostorové transformace. CSG primitivy: kvádr, koule, válec, kužel, jehlan, … poloprostor, plocha NURBS, …
Vhodné pro tvarování tělesa, nevhodné pro zobrazení (lze ale snadno přetransformovat např. do hraniční reprezentace).
Prořezaný CSG strom: odstraní se nevyužité větve stromu (pokud se v dané části prostoru nevyskytuje to dané těleso).
CSG tree pruning – zásadní zjednodušení CSG stromu.
Deformace je dodatečné tvarování, může být lokální nebo globální.
Základní deformace:
ve směru osy z:
X = r_x . x
Y = r_y . y
Z = z
r_x, r_y jsou lineární nebo nelineární zeslabovací funkce
Lze aplikovat na hraniční i na CSG modely, plochy, části ploch v prostoru. Idea je následující: obejkt z elastického materiálu vložíme do formy ve tvaru hranolu a prázdný prostor zalijeme materiálem. Pak aplikujeme sadu transformací na hranol, s tím současně deformujeme i samotný objekt.
Postup:
Máme souřadnicový systém O, X, Y, Z, zavedeme pomocný souřadnicový systém X_0, bázi tvoří vektory S, T, U, které vymezují rovnoběžnostěn (nemusí být kolmý). Rovnoběžnostěn obsahuje objekt nebo jeho část. Bod X = [x, y, z] má v lokálném souřadnicovém systému X_0 souřadnice [s, t, u] a platí: X_0 + s . S + t . T + u . U
s = {T x U(X-X_0)}/{T x U . S}
t = {S x U(X-X_0)}/{S x U . T}
u = {S x T(X-X_0)}/{S x T . U}
V prostoru rovnoběžnostěnu vytvoříme pravidelnou mřížku řídících bodů P_ijk.
Prostor zdeformujeme přemístěním řídících bodů.
Pro určení změněné pozice bodu objektu se nejprve určí lokální souřadnice bodu, pak poloha bodu ve světových souřadnicích, výslednou polohu ovlivní jednotlivé řídící body s určitou váhou (např. lineární interpolací) – měla by zaručit požadovanou hladkost (spojitost) objektu, např. pomocí Bernsteinových polynomů.
Žára, Beneš, Sochor, Felkel. Moderní počítačová grafika. Computer Press, Brno, 2004. ISBN: 80-251-0454-0