Grafika trójwymiarowa

listopad 5th, 2008

Ten produkt dotyczy dziedziny grafiki komputerowej. Zobacz również: inne znaczenia tego skrótu.

Grafika 3D (grafika trójwymiarowa) – imię jednej z dziedzin grafiki komputerowej, zajmującej się głównie wizualizacją obiektów trójwymiarowych. Określenie pochodzi od angielskiego sformułowania Three-Dimensional Graphics.

Spis treści

//

Geometria

Geometria obiektów trójwymiarowych być może być reprezentowana na parę sposobów:

  • Siatka wielokątów – cel jest budowany z płaskich wielokątów (zwykle trójkątów albo czworokątów), które mają wspólne wierzchołki i krawędzie. W ów metoda wolno sporządzać proste bryły, bądź – o ile reklamówka jest wystarczająco gęsta – porządnie zbliżać skomplikowane obiekty.

  • Voxele (woksele) – cel jest budowany z elementarnych sześcianów (trójwymiarowych pikseli). Tego rodzaju delegacja jest rozpowszechniona wyjątkowo w diagnostyce medycznej, dokąd uzyskuje się sekwencja przekrojów (obrazów bitmapowych) ciała pacjenta i na ich podstawie tworzy trójwymiarowe modele.

  • Opis matematyczny – obiekty są określone równaniami. Mogą to być np. kule, płaszczyzny, i wyjątkowo użyteczne i uniwersalnie stosowane powierzchnie parametryczne (płaty powierzchni), np. powierzchnie Béziera, Hermite’a to znaczy NURBS. Istnieją programy, które swoje działalność opierają głównie o tylko taki modus modelowania, przelecieć do nich wolno np. POV-Ray.

Dane trójwymiarowe mogą stać się pobrane ze świata rzeczywistego, np. za pomocą wspomnianych tomografów komputerowych, skanerów trójwymiarowych, ze zdjęć satelitarnych (topografia terenów) a ponadto ze zdjęć stereoskopowych. W animacji komputerowej wykorzystywana jest również sprawność motion capture, która polega na nagrywaniu ruchu człowieka – czujniki położenia umieszczane są w kluczowych punktach ciała: na rękach, nogach, głowie, karku itp. Wyznaczenie nagranych w ów strategia ruchów na sztuczne postacie nadaje ich ruchom niewinność, trudną do uzyskania klasycznymi metodami animacji.

Obiekty trójwymiarowe mogą również stać się stworzone przez człowieka w procesie modelowania.

Duże waga mają także techniki komputerowe, które automatycznie modelują skomplikowane efekty (takie jakim sposobem dym, pożoga, białe, mnóstwo) i obiekty (chmury, góry, drzewa).

Wizualizacja

Ponieważ w tej chwili wszystkie urządzenia komputerowe wyświetlają dwuwymiarowe obrazy, skutkiem tego z grafiką trójwymiarową związana jest bez owijania w bawełnę geometria wykreślna. Głównie w zastosowaniach inżynierskich (CAD) sceny trójwymiarowe przedstawione są w rzucie prostokątnym, jakkolwiek w pozostałych w rzucie perspektywicznym.

Efekty poglądowy rzutu perspektywicznego (skrót perspektywiczny) jest ogromnie zbliżony duchem do efektów obserwowanych w fotografii zaś w systemie wzrokowym człowieka. Przez analogię do aparatu fotograficznego (ewentualnie kamery), w grafice trójwymiarowej istnieje termin wirtualnej kamery, która tworzy “zwolnienie” sceny istniejącej w pamięci komputera. Kamerę wirtualną charakteryzują następujące parametry: punkt, tendencja w jakim jest skierowana zaś ogniskowa – mają one swoje wyraz w matematycznym modelu kamery.

Obrazy trójwymiarowe są tworzone głównie w technice rastrowej, wektorowo przedstawia się co maksimum obrysy, szkice itp.

Głównym problemem w obu przypadkach jest wyznaczanie powierzchni widocznych, a tym samym dobór tych obiektów (albo ich części), które są widoczne w danym rzucie. Robi się to np. za pomocą bufora Z, sortowania względem głębokości, śledzenia promieni.

Ponadto najczęściej obserwujemy delikatny kawałek sceny, a także pyskówka prawdopodobnie montować się z wielkiej liczby obiektów (sięgającej co więcej setek milionów), w związku z tym równie grunt jest epitet, które obiekty mogą być widoczne, ażeby produkować dopiero co te dane, które istotnie są potrzebne. Zobacz: wykorzenianie niewidocznych powierzchni.

Realizm


Odbicie i załamanie światła, miękkie cienie


Rozpraszanie światła wobec powierzchnią obiektu (ang. subsurface scattering)

Realizm obrazów generowanych przez mózg elektronowy jest w większości zastosowań niezwykle ważny. żeby go dochrapać się modeluje się oświetlenie: definiuje światła, powierzchniom obiektów trójwymiarowych nadaje odcień i fakturę, określa cienie rzucane przez obiekty, odbicia zwierciadlane, załamanie i rozpraszanie światła itd., itp.

Metody, które pozwalają na ogromnie dokładne reprezentacja scen trójwymiarowych są również niezmiernie kosztowne obliczeniowo (np. raytracing, radiosity). Z kolei szybkie, przybliżone metody cieniowania obiektów, tworzenia cieni, sparować zwierciadlanych są z powodzeniem wykorzystywane w grach komputerowych. Ogromnie popularną techniką uzyskiwania realizmu w scenie jest obliczanie oświetlenia na każdy punkt z osobna. Jest to działanie kosztowna obliczeniowo, niemniej jednak podziękowanie wspomaganiu sprzętowemu (Pixel Shader) możliwa do uzyskania animacji w czasie rzeczywistym .

W przypadku animacji grunt jest również by postępowanie obiektów, był możliwie w największym stopniu uśredniony do zachowania przedmiotów w świecie rzeczywistym.

Sprzęt

Współczesne karty graficzne potrafią demaskować obiekty trójwymiarowe zbudowane z wielokątów, wykonując dużą część obliczeń związanych z generowaniem grafiki 3D:

  • przekształcenia geometryczne (takie w jaki sposób piruet, skalowanie, projekcja perspektywiczne)
  • cieniowanie wielokątów
  • proste modele oświetlenia
  • teksturowanie wielokątów
  • mapy nierówności (tj. Bump Mapping, Normal Mapping)

Współczesne GPU pozwalają podziękowanie shaderom oprogramować faktycznie dowolne efekty, zarówno na poziomie wierzchołków jakże i pojedynczych pikseli.

Oprogramowanie

Do tworzenia grafiki 3D zostało stworzonych bez liku programów na różne platformy sprzętowe i systemy operacyjne. średnio programy te dzieli się na modelery (generowanie i analizowanie scen trójwymiarowych) tudzież renderery (tworzenie trójwymiarowego obrazu ewentualnie animacji, wspólnie z nakładaniem tekstur, efektami świetlnymi, itp.).

Niektóre w wyższym stopniu znane programy tego rodzaju to:

  • Bryce
  • 3D Pracownia Max
  • Amapi 3D
  • Anim8or
  • ArchiCAD
  • Blender
  • Cinema 4D
  • Houdini
  • LightWave
  • Maya
  • Poser
  • POV-Ray
  • Rhinoceros
  • SOFTIMAGE|XSI
  • Solid Edge
  • Terragen
  • Truespace
  • Zmodeler 3d

Istnieją również specjalizowane biblioteki programistyczne służące do tworzenia interakcyjnej grafiki 3D. W największym stopniu znane to OpenGL i DirectX.

Szczegółowe pojęcia

  • modelowanie
    • polygon
    • SubPatches
    • siatka
    • mapa UV
    • subdivision surfaces
    • box modeling
    • wierzchołek (vertex)
  • teksturowanie
    • mapowanie
    • tekstura proceduralna
    • image map
    • materiał
    • shader
    • titling
  • rigging
    • bone
    • łańcuch kinematyczny
    • kinematyka odwrotna (IK)
    • weight map
  • animowanie
    • klatka kluczowa
    • ścieżka
    • motion control
    • frame rate
  • oświetlenie
    • światło wolumetryczne
    • global illumination
    • caustics
    • shadow map
    • flara
    • cieniowanie płaskie
    • cieniowanie Gourauda
    • cieniowanie Phonga
    • HDR (High Dynamic Range)
  • rendering
    • renderer
    • scanline
    • radiosity
    • ray tracing
    • fotorealizm

Bounding volume

listopad 1st, 2008


Bryła brzegowa otaczająca projekt głowy

Bounding volume (bryła brzegowa, objetość ograniczająca) to w komputerowej grafice 3D kostka w uproszczony tryb przedstawiająca w jaki sposób najmniejszą przestrzeń, w której szczerze mieszczą się dane obiekty. Używa się ich, np. iżby sprowadzić detekcja kolizji i pytanie widoczności na ekranie zawartych w nich obiektów, w związku z tym iż na uproszczonych bryłach jest dozwolone bez liku szybciej i prościej wypełnić testy kolizji.

Obiekty w grafice 3D złożone są z pojedynczych polygonów. Ocena kolizji każdego z tysięcy polygonów z pierwszego obiektu z polygonami z drugiego obiektu trwa długo, wobec tego w pobliżu sprawdzaniu kolizji dwóch obiektów przedtem sprawdza się czyli ich bounding volume mają kolizję, a gdyby nie mają jest dozwolone od razu stwierdzić, iż zawarte w nich obiekty ponadto nie mają kolizji.

Najczęstsze typy bounding volume

  • Bounding sphere (ang. sphere - kulka) to jakim sposobem najmniejsza kulka bez reszty otaczająca cel. Jest dozwolone niesłychanie żwawo poddać próbie kolizję jednej kuli z drugą: para kule nie pokrywają się, jak dystans pośród ich środkami jest większa od sumy ich promieni.
  • Bounding box (ang. box - pudełko) to w jaki sposób najmniejszy prostopadłościan bez reszty obwodowy ustalony obiekt.
    Bounding box przypadkiem być ułożony:

    • w dowolnej pozycji, wówczas jest to oriented bounding box (OBB)
    • równo z osiami układu współrzędnych - axis-aligned bounding box (AABB)

Łatwiej jest przetestować kolizję AABB, lecz OBB co niemiara dokładniej opisuje konfiguracja obiektu.

Często pierwej sprawdza się kolizje bounding sphere, później kolizję bounding box, a na końcu kolizję samych obiektów.

Hierarchie brył brzegowych

Dodatkowo bryły brzegowe grupuje się w kolejne bryły brzegowe, a powtarzając procedurę, tworzy w ów podejście hierarchie (o strukturze drzewa, z jedną bryłą brzegową obejmującą całą scenę). Hierarchie te (BVH, Bounding Volume Hierarchies) używa sie uniwersalnie w pobliżu wykrywaniu kolizji a renderowaniu scen dynamicznych (rachunek samego BVH jest kosztowne, jakkolwiek jego zgrubna odświeżenie po zmianie pozycji obiektów jest linia prosta) techniką śledzenia promieni.

Obliczanie optymalnego BVH na rzecz danego zastosowania jest zadaniem trudnym (wielkość możliwych podziałów obiektów w binarnym BVH z AABB jest z grubsza 2n). Korzysta się lub z pomocy programu do modelowania, w którym taka hierarchia jest w tym momencie zawarta w obiektach, lub używa algorytmów przybliżonych (używając prostych AABB, rozpatrując jeno parę siła, tudzież stosują inne heurezy).


Piosenki Toma Waitsa Mój czas Goodbye Marchef w butonierce Szukam nowego siebie
Strona | Strona | sport | moto | ogrzewanie