Trzeci wymiar — modele 2D i 3D
🎯 Po co Ci to?
Filmy animowane, gry, projekty architektoniczne, protezy drukowane w 3D, wizualizacje cząsteczek w medycynie, mapy terenu — wszystko to żyje w grafice trójwymiarowej. To rozszerzenie idei wektorowej (13.1) o jeden wymiar: obiekt opisany nie jako płaski rysunek, lecz jako model w przestrzeni, który można obejrzeć z każdej strony, oświetlić, animować. Podstawa wymienia projektowanie 2D i 3D jako umiejętność rozwijającą wyobraźnię przestrzenną — cenną w medycynie, budownictwie, inżynierii. Ta krótka jednostka daje Ci mapę pojęciową tego świata: co to znaczy „model 3D" i jak z modelu powstaje obraz na ekranie.
✅ Czego się nauczysz
Po tej jednostce potrafisz:
- opisać, czym jest model 3D (siatka wierzchołków, krawędzi, ścian) i czym różni się od obrazu 2D;
- wyjaśnić na poziomie idei renderowanie: od modelu do obrazu (rzutowanie, oświetlenie);
- (w rozszerzeniu) opisać animację jako sekwencję klatek i rolę interpolacji.
🔁 Przypomnij sobie
Z 13.1: grafika wektorowa = przepis na kształty (3D to przepis w przestrzeni); z 2.5: animacja to obrazy pokazywane szybko; z 10.1: punkty i geometria we współrzędnych (teraz trójwymiarowych).
📘 Wyjaśnienie
Model 2D vs 3D. Grafika 2D (rastrowa czy wektorowa) opisuje płaski obraz. Model 3D opisuje obiekt w przestrzeni — coś, co ma głębię i można obejrzeć z każdej strony. Najczęstsza reprezentacja to siatka (mesh): zbiór wierzchołków (punktów w przestrzeni, o współrzędnych x, y, z — geometria z 10.1 w trzech wymiarach!), połączonych krawędziami w ściany (zwykle trójkąty), które tworzą powierzchnię obiektu. Model konia to tysiące trójkącików układających się w jego kształt.
Rozpoznajesz? Siatka wierzchołków połączonych krawędziami to graf (9.5) osadzony w przestrzeni — struktury danych z części II są wszędzie, także tu.
Od modelu do obrazu: renderowanie. Model 3D istnieje w pamięci jako liczby (współrzędne wierzchołków) — ale ekran jest płaski i rastrowy. Renderowanie to proces zamiany modelu 3D w obraz 2D: (1) rzutowanie — jak zrobić „zdjęcie" trójwymiarowej sceny z określonego punktu widzenia (kamery), spłaszczając ją na płaszczyznę ekranu (dalsze obiekty mniejsze — perspektywa); (2) oświetlenie i cieniowanie — obliczenie, jak światło pada na każdą ścianę (jasność zależy od kąta między ścianą a źródłem światła — geometria!); (3) teksturowanie — nałożenie „skóry" (rastrowej — 13.1!) na powierzchnię. Efekt: z surowej siatki liczb powstaje realistyczny obraz. Renderowanie klatki filmu animowanego potrafi zająć godziny obliczeń (miliony trójkątów, śledzenie promieni światła — pamiętasz Monte Carlo z 10.3? Śledzenie promieni to ono!); gra musi to zrobić 60 razy na sekundę, stąd potężne karty graficzne.
[R] Animacja. Znasz definicję z 2.5: animacja to obrazy (klatki) pokazywane szybko. W 3D animuje się model: zmienia się pozycje wierzchołków (albo całych obiektów) klatka po klatce, a renderowanie zamienia każdą pozę na obraz. Kluczowa technika to klatki kluczowe i interpolacja: animator ustawia model tylko w wybranych, ważnych momentach (klatka kluczowa: „ręka w górze" w chwili 0, „ręka w dole" w chwili 1 s), a komputer wypełnia klatki pośrednie, płynnie przechodząc między pozami (interpolacja — liczenie stanów pomiędzy). Zamiast rysować 60 klatek na sekundę ręcznie, animator zadaje kilka kluczowych, resztę liczy maszyna. To oszczędność pracy analogiczna do sum prefiksowych czy memoizacji (policz kluczowe, resztę wyprowadź) — i powód, dla którego współczesna animacja w ogóle jest wykonalna. Formaty plików 3D przechowują model, tekstury, oświetlenie i klatki kluczowe animacji; przy eksporcie do filmu wszystko renderuje się w sekwencję obrazów.
💭 Pomyśl: Ten sam model 3D domu można wyrenderować jako fotorealistyczną wizualizację (godziny obliczeń) albo jako uproszczony podgląd w czasie rzeczywistym (60 klatek/s). Co się zmienia między tymi trybami i czemu nie da się mieć obu naraz (na razie)?
Sprawdź odpowiedź
Zmienia się jakość symulacji światła: fotorealizm śledzi promienie światła odbijające się po scenie (ray tracing — Monte Carlo z 10.3, miliony losowych promieni na klatkę), licząc realistyczne cienie, odbicia, rozproszenia — stąd godziny. Podgląd czasu rzeczywistego używa uproszczonych, przybliżonych modeli oświetlenia (szybkich, ale mniej dokładnych), by zdążyć w 1/60 sekundy. To znajomy handel dokładność–szybkość (jak scalanie vs szybkie z 6.6/6.7, jak Monte Carlo vs wzór z 10.3): albo wiernie i wolno, albo w przybliżeniu i błyskawicznie. Granica przesuwa się z mocą kart graficznych — dzisiejsze gry robią w czasie rzeczywistym to, co dekadę temu wymagało godzin; „na razie" w pytaniu jest coraz mniej prawdziwe.
🌍 Powiązania
Grafika 3D napędza całe branże: film (animacja i efekty specjalne), gry, architektura i inżynieria (projekty przed budową), medycyna (wizualizacja z tomografii, planowanie operacji, protezy), druk 3D (model → fizyczny obiekt), wirtualna i rozszerzona rzeczywistość, symulacje naukowe. Wyobraźnia przestrzenna, którą ćwiczy praca z modelami 3D, jest cenna daleko poza informatyką — chirurg planujący operację i inżynier projektujący most myślą modelami przestrzennymi. A pod spodem, jak widziałeś, pracują znajome pojęcia: geometria (10), grafy (9.5), Monte Carlo (10.3), reprezentacja (2) — 3D to nie osobny świat, lecz zastosowanie fundamentów.
🛠️ Teraz Ty
Jeśli masz dostęp do darmowego narzędzia 3D (jest ich sporo, także przeglądarkowych) — zbuduj prostą scenę z kilku brył, ustaw kamerę i światło, wyrenderuj. Obejrzyj model w trybie siatki (widać trójkąty!) i po renderowaniu. Bez komputera: naszkicuj, z ilu mniej więcej trójkątów składałby się model sześcianu (proste!), a z ilu — kuli (i czemu kula wymaga ich znacznie więcej). [R] Opisz na przykładzie skoku postaci, które klatki byłyby kluczowe, a które interpolowane.
📐 Definicje tej lekcji
- Model 3D (siatka) — obiekt w przestrzeni jako wierzchołki (x,y,z) + krawędzie + ściany (trójkąty); graf w przestrzeni.
- Renderowanie — zamiana modelu 3D w obraz 2D: rzutowanie (perspektywa) + oświetlenie + teksturowanie.
- [R] Klatki kluczowe i interpolacja — animator zadaje ważne pozy, komputer wylicza klatki pośrednie.
📌 Najważniejsze w pigułce
- Model 3D to opis obiektu w przestrzeni (siatka wierzchołków) — rozszerzenie idei wektorowej o głębię.
- Renderowanie zamienia model w obraz: rzutowanie + oświetlenie + tekstury; realizm kosztuje czas (śledzenie promieni = Monte Carlo).
- [R] Animacja 3D: klatki kluczowe + interpolacja — zadaj ważne pozy, resztę policz.
🎒 Zadania
- Wyjaśnij, czemu model 3D to „przepis" bliższy grafice wektorowej (13.1) niż rastrowej. Co jest odpowiednikiem „powiększenia bez strat"?
Wskazówka i odpowiedź
Model 3D przechowuje geometrię (współrzędne wierzchołków, kształty) — przepis, nie piksele, jak wektor. Odpowiednik skalowania bez strat: model można wyrenderować w dowolnej rozdzielczości (od miniatury po billboard) i z dowolnego kąta bez utraty jakości — bo za każdym razem liczy się obraz od nowa z geometrii. Raster (gotowy obraz) zna tylko jeden widok w jednej rozdzielczości. 3D to wektor rozszerzony o wymiar i o możliwość oglądania z każdej strony — maksimum elastyczności reprezentacji.
- Renderowanie jednej klatki filmu animowanego zajmuje 2 godziny. Film ma 90 minut przy 24 klatkach/s. Ile godzin obliczeń (na jednym komputerze) i czemu studia używają „farm renderujących"?
Wskazówka i odpowiedź
Klatek: $90 \times 60 \times 24 = 129,600$; razy 2 h = 259 200 godzin ≈ 30 lat na jednym komputerze! Dlatego studia używają farm renderujących — tysięcy komputerów liczących klatki równolegle (klatki są niezależne, więc idealnie się zrównoleglają — jak zadania w naszych workflow!). 30 lat na jednym, kilka tygodni na farmie tysiąca maszyn. To praktyczna lekcja o równoległości: gdy zadania są niezależne, rzucasz na nie więcej maszyn i czas maleje proporcjonalnie. (Renderowanie to modelowy przykład problemu „żenująco równoległego".)
- Model kuli można zrobić z 100 trójkątów (kanciasta) albo z 10 000 (gładka). Jaki jest handel i jak wybór zależy od zastosowania (tło gry vs bohater filmu)?
Wskazówka i odpowiedź
Handel: więcej trójkątów = gładszy wygląd, ale wolniejsze renderowanie i większy plik; mniej = szybciej i lżej, ale kanciasto. Wybór wg zastosowania: daleki obiekt tła w grze (widziany jako kilka pikseli) — 100 trójkątów wystarczy, marnotrawstwem byłoby więcej; bohater filmu w zbliżeniu — 10 000+ (widać każdą krzywiznę). Gry stosują nawet poziomy szczegółowości: ten sam obiekt ma wersję gęstą (blisko) i rzadką (daleko), przełączane wg odległości — optymalizacja „płać za szczegół tylko tam, gdzie widać". To znów dobór nakładu do potrzeby, jak w całej inżynierii.
🔍 Sprawdź, czy umiesz
- Opisać model 3D jako siatkę i wskazać w niej graf.
- Wyjaśnić renderowanie: od geometrii do obrazu (rzutowanie, światło, tekstury).
- [R] Opisać animację przez klatki kluczowe i interpolację.