Education
Register
Advertisement

W grafice 3D stosuje się kilka różnych metod modelowania (reprezentacji) obiektów przestrzennych:

  • modele szkieletowe,
  • modele w postaci równań matematycznych,
  • konstrukcyjna geometria bryłowa,
  • modele na bazie geometrii fraktalnej,
  • inne modele.

Modele szkieletowe[]

Modele szkieletowe (wireframe representation) operują na trzech podstawowych pojęciach:

  • wierzchołek (vertex),
  • krawędź (edge),
  • ściana (polygon surface).

Model szkieletowy to zbiór wyerzchołków, krawędzi i ścian (wieloboków) połączonych tak, że każda krawędź jest wspólna dla przynajmniej dwóch ścian (kryterium to nie może zostać spełnione w przypadku powierzchni otwartych).

Aby uzyskać model szkieletowy można przetworzyć opisany w postaci równania matematycznego model powierzchni obiektu lub też przy pomocy interakcji z narzędziami do modelowania obiektów np. z brył geometrycznych. Możliwa jest także akwizycja danych o powierzchni obiektu (próbkowanie) przy pomocy skanerów 3D.

Podział modelu matematycznego (np. z postaci równania parametrycznego) może nastąpić w sposób jednorodny (równe "odstępy" uzyskanych wierzchołków, podział na takie same wieloboki) lub niejednorodny. Triangulacja niejednorodna wymaga złożonego aparatu matematycznego, który pozwoli na dobranie rozmiaru utworzonych w wyniku triangulacji powierzchni trójkątów.

Triangulacja niejednorodna prowadzi do uzyskania modelu o znacznie mniejszej niż w przypadku podziału jednorodnego liczby wynikowych trójkątów.

Metody zapisu danych modeli szkieletowych[]

  • Reprezentacja bezpośrednia opiera się na opisie każdej z powierzchni (ścian) zestawem współrzędnych wierzchołków składających się na ścianę. Reprezentacja taka prowadzi do składowania nadmiarowych informacji (w przypadku bryły złożonej z trójkątów każdy wierzchołek współdzielony jest przez przynajmniej trzy ścianki). Opis taki zwiększa także trudność modyfikacji obiektu (następuje konieczność odnalezienia wszystkich duplikatów przesuwanego punktu) a także wpływa na kilkukrotne rysowanie tej samej krawędzi w przypadku reprezentacji siatkowej (wireframe).
  • Reprezentacja przy pomocy wskaźników na listę wierzchołków (reprezentacja listą wierzchołków i listą indeksów wierzchołków). Mniejsza ilość danych pociąga za sobą z jednej strony łatwiejszą modyfikację wierzchołków (każdy występuje tylko raz), z drugiej prowadzi do utrudnionego odnajdywania wspólnych krawędzi i prowadzi do ich dwukrotnego rysowania.
  • Reprezentacja przy pomocy wskaźników na listę krawędzi - do listy wierzchołków dochodzi lista krawędzi związanych z wierzchołkami, do której to listy prowadzi dopiero opis ściany. Metoda ta likwiduje trudność w wypełnianiu ścian i dwukrotne rysowanie krawędzi przy projekcji siatki.

Modele matematyczne[]

Istnieje możliwość modelowania obiektów w postaci równań analitycznych przy pomocy:

  • równań uwikłanych
    f(x, y, z) = 0
  • równań parametrycznych
    x = fx (u,v)
    y = fy (u,v), 0 <= u, v <= 1
    z = fz (u,v)

Równania matematyczne w postaci uwikłanej[]

Dla pow. drugiego stopnia (kwardyki) reprezentowane są jako: Równanie kwadryki

Równanie kwadryki w postaci macierzy

Zaletą reprezentacja za pomocą kwadryk jest łatwość obliczania normalnych do powierzchni, punktów przecięcia powierzchni z prostą, testowała położenia punktu na powierzchni/poza nią, łatwe obliczanie przecięcia kwadryk między sobą. Do wad należą: trudna generacja punktu na powierzchni, trudna generacja fragmentu powierzchni (np. wycinka sfery).

Można opisywać powierzchnie także równaniami wyższego stopnia, np. trzeciego

Modele parametryczne[]

x = fx (u,v), umin <= u <= umax
y = fy (u,v), vmin <= v <= vmax
z = fz (u,v)

Sfera o środku (0,0,0):

z(u,v) = r cos(u)
y(u,v) = r sin(u) sin(2v)
x(u,v) = r sin(u) cos(2v), 0 <= u, v <= 1
  • łatwa generacja punktu na powierzchni
  • łatwa generacja wycinka powierzchni
  • brak bezpośredniej możliwości opisania powierzchni, której kształt sobie wyobrażamy

Krzywe parametryczne w 3D[]

x(u) = fx (u)
y(u) = fy (u), umin <= u <= umax
z(u) = fz (u)
  • trudność opisania krzywej wielomianowej, której kształt sobie wyobrażamy
  • niski stopień wielomianu -> mała elastyczność
  • wysoki stopień wielomianu -> trudność w opanowaniu oscylacji funkcji, rosnąca złożoność obliczeniowa
  • trudność w doborze współczynników wielomianu do sterowania krzywą

Istnieje szereg podejść

  • krzywe trzeciego stopnia (12 parametrów)
  • krzywa Hermite'a
    • opis wielomianami 3. stopnia przy pomocy
      • dwóch punktów krzywej (końców)
      • wektorów stycznych do krzywej w punktach końcowych (pochodnych)
    • sterowanie następuje przy pomocy zmiany parametrów wektorów stycznych
    • trudność wysterowania wymaganej krzywizny
  • krzywe Beziera
    • sterowanie interaktywne przy pomocy n+1 punktów kontrolnych (stopień wielomianu zależny od liczby pkt. kontrolnych)
    • krzywa opisana układem równań parametrycznych (równania Bersteina)
    • przemieszczenie jednego punktu kontorlnego zmienia kształt całej krzywej (wada!)
  • krzywe B-sklejane (B-splines)
    • eliminują wadę krzywych Beziera
    • podział krzywej na segmenty
    • podział na krzywe jednorodne (węzły w jednakowych odstępach) i niejednorodne
    • stopień wielomianów jest dobierany
    • projektant kontorluje początek, koniec i punkty kontrolne
    • zmiana położenia pkt. kontrolnego zmienia lokalnie kształt krzywej
    • łatwość tworzenia krzywych gładko zamkniętych
    • wzory opisujące krzywe niejednorodne są wyjątkowo skomplikowane, istnieją jednak algorytmy numeryczne przyspieszające obliczenia

Dzięki krzywym parametrzycznym możliwe jest tworzenie powierzchni Beziera, B-sklejanych i NURBS. W przypadku powierzchni, tworzona jest siatka punktów kontorlnych opisujących powierzchnię, na której rozpinana jest ona. Podobnie jak w przypadku krzywych - deformacja punktu siatki działa globalnie na kształt siatki Beziera i lokalnie w przypadku powierzchni B-sklejanych i NURBS (Non-Uniform Rational B-Spline).

Konstrukcyjna geometria bryłowa[]

Solid modelling (volume modelling) to technika, w której dokonuje się jednoznacznego opisu brył (w przeciwieństwie do opisu wyłacznie powierzchni lub przybliżonego opisu siatkowego). Taki opis pozwala na komputerową obróbkę modelu np. na potrzeby symulacji.

Konstrukcyjną geometrię bryłową stosuje się m.in. w zastosowaniach CAD, inżynierskich, szybkiego prototypowania (rapid prototyping), testów medycznych i wizualizacji (np. wyników eksperymentów).

Wsparciem dla konstrukcyjnej geometrii bryłowej są specjalne narzędzia przeznaczone do projektowania brył poprzez tłoczenie i podział obiektów lub poprzez modyfikację powierzchni i "wypełnienie" powstałych powierzchni zamkniętych.

Modele fraktalne[]

Uzyskiwane np. przy pomocy kwaternionów (ogólniejsza liczba zespolona). Modele fraktalne poza zastosowaniem czysto matematycznym (możliwość zgrubnej wizualizacji obiektów ściśle teoretycznych jak np. fraktal Julii w 3D) pozwalają na wizualizację chaotycznych elementów środowiska, jak chmury czy woda. Zastosowanie to jest jednak ograniczone ze względu na wysoką złożoność numeryczną (na ich miejsce stosuje się inne techniki przybliżające wizualnie oczekiwany model). Modele fraktalne wspomagają także tworzenie roślinności w grafice 3D (np. systemy Lindenmayera).

Advertisement