GRAFIKA
KOMPUTEROWA
Opracowanie: Daniel Jaroszewski
Źródło: „Grafika Komputerowa – metody i narzędzia”
Redakcja: Jan Zabrodzki, WNT Warszawa
LITERATURA
• „Elementy grafiki komputerowej”
. M. Jankowski, WNT
• „Grafika komputerowa, metody i narzędzia”.
J.Zabrodzki, WNT
• „Projektowanie i analiza algorytmów”.
A.V. Aho, J.E.Hopcroft,
J.D.Ullman, PWN
• „Wprowadzenie do grafiki komputerowej”.
I.O.Ahgell, WNT
• „Psychologiczne aspekty przetwarzania informacji wizualnej”.
J.Modłowski, WNT
• „Operacje w przestrzeniach kolorów dla potrzeb cyfrowej
generacji obrazu”
. J.Rzeszut, Politechnika Warszawska.
WSTĘP
Data narodzin grafiki komputerowej - rok
1950
, kiedy w
Massachusetts Institute of Technology zbudowano pierwszy komputer
wyposażony w grafoskop.
Rozpoznawanie
Przetwarzanie
Grafika komputerowa
Wyodrębnienie
istotnych informacji
zawartych w obrazie
Przetwarzanie
istniejącego obrazu
w inny z
wykorzystaniem
różnych
algorytmów
Synteza obrazów
metodami
cyfrowymi
OBRAZ
Historycznie, prace związane z obrazem rozwijały się w informatyce w
trzech podstawowych kierunkach:
KLASYFIKACJA GRAFIKI KOMPUTEROWEJ
GRAFIKA KOMPUTEROWA
DWUWYMIAROWA
2D
TRÓJWYMIAROWA
3D
RASTROWA
WEKTOROWA
FOTOREALISTYCZNA
CZASU RZECZYWISTEGO
Ze względu na technologię tworzenia grafiki
GRAFIKA RASTROWA
Obraz
grafiki rastrowej
jest plikiem
reprezentującym pionowo-poziomą
siatkę odpowiednio kolorowanych
pikseli na monitorze komputera,
drukarce lub innym urządzeniu
wyjściowym.
Kolor każdego piksela jest definiowany
osobno. Obrazki z głębią kolorów RGB
często składają się z kolorowych
pikseli zdefiniowanych przez trzy bajty
– jeden bajt na kolor czerwony, jeden
na zielony i jeden na kolor niebieski.
Mniej kolorowe obrazki potrzebują
mniej informacji na piksel, np. obrazek
w kolorach czarnym i białym wymaga
tylko jednego bitu na każdy piksel.
GRAFIKA WEKTOROWA
Grafika wektorowa (obiektowa)
–
jeden z dwóch podstawowych rodzajów
grafiki komputerowej, w której obraz
opisany jest za pomocą figur
geometrycznych.
Obrazy wektorowe można łatwo
przetwarzać w ich odpowiedniki
rastrowe podając jedynie docelową
rozdzielczość obrazu rastrowego.
Operacja konwersji w przeciwną stronę,
tzw.
wektoryzacja
lub trasowanie, jest
trudna i niejednokrotnie nie daje
spodziewanych wyników. Głównym
problemem jest tzw. wyszukiwanie
krawędzi, które często nie jest
oczywiste.
GRAFIKA FOTOREALISTYCZNA I CZASU
RZECZYWISTEGO
•wykorzystywana w grach
komputerowych i systemach czasu
rzeczywistego
•niewielka złożoność obrazu
•uproszczone tekstury
•prymitywny model oświetlenia
•szybkie, sprzętowo wspomagane
algorytmy renderowania
•długi czas generowania obrazu
•zaawansowane algorytmy
odwzorowania oświetlenia
•złożone modele, odwzorowanie
szczegółów i detali
•wykorzystywana w wysokiej
klasy
wizualizacjach
•podstawa współczesnych
efektów
specjalnych w
filmie
CZYM JEST GRAFIKA KOMPUTEROWA DZIŚ
Obszar zainteresowań współczesnej grafiki komputerowej:
• prezentacja danych w postaci różnego rodzaju wykresów
• animacja na potrzeby filmów rysunkowych i gier komputerowych
• oprogramowanie interakcyjne przy realizacji systemów okien
• prace edytorskie
• prezentacja wyników złożonych obliczeń i eksperymentów
naukowych
• medycyna
• systemy projektowania
• produkcja reklam
• przemysł rozrywkowy
• tworzenie złożonych systemów czasu rzeczywistego na potrzeby
symulatorów lotu
• symulacja sztucznej rzeczywistości - okulary stereoskopowe, czujniki
umożliwiające interaktywną pracę z systemem
CZYM JEST GRAFIKA KOMPUTEROWA DZIŚ
Zagadnienia grafiki komputerowej:
• Percepcja obrazów przez człowieka
. Metody algorytmiczne oraz
rozwiązania sprzętowe muszą uwzględniać możliwości percepcji
wzrokowej człowieka w aspekcie budowy i działania oka, jak i
psychofizycznej interpretacji informacji przez wyższe warstwy
systemu wzrokowego.
• Barwa
. Modele barw stosowane w grafice komputerowej oraz zasady
wykonywania podstawowych operacji dotyczących wyznaczania
barwy piksela.
• Algorytmy tworzenia sceny
. Algorytmy rastrowe, podstawowe
przekształcenia geometryczne na płaszczyźnie i w przestrzeni.
Reprezentacja obiektów graficznych, modelowanie krzywych i
powierzchni. Algorytmy wyznaczania linii i powierzchni zasłoniętych.
• Modele oświetlenia
. Jednym z podstawowych elementów
definiującym scenę trójwymiarową jest określenie warunków
oświetlenia oraz właściwości powierzchni oświetlanych obiektów.
• Wizualizacja
. Metody wizualizacji sceny przy wielokątowej
reprezentacji obiektów, metoda śledzenia promieni i metoda
energetyczna. Pokrywanie powierzchni teksturą - wzorem
wyznaczonym analitycznie, pochodzącym ze zdjęcia lub
wyznaczonym w inny sposób.
CZYM JEST GRAFIKA KOMPUTEROWA DZIŚ
Zagadnienia grafiki komputerowej:
• Obrazy stereoskopowe
. Widzenie stereoskopowe, zasady tworzenia
obrazów stereoskopowych, techniczne metody obserwacji takich
obrazów.
• Animacja
. Sięganie do metod modelowania z innych dziedzin (fizyka,
mechanika, biologia, itd.). Automatyzacja procesu generowania
sekwencji animowanych.
• Sprzęt dla potrzeb grafiki komputerowej
. Architektura sprzętu
obliczeniowego dla potrzeb grafiki. Specjalizowane układy scalone
VLSI: procesory graficzne, specjalizowane pamięci oraz przetworniki
cyfrowo-analogowe. Zasady budowy kart graficznych oraz
charakterystyka stacji graficznych - urządzeń projektowanych
specjalnie do zastosowań graficznych.
• Reprezentacja i struktury danych
. Modelowanie geometryczne,
reprezentowanie obiektów geometrycznych i struktury danych
stosowane w systemach graficznych.
• Biblioteki graficzne
. Biblioteki procedur o różnym poziomie
złożoności - ważne dla programistów zajmujących się
zastosowaniami z zakresu grafiki.
• Kompresja i standardy
. Metody kompresji obrazów i sekwencji video.
Standardy obowiązujące i przyjęte de facto (praktyka wyprzedza
prace standaryzacyjne).
URZĄDZENIA
WYŚWIETLAJĄCE
WYŚWIETLACZ CRT
Chronologicznie pierwszym i wciąż jeszcze najbardziej
rozpowszechnionym urządzeniem wyświetlającym jest
lampa
elektronopromieniowa CRT
.
Spośród wszystkich typów wyświetlaczy najbardziej nadaje się do
wyświetlania obrazów barwnych.
Osiągane rozdzielczości dochodzą do 4096x3300 dla obrazów czarno-
białych oraz do 2048x2048 dla obrazów kolorowych.
Schemat budowy lampy elektropromieniowej
Wyrzutnia
elektrono
wa
Obszar
formowania
wiązki
Obszar
ogniskowania
Układ odchylania
Ekran
Luminofo
r
Wiązka
elektronowa
Zmiana
jasności
plamki
regulowana jest
poprzez zmianę
prądu
anodowego.
Czas poświaty:
10..60s
Napięcie
anodowe:
15..20kV
STEROWANIE WYŚWIETLACZEM
WEKTOROWYM
Najprostszy sposób sterowania stosowany jest w
lampach
wektorowych
, w których obraz składa się wyłącznie z odcinków
kreślonych plamką o stałej jasności. Możliwe są do uzyskania
rozdzielczości 8000x8000 punktów.
Wyświetlenie odcinka polega na:
- ustawieniu zespołów odchylających tak, aby położenie plamki
odpowiadało początkowi odcinka,
- włączeniu prądu w obwodzie anodowym,
- zmianie sterowania zespołami odchylającymi w sposób
zapewniający liniowe przesuwanie się plamki, aż do osiągnięcia
punktu końcowego odcinka,
- wyłączeniu prądu w obwodzie anodowym.
Częstotliwość odnawiania zależy od złożoności obrazu (ilość
odcinków). Przy zbyt małej częstotliwości odnawiania pojawia się
migotanie obrazu. Częstotliwość zaniku migotania CFF zależy od
warunków obserwacji, przyjmuje się że jest to wartość nie mniejsza
niż 20Hz.
W najszybszych systemach można w ten sposób wyświetlić ponad 100
000 odcinków.
STEROWANIE WYŚWIETLACZEM
RASTROWYM
Wyświetlanie obrazu rastrowego wiąże się z systematycznym
przemiataniem wiązką elektronową kolejnych linii ekranu. Po
zakończeniu wyświetlania każdej linii plamka jest wygaszana na czas
potrzebny do przejścia do linii następnej (
powrót poziomy
). Po
wyświetleniu ostatniej linii plamka jest przesuwana do pierwszej linii
(
powrót pionowy
). Częstotliwość odnawiania ekranu nie zależy od
stopnia złożoności ekranu.
Zasada wyświetlania obrazu rastrowego
Powrót
poziomy
Powrót
pionowy
Oprócz przeglądania kolejnych linii
rastra, możliwe jest
wybieranie
międzyliniowe
. Obraz zestawiany
jest z linii parzystych i
nieparzystych wyświetlanych w
osobnych przebiegach.
Produkowane obecnie monitory potrafią automatycznie dostosowywać
impulsy synchronizacji do wyświetlanych rozdzielczości ekranu.
W monitorach mogących wyświetlać rozdzielczości 1280x1024 pikseli
częstotliwość odchylania pionowego wynosi 72Hz, a poziomego
64kHz.
Częstotliwośc przełączania pikseli wynosi, w tym przypadku ok.
100MHz.
WYŚWIETLACZ MONOCHROMATYCZNY CRT
W wyświetlaczu
monochromatycznym
barwa obrazu zależy od
zastosowanego luminoforu. Najczęściej stosuje się materiały
emitujące światło zielone, bursztynowe i zbliżone do białego. Zakres
zmian jasności plamki zależy od reprezentacji pikseli w pamięci i
dochodzi do 4096 (zdjęcia rengenowskie).
Wielkość ekranu określana jest przez podanie długości przekątnej
ekranu podawanej w calach. Stosunek długości boków ekranu wynosi
zazwyczaj 4:3, a w zastosowaniach specjalnych (np. poligraficznych)
1:1 i 3:4.
Płaski ekran eliminuje
wpływ odbić, zwiększa
także różnice odległości
punktów ekranu od
zespołu ogniskującego.
Spłaszczenie ekranu
wymaga dynamicznej
korekcji ogniskowania
lub zmian powodujących
wydłużenie krzywizny
ekranu bez zmiany
długości lampy.
Schemat powstawania odblasków
WYŚWIETLACZ KOLOROWY CRT
Wyświetlanie obrazów
kolorowych
wymaga zastosowania luminoforów
emitujących światło o różnych długościach fali. Mieszanie
emitowanego światła ma charakter addytywny, a jako podstawowe
zostały wybrane barwy: czerwona (
R
), zielona (
G
), i niebieska (
B
).
W
lampach penetracyjnych
luminofory są nałożone na całej
powierzchni ekranu. Dotarcie do głębszej warstwy wymaga większej
energii wiązki.
Znacznie powszechniejszą metodą jest nakładanie luminoforu w
postaci regularnie rozmieszczonych obszarów. Aby właściwie pobudzić
ekran należy zastosować trzy wiązki elektronów - oddzielnie dla
każdej z barw składowych.
- Technologia
delta
: wyrzutnie elektronów umieszczone są w
wierzchołkach trójkąta, a luminofor nanoszony jest w postaci kropek
tworzących triady.
- Technologia
IL
(In-Line): wiązki usytuowane są w jednej linii, a
luminofor
nanoszony jest w postaci pionowych pasków. Taka
konstrukcja zapewnia lepszą zbieżność wiązek.
WYŚWIETLACZ KOLOROWY CRT
Rozdzielenie barw osiąga się dzięki zastosowaniu tzw.
maski
, czyli
cienkiej blachy stalowej z precyzyjnie wywierconymi otworami. Maska
jest umieszczona blisko powierzchni luminoforu, w taki sposób aby
każda wiązka pobudzała wyłącznie luminofor jednej barwy. Odległość
pomiędzy sąsiednimi obszarami jednego rodzaju określa
rozdzielczość
wyświetlacza i sięga 0,21mm.
Maska
Ekran
pokryty
luminoforem
WYŚWIETLACZ CIEKŁOKRYSTALICZNY
Najpoważniejszą konkurencję dla monitorów CRT stanowią
wyświetlacze ciekłokrystaliczne
(LCD).
Ciekłe kryształy
- to nazwa grupy substancji, których właściwości nie
odpowiadają żadnemu ze znanych stanów skupienia. Cząstki
podlegają samoistnemu uporządkowaniu - podobnie jak w kryształach,
natomiast konsystencją przypominają, na ogół, ciecz.
Wyświetlacze ciekłokrystaliczne są płaskie (nie występują problemy
krzywizny ekranu), tanie, lekkie i pobierają niewiele energii. Wadami
tych urządzeń były do niedawna niski kontrast i jasność, ograniczona
rozdzielczość i kąt obserwacji.
W najprostszym przypadku wyświetlacz LCD jest zbudowany z dwóch
przezroczystych polaryzatorów z naniesionymi elektrodami,
oddzielonych warstwą ciekłego kryształu. Specjalna mikroobróbka
sprawia, że najdogodniejszym, energetycznie, ułożeniem cząstek w
krysztale jest struktura taśmy skręconej pod kątem 90 stopni.
W takim stanie kryształ jest optycznie czynny, tzn. powoduje zmianę
polaryzacji światła.
WYŚWIETLACZ CIEKŁOKRYSTALICZNY
Światło bez
większych strat
odbija się w
warstwie
odblaskowej i
powraca do
obserwatora,
powodując wrażenie
jednolitej,
szarej
barwy
.
Odbicie
Pochłanianie
Polaryzator
Odbłyśnik
Cząsteczki
Światło
zewnętrzn
e
Ilustracja działania wyświetlacza ciekłokrystalicznego TN
Doprowadzenie
napięcia do elektrod
powoduje zmianę
uporządkowania
cząstek.
Spolaryzowana
cząstka dociera bez
zmian do tylnej
ścianki, gdzie jest
pochłaniana.
Efektem jest
zaczernienie
punktu
wyświetlacza.
WYŚWIETLACZ CIEKŁOKRYSTALICZNY
Prezentowana dotychczas technologia nosi oznaczenie
TN
.
Dopóki liczba wyświetlanych segmentów jest niewielka (mała
rozdzielczość obrazu), dopóty można nimi sterować bezpośrednio. Przy
większej rozdzielczości zachodzi potrzeba sterowania segmentami
wyświetlacza z
podziałem czasu
(każda z N grup jest pobudzana przez
1/N czasu). Mimo znacznej bezwładności ciekłego kryształu powoduje
to zmniejszenie kontrastu obrazu.
Kontrast obrazu (dodatkowo zmniejszany przez odbicia w
poszczególnych warstwach wyświetlacza) wynosi tylko 10:1, natomiast
użyteczny kąt obserwacji nie przekracza ±20 stopni.
WYŚWIETLACZ CIEKŁOKRYSTALICZNY
W celu polepszenia parametrów wyświetlaczy ciekłokrystalicznych LCD
zwiększono kąt skręcenia płaszczyzny polaryzacji z 90 do 180..270
stopni. Ta technologia uzyskała oznaczenie
STN
. Te zabiegi zwiększyły
kontrast obrazu do wartości 20:1 oraz kąt obserwacji do ±40 stopni.
Technologia ta wymaga podświetlania ekranu.
Warstwa STN w różny sposób
skręca płaszczyznę polaryzacji
poszczególnych składowych
przechodzącego przez nią światła,
wskutek czego czarne znaki są
wyświetlane na żółtym tle. W celu
zneutralizowania barwy tła są
stosowane kompensatory optyczne,
zawierające odwrotnie skręcony
ciekły kryształ. Umożliwia to
uzyskanie obrazu o podwojonym
kontraście i kącie obserwacji rzędu
±50 stopni.
Wyświetlacze te są droższe,
grubsze i cięższe.
Polaryzator
Polaryzator
Elektrody
Odbłyśnik
Ciekły
kryszta
ł
Szkło
WYŚWIETLACZ CIEKŁOKRYSTALICZNY
Najnowsza technologia LCD polega na wyposażeniu matrycy
wyświetlacza w elementy aktywne (klucz tranzystorowy wykonany w
technologii cienkowarstwowej
TFT
). Umożliwia to wyposażenie
wyświetlacza w integralną pamięć obrazu i sterowanie matrycy
słabszymi sygnałami, co prowadzi do zmniejszenia przesłuchów.
Osiągany kontrast sięga 80:1, a kąt obserwacji ±70 stopni.
Technologie STN i TFT umożliwiają uzyskiwanie
obrazów barwnych
.
Wymaga to zwiększenia ilości komórek matrycy (na obszarze 1 piksela
wykonuje się trzy komórki). Barwy podstawowe uzyskuje się poprzez
wykorzystanie odpowiednich filtrów i podświetlanie ekranu.
W większości wyświetlaczy LCD
sterowanie jasnością piksela
jest
dwuwartościowe. W celu uzyskania większej liczby poziomów jasności
należy sterować wypełnianiem przebiegów sterujących, polegające na
zmianie proporcji czasu, w którym piksel jest włączony i wyłączony.
Szczególnym zastosowaniem wyświetlaczy LCD, są
urządzenia
projekcyjne
. Wyświetlacz stanowi, w takim przypadku, przeźrocze o
programowalnej zawartości.
WYŚWIETLACZ PLAZMOWY
Wyświetlacze plazmowe
wykorzystują promieniowanie wydzielane
przez atomy gazu wzbudzone pod wpływem pola elektrycznego.
Wyświetlacze tego typu (PDP) emitują światło (nie wymagają
podświetlenia). Obraz jest jasny, stabilny i wolny od zniekształceń, a
kąt obserwacji wynosi około 140 stopni. Wyświetlacz jest lekki, płaski,
odporny na wstrząsy i wibracje, zasadniczą jego wadą jest duże
zapotrzebowanie energetyczne. W niektórych zastosowaniach istotne
jest to, że wyświetlacz plazmowy może być przeźroczysty.
Emisja
światła
widzialnego
Emisja UV
Ścianka
dzieląca
komórki
Wyładowani
e
Luminofor
Mieszanina
ksenonowa
Szkło
Elektrody
Budowa komórki wyświetlacza plazmowego
W kolorowych
wyświetlaczach
plazmowych każdy
logiczny piksel składa się
z trzech umieszczonych
obok siebie komórek
wydzielających światło
barw podstawowych.
Mieszanina gazów
zawiera, w takim
przypadku większą ilość
ksenonu, dzięki czemu
emitowane jest głównie
promieniowanie
ultrafioletowe,
pobudzające luminofor.
WYŚWIETLACZ ELEKTROLIMINESCENCYJNY
W wyświetlaczu elektroluminescencyjnym
ELD
cienka warstwa
materiału o właściwościach świecenia pod wpływem bodźców
elektrycznych, pobudzana jest poprzez zmienne pole elektryczne.
Wartość napięcia sterującego wynosi 100..215V, przy częstotliwości
zmian napięcia 50..1000Hz. Czas bezawaryjnej pracy wynosi 10
000..40 000h. Większość takich urządzeń wykorzystywana jest do
podświetlania ciekłych kryształów, a jedynie 10..20% przypada na
inne zastosowania. Kąt obserwacji dochodzi do 160 stopni, a typowy
kontrast 20:1.
W odróżnieniu od innych technologii wyświetlacze ELD wykonywane
są wyłącznie z ciał stałych - dzięki temu są cienkie, lekkie, zwarte
konstrukcyjnie i dobrze znoszą zmiany temperatur.
Elektrody
Warstwa
świecąca
Szklane
podłoże
Warstwy
izolacyjn
e
Emisja światła
PORÓWNANIE WYŚWIETLACZY
Parametr
Pobór mocy
Rozmiary ekranu
Grubość
Waga
Zwartość
Jasność
Rozdzielczość
Kontrast
Liczba poziomów
jasności
Kąt obserwacji
Odwzorowanie koloru
Koszt
CRT
+
+++
-
-
+
+++
+++
+++
+++
+++
+++
niski
LCD
+++
+
+++
+++
+++
++
++
++
+
+
++
niski
PDP
+
+++
++
+++
+++
+++
++
++
+
+++
+
wysoki
ELD
++
++
+++
+++
+++
+++
++
++
+
++
++
wysoki
Porównanie zalet (+) i wad (-) podstawowych technologii wyświetlania obrazów
GEOMETRIA
W PRZESTRZENI
Do opisu obiektów
trójwymiarowych najczęściej używa
się
kartezjańskiego lewoskrętnego
układu współrzędnych
.
Czasami przydatniejsze jest
korzystanie ze
współrzędnych
sferycznych
.
x = r cos sin
y = r
sin
z = r sin cos
Współrzędne (x, y, z) punktu P R
3
traktujemy jako
macierz
wierszową
.
Wektory
podawane są w postaci
składowych umieszczonych w
nawiasach kwadratowych, np.:
w = [x, y, z]
PODSTAWOWE OBIEKTY I POJĘCIA
X
Y
Z
Lewostronny układ współrzędnych kartezjańskich
X
Y
Z
Współrzędne sferyczne
P = P(r, , )
r
Długość wektora
|w| rozumiemy jako
długość euklidesową:
|w| = (x
2
+ y
2
+ z
2
)
1/2
Iloczyn skalarny
definiujemy jako liczbę:
w
1
w
2
= |w
1
||w
2
| cos (w
1
, w
2
) =
= x
1
x
2
+ y
1
y
2
+ z
1
z
2
Iloczyn wektorowy
wektorów w
1
i w
2
to
wektor w = w
1
x w
2
o następujących
własnościach:
- wektor w jest prostopadły do obu
wektorów
- trójka uporządkowana wektorów w, w
1
,
w
2
jest dodatnio
zorientowana, tzn.
det(w
1
, w
2
, w) > 0
- |w| = |w
1
||w
2
| sin (w
1
, w
2
)
w1 x w2 = [y
1
z
2
- y
2
z
1
, x
2
z
1
- x
1
z
2
, x
1
y
2
-
x
2
y
1
]
PODSTAWOWE OBIEKTY I POJĘCIA
w = w1 x w2
w1
Iloczyn wektorowy
w2
(w1,w2)
Równanie prostej przechodzącej przez dwa punkty
P
1
= (x
1
,y
1
, z
1
) i P
2
=
(x
2
,y
2
, z
2
) możemy zapisać parametrycznie:
x(t) = x
1
+ t(x
2
- x
1
)
t(-, +)
y(t) = y
1
+ t(y
2
- y
1
)
jeśli t ograniczymy do przedziału [0, 1], to
będzie
z(t) = z
1
+ t(z
2
- z
1
)
stanowiło parametryczne przedstawienie
odcinka
Płaszczyznę
określamy podając punkt P
0
= (x
0
, y
0
, z
0
) oraz wektor
prostopadły do płaszczyzny (wektor normalny) n = [x
n
, y
n
, z
n
]. Wtedy dla
dowolnego punktu
P = (x, y, z) wektor P - P
0
jest prostopadły do n, czyli n°(P - P
0
) = 0.
Stąd równanie płaszczyzny postaci:
x
n
x +y
n
y + z
n
z = c
c = x
n
x
0
+ y
n
y
0
+ z
n
z
0
Równanie płaszczyzny zawierającej trzy niewspółliniowe punkty
P
1
, P
2
, P
3
wyprowadza się z zależności:
((P
2
- P
1
) x (P
3
- P
1
)) (P - P
1
) = 0
Jeśli dana jest prosta P(t) = P
0
+ tk i płaszczyzna opisana równaniem n
P = c, to
punkt przecięcia prostej z płaszczyzną
określa wartość:
t = (c - nP
0
) / (nk)
PODSTAWOWE OBIEKTY I POJĘCIA
Przesunięcie
(translacja) punktu P = (x, y, z) o wektor [tx, ty, tz] daje
punkt
P’ = (x’, y’, z’) o współrzędnych:
x’ = x + tx
y’ = y + ty
z’ = z + tz
Skalowanie
definiuje się wzorami:
x’ = sx x
y’ = sy y
z’ = sz z
Obrazem punktu P = (x, y, z) po
obrocie
o kąt wokół osi
x
jest punkt
P’ = (x’, y’, z’) o współrzędnych:
x’ = x
y’ = y cos - z sin
z’ = y sin - z cos
Wokół osi
y
:
y’ = y
x’ = z sin - x cos
z’ = z cos - x sin
Wokół osi
z
:
z’ = z
y’ = x cos - y sin
z’ = x cos - y sin
Dodatni kąt obrotu to taki, który widzimy jako przeciwny do ruchu
wskazówek zegara, gdy oś obrotu jest skierowana w głąb patrzenia.
PRZEKSZTAŁCENIA PUNKTÓW W R
3
Nieco bardziej skomplikowany jest
obrót punktu P = (x, y, z) wokół
dowolnej osi
, np. przechodzącej przez punkt P
1
= (x
1
, y
1
, z
1
) i P
2
= (x
2
, y
2
,
z
2
). Wymaga on złożenia kilku przekształceń:
- Wykonujemy translację o wektor -P
1
= [-x
1
, -y
1
, -z
1
]. Punkt P
1
zostanie
przesunięty do początku układu współrzędnych
(P’
1
), punkt P
2
otrzyma
współrzędne P’
2
. Niech
oznacza kąt jaki tworzy prosta P’
1
P’
2
z płaszczyzną
xz,
oznacza kąt między jej rzutem P’
1
P’’
2
na tę płaszczyznę i osią x.
- Wykonujemy obroty o kąt - wokół osi y, a następnie o kąt wokół
osi z.
Prosta P’
1
P’
2
zostaje przekształcona w oś x.
Kąty wyliczamy ze wzorów:
tg = (x
2
- x
1
) / (z
1
- z
2
)
tg = (y
2
- y
1
) / ((x
2
- x
1
)2
+ (z
2
- z
1
)
2
)
1/2
- Wykonujemy obrót o kąt wokół osi x.
- Dokonujemy przekształceń odwrotnych do wykonanych w
odpowiedniej
kolejności: obrót o kąt -, obrót o kąt i
translację o wektor P
1
.
PRZEKSZTAŁCENIA PUNKTÓW W R
3
Dla danego punktu P = (x, y, z)
szukamy punktu P’ = (x’, y’, z’)
symetrycznego względem płaszczyzny
ax + by + cz = d.
po uwzględnieniu, że Q = P + t[a, b, c]
oraz
P’ = P + 2(Q - P) otrzymamy wzór:
[x’, y’, z’] = [x, y, z] +
+ 2 ((d-ax-by-cz) / (a
2
+b
2
+c
2
))
[a, b, c]
Obliczając długość wektora PQ
otrzymamy wzór na odległość punktu P
od płaszczyzny:
|o| = |d - ax - by - cz| / (a
2
+ b
2
+ c
2
)
1/2
PRZEKSZTAŁCENIA PUNKTÓW W R
3
P
Symetria względem płaszczyzny
Q
P’
Kolejna transformacja pozwala
„doklejać” jeden obiekt do drugiego.
Jest to tzw.
przekształcenie
trzypunktowe
.
Dane są dwie trójki punktów P
1
, P
2
, P
3
oraz
Q
1
, Q
2
, Q
3
. Szukamy takiej izomerii,
która:
- odwzorowuje punkt P
1
w punkt Q
1
- kierunek P = P
2
- P
1
przekształca w
kierunek Q = Q
2
- Q
1
- transformuje płaszczyznę
wyznaczoną
przez punkty P
1
,
P
2
, P
3
, na płaszczyznę
zawierającą punkty Q
1
, Q
2
, Q
3
.
PRZEKSZTAŁCENIA PUNKTÓW W R
3
X
Y
Z
Przekształcenie trzypunktowe
P
1
P
2
P
3
Q
1
Q
2
Q
3
Zaczynamy od zbudowania trzech wersorów ortogonalnych:
u
1
= (P
2
- P
1
) / |P
2
- P
1
| u
2
= (P
2
- P
1
) x (P
3
- P
1
) / | (P
2
- P
1
) x (P
3
- P
1
) |
u
3
= u
1
x u
2
Analogicznie konstruujemy wersory w
1
, w
2
, w
3
na podstawie punktów Q
1
,
Q
2
, Q
3
.
Otrzymujemy macierze: U=[u
1
, u
2
, u
3
] i W = [w
1
, w
2
, w
3
]
Szukane przekształcenie jest złożeniem macierzy R = U
-1
W oraz
translacji o wektor w = Q
1
- P
1
R
Podstawowym przekształceniem stosowanym w grafice jest
rzutowanie
,
gdyż komputerowa wizualizacja jakiegokolwiek obiektu wymaga
odwzorowania go na płaski ekran monitora.
Rzuty dzielą się na dwie klasy:
- rzuty równoległe
- rzuty perspektywiczne albo środkowe
Rzut równoległy
zachowuje równoległość prostych, stosunek długości
odcinków równoległych i związki miarowe figury płaskiej równoległej do
płaszczyzny rzutowania. Stosuje się go głównie w rysunku technicznym.
Rzut perspektywiczny
pozwala na bardziej realistyczną wizualizację
obiektów trójwymiarowych i daje wrażenie głębi.
RZUTOWANIE
Przy
rzucie równoległym
punktu o
współrzędnych P = (x, y, z)
obrazem jest punkt P’ = (x’, y’, 0)
Kierunek rzutu tworzy z rzutnią
kąt , a jest kątem nachylenia
prostej przechodzącej przez (x, y,
0) i (x’, y’, 0) do osi x.
x’ = x + r cos
y’ = y + r sin
gdzie:
r = z ctg
Najczęściej przyjmuje się = 30
o
lub = 45
o
.
RZUT RÓWNOLEGŁY
X
Rzut równoległy
Y
Z
P = (x, y, z)
P = (x’, y’, 0)
P = (x, y, 0)
Przy
rzucie perspektywicznym
obserwator utożsamiany ze
środkiem rzutowania znajduje się
w ujemnej części osi z układu, np.
w punkcie
(0, 0, -d).
Z podobieństwa trójkątów
otrzymujemy zależności:
x’ = x d / (z + d)
y’ = y d / (z + d)
RZUT PERSPEKTYWICZNY
X
Rzut perspektywiczny
Y
Z
P = (x, y, z)
P’ = (x’, y’, 0)
E = (0, 0, -d)
W grafice komputerowej często stosuje się
parametryczny zapis krzywej
w postaci:
Q(t) = (x(t), y(t), z(t)) , gdzie parametr t przebiega ustalony przedział
[a,b]
Wektor styczny
do krzywej Q(t) w punkcie t = t
0
jest równy:
dQ(t
0
)/dt = [dx(t
0
)/dt, dy(t
0
)/dt, dx(t
0
)/dt]
jeśli pochodna w punkcie nie istnieje lub jest wektorem zerowym to
punkt ten nazywany jest
punktem osobliwym
.
Długość łuku krzywej
wylicza się z zależności:
s =
a
b
|dQ/dt|dt =
a
b
((dx/dt)
2
+ (dy/dt)
2
+ (dz/dt)
2
)
1/2
dt
Dla przykładu, tzw. linia śrubowa da się zapisać równaniem:
Q(t)= (r cost, ht, r sin t)
Wektor styczny ma składowe:
[-r sint
0
, h, r cost
0
]
Długość krzywej od t=0 do T wyraża się wzorem:
s = (r
2
+ h
2
T)
1/2
MATEMATYCZNY ZAPIS KRZYWYCH
Wielomiany Bernsteina
B
i
n
:
n
B
i
n
(u) = i (1 - u)
n-i
u
i
,
u [0, 1]
Wykorzystuje się je do reprezentacji
krzywych Beziera
, które są ich
kombinacją liniową:
Q(t) = P
i
B
i
n
(u),
t [t
1
, t
2
]
Współczynniki P
i
noszą nazwę
punktów kontrolnych
.
Często spotykanym przypadkiem jest n=3 i [t
0
, t
1
]=[0, 1].
Wtedy krzywa Beziera przybiera postać:
Q(t) = P
0
(1 - t)
3
+ P
1
3(1 - t)
2
t + P
2
3(1 - t)t
2
+ P
3
t
3
Powierzchnie Beziera
zdefiniowane w obszarze
prostokątnym określa wzór:
S(u, v) = P
i,j
B
j
m
(q) B
i
n
(r),
B
j
m
(q), B
i
n
(r) - wielomiany Bernsteina
stopni m i n
q i r [0, 1]
KRZYWE I POWIERZCHNIE BEZIERA
Przy syntezie obrazów często
zachodzi potrzeba
usunięcia linii
niewidocznych
. Najłatwiejszym do
implementacji algorytmem jest
algorytm z buforem głębokości.
Idea algorytmu polega na tym, że
dla każdego piksela ekranu
badamy ścianę najbliższą w
kierunku patrzenia i przypisujemy
mu kolor o wartości
odpowiedniego koloru tej ściany.
ALGORYTM Z BUFOREM GŁĘBOKOŚCI
Idea algorytmu z buforem głębokości
BARWA W GRAFICE
KOMPUTEROWEJ
Wrażenie wzrokowe
człowieka obserwującego obiekt zależy od
warunków obserwacji, od otoczenia obiektu, oświetlenia, widoczności.
Wrażenie związane z odbiorem barwy zależy również od indywidualnych
cech obserwatora, jego sposobu percepcji i interpretacji. Ze względu na
subiektywność i mnogość czynników mających wpływ na percepcję
barwy trudno jest opracować precyzyjny model barwy na potrzeby
grafiki komputerowej.
WSTĘP
Biel
Czerń
1
0
Odcień barwy
barwa czysta
(nasycona)
0%
100%
Nasycenie
Ja
s
n
o
ś
ć
Przy zmniejszeniu
nasycenia
barwy do zera, niezależnie
od odcienia barwy, uzyskuje
się barwę białą.
Przy zmniejszeniu
jasności
barwy do zera, niezależnie
od odcienia barwy, uzyskuje
się barwę czarną.
Z fizycznego punktu widzenia, światło jest
promieniowaniem
elektromagnetycznym
o określonej wartości strumienia energetycznego
e
[W]. Światło widzialne leży w zakresie długości fal od 380...780 nm.
Czułość ludzkiego oka w zakresie 380...400 nm jest bardzo mała, a fale
o długościach 700...780 nm są nierozróżnialne (interpretowane jako
barwa czerwona). Stąd praktyczny
zakres
widzialności
wynosi 400...700
nm.
W większości przypadków mamy do czynienia z barwami obiektów
otrzymanymi w wyniku obserwacji promieniowań o różnych długościach
fal. Jeśli oko jest pobudzane promieniowaniem o różnych długościach
otrzymujemy wrażenie innej barwy od barw składowych.
WRAŻENIA BARWNE
300
400
500
600
700
800 [nm]
0.2
0.4
0.6
0.8
1.0
[W/nm]
Zakres widzialny
Z każdą długością fali jest
związana pewna ilość mocy.
Można więc mówić o
gęstości
widmowego
rozkładu
energetycznego
[] [W/nm].
Jeśli światło zawiera fale o
wszystkich długościach, to
uzyskuje się wrażenie światła
białego.
Jeżeli rozkład mocy nie jest równomierny i można wyróżnić zakres fal,
dla których moc promieniowania jest większa niż dla innych zakresów,
to odbierane światło będzie dawało
wrażenie barwne
.
Szczególnym przypadkiem jest ten, gdy jedna długość fali ma większą
moc od pozostałych. Jest to przypadek z
dominującą długością
fali,
której odpowiada odpowiedni odcień barwy.
WRAŻENIA BARWNE
300
400
500
600
700
800 [nm]
0.2
0.4
0.6
0.8
1.0
[W/nm]
Zakres widzialny
d
e
1
e
2
Na rysunku dominująca fala ma
moc e
2
, dla pozostałych długości
moc wynosi e
1
.
Wartość e
2
- e
1
to
czystość
pobudzenia
.
300
400
500
600
700
800 [nm]
0.2
0.4
0.6
0.8
1.0
V()
Oko ma
czułość
zależną od długości
fali. Największą czułość oko osiąga
dla fali o długości 555 nm
(żółtozielone).
Sposób
percepcji
barwy jest złożoną funkcją znaną jedynie częściowo i
pośrednio na podstawie badań prowadzonych przez psychofizjologów.
Odbieranie barwy zależy od następujących czynników:
- właściwości fizyczne obiektu odbijania lub absorbcji światła o
określonej
długości fali
- właściwości źródła światła oświetlającego obiekt
- właściwości ośrodka, przez który biegnie światło, i odległości między
światłem i
obiektem
- właściwości otaczających obiektów
- stan oka i systemu wzrokowego
- charakterystyki transmisyjne receptorów i ośrodków nerwowych
- poprzednie doświadczenia przy obserwacji podobnego obiektu
Wzorce barw można podzielić na trzy rodzaje:
-
addytywne
, oparte na zasadzie addytywnego mieszania barw,
-
subtraktywne
, oparte na zasadzie subtraktywnego mieszania barw,
-
percepcyjne
, oparte na zasadach percepcji barw.
WRAŻENIA BARWNE
Różnica w percepcji barw zależna od tła:
WRAŻENIA BARWNE
Światło
achromatyczne
jest światłem białym. Ma ono cechę ilościową -
strumień światła - odpowiedzialny za jasność. Maksymalnej jasności
odpowiada barwa biała, minimalnej barwa czarna - wartości pośrednie
to poszczególne
poziomy szarości
.
Badania nad percepcją oka wykazały, że liniowy podział pomiędzy
światłem białym i czarnym nie jest odpowiedni, dlatego przy wyborze
wartości względnych strumienia, reprezentujących kolejne poziomy
szarości przyjmuje się skalę
logarytniczną
.
I
1
= rI
0
, I
2
= rI
1
= r
2
I
0
... I
n
= r
n
I
0
= 1
, gdzie I
0
- minimalne natężenie
światła
Z badań wynika, że oko nie rozróżnia dwóch sąsiednich wartości
natężenia, gdy r<1.01. Stąd przy uwzględnieniu najniższego poziomu
luminancji osiąganego przez monitory 0.005.. 0.025 uzyskamy wartość
n = 400...530.
W praktyce sensowne jest przyjęcie wartości n = 256 dla uzyskania
poziomów szarości.
MODEL ŚWIATŁA ACHROMATYCZNEGO
Genezy
modelu RGB
należy szukać
w trójchromatycznej teorii widzenia.
O tym, że wybrano barwy R, G i B
zadecydowały względy techniczne.
Model RGB jest
modelem
addytywnym
. Barwy różne od
podstawowych uzyskuje się poprzez
przestrzenne sumowanie strumieni
świateł o barwach podstawowych.
Proporcje określane są wartościami z
przedziału 0...1.
Wartości (0,0,0) odpowiada barwa
czarna, (1,1,1) - barwa biała. Na
przekątnej sześcianu RGB leżą
poziomy szarości.
Zaletą modelu jest jego prostota i
liniowość (łatwe wyznaczanie barwy
piksela). Wadą trudne ustalenie
barwy w sposób interaktywny.
MODEL RGB
G
B
R
Model HSV
powstał po to, aby
wygodnie dokonywać wyboru
odpowiedniej barwy.
Barwę określa się jako: odcień
(Hue), nasycenie (Saturation) i
wartość (Value).
Na wysokości sześciokąta znajdują
się poziomy szarości. Na obwodzie
sześciokąta umieszczone są barwy
nasycone.
Dla ustalonej wartości (jasności) -
punktu na wysokości ostrosłupa -
otrzymujemy przekrój w postaci
sześciokąta. Reprezentuje on
wszystkie barwy w różnych
nasyceniach dla ustalonej jasności.
MODEL HSV
G
B
R
H
Procedura konwersji modelu RGB na model HSV wygląda następująco:
procedure
RGB_toHSV (r, g, b:
real
;
var
h, s, v:
real
);
begin
max:= Maximum(r, g, b);
min:= Minimum(r, g, b);
v:= max;
if
max <>0
then
s:= (max - min) / max
else
s:= 0;
if
s = 0
then
h:= UNDEFINED
else
begin
delta:= max - min;
if
r = max
then
h:= (g - b) / delta;
if
g = max
then
h:= 2 + (b - r) / delta;
if
b = max
then
h:= 4 + (r - g) / delta;
h:= h * 60;
if
h < 0
then
h:= h + 360;
end
;
end
;
MODEL RGB -> HSV
Model CMY jest
modelem
subtraktywnym
. Idea funkcjonowania
tego modelu polega na tym, że z
widma światła białego usuwa się
określony zakres długości fal. Jeśli z
widma światła białego usuniemy
składowe żółte (składowa
krótkofalowa) i purpurowe (składowa
środkowa) uzyskamy tylko zakres
długofalowy postrzegany jako barwa
czerwona.
Sześcian CMY jest podobny do
sześcianu RGB. Różnica jest taka, że
barwy biała i czarna oraz barwy R, G,
B, C, M, Y są zamienione miejscami.
Zależności pomiędzy modelami RGB i
CMY są następujące:
R 1
C
G = 1 - M
B 1
Y
MODEL CMY
M
Y
C
Substraktywny proces mieszania
barw jest charakterystyczny dla
procesu drukowania.
W zastosowaniach grafiki komputerowej zawiera się produkcja reklam,
filmów animowanych, itd. Stąd potrzeba znajomości modeli barw
stosowanych w
telewizji
. W europejskim systemie PAL stosuje się
model
YUV
.
Stanowi on przekształcenie liniowe modelu RGB powstałe na gruncie
optymalizacji warunków transmisji sygnałów telewizyjnych oraz
zgodności z telewizją czarno-białą.
Wartość
luminancji
(jasności) jest definiowana następująco:
Y = 0.299 R + 0.587 G + 0.114 B
Wartość składowej dla danej
barwy różnicowej
wynosi:
R
T
= R - Y
G
T
= G - Y
B
T
= B - Y
Do przesyłania informacji w telewizji stosowane są sygnały
chrominancji
. W systemie PAL noszą one nazwy U i V. Ich wartości są
wyznaczane jako kombinacja składowych różnicowych R
T
i B
T
(gdyż
składowa G
T
ma małą amplitudę i jest podatna na zakłócenia).
U = 0.493 B
T
V = 0.877 R
T
MODEL YUV
Zmiana jasności.
Funkcja polegająca na rozjaśnieniu
lub przyciemnieniu w ustalonym
zakresie (na przykład od -50% do
+50%).
BARWA W PROGRAMACH INTERAKCYJNYCH
Filtr kolorowy.
Funkcja polegająca na niezależnej
zmianie każdej ze składowych R, G
i B.
BARWA W PROGRAMACH INTERAKCYJNYCH
Kontrast.
Funkcja umożliwiająca zmianę
kontrastu. Ta funkcja pozwala
poszerzenie zakresu barw
należącego do pewnego
przedziału, w taki sposób, że barwy
jasne staną się jeszcze jaśniejsze,
a ciemne jeszcze ciemniejsze.
Barwy pośrednie będą odpowiednio
zmodyfikowane.
Należy pamiętać o zachowaniu
odcienia barwy regulując jasność.
BARWA W PROGRAMACH INTERAKCYJNYCH
Utrata ostrości.
Funkcja ta wywołuje efekt podobny
do tego jaki ujrzymy przy użyciu
nieostro ustawionego obiektywu.
Realizacja polega na tym, że wokół
pikseli umieszcza się koła w
kolorze piksela.
BARWA W PROGRAMACH INTERAKCYJNYCH
Wygładzanie.
Funkcja ta polega na tym, że w
obrazie następuje wygładzenie
krawędzi łączących różne barwy.
Na styku tych krawędzi następuje
uśrednianie wartości barw
poszczególnych pikseli na
podstawie wartości pikseli
sąsiednich.
BARWA W PROGRAMACH INTERAKCYJNYCH
Relif (uwypuklenie).
Funkcja ta tworzy
monochromatyczny efekt
uwypuklenia. Funkcja jest
skuteczna dla obrazów o
niewielkiej liczbie barw.
Uwypuklana jest każda zmiany
barwy (rozjaśnianie i cieniowanie).
Możliwe jest określenie kierunku
padania światła.
BARWA W PROGRAMACH INTERAKCYJNYCH
Przejście na obraz czarno-biały.
Funkcja przypisuje pikselom
poziomy szarości na podstawie
jasności.
BARWA W PROGRAMACH INTERAKCYJNYCH
Redukcja liczby barw.
Funkcja powoduje zmniejszenie
liczby barw do zadanej liczby.
BARWA W PROGRAMACH INTERAKCYJNYCH
Fotoinwersja.
Funkcja zmienia luminancję
każdego piksela na dopełniającą,
zgodnie z zależnością:
L` = 1 - L
BARWA W PROGRAMACH INTERAKCYJNYCH
MODELE
OŚWIETLENIA
Istotne znaczenie w modelu oświetlenia odgrywa
dobór źródeł światła uwzględnianych przy
wyznaczaniu obserwowanej barwy obiektu.
-
Lokalne modele
oświetlenia wykorzystują jedynie
oświetlenie pierwotne
, tzn. pochodzące tylko od
źródeł
światła (barwa nie zależy od
otoczenia).
-
Globalne modele,
do wyznaczenia obserwowanej
barwy
obiektu uwzględnia się zarówno
oświetlenie pierwotne, jak i
oświetlenie
wtórne
,
czyli pochodzące od obiektów odbijających i
załamujących światło.
Na warunki oświetlenia, służące wyznaczeniu
obserwowanej barwy, ma wpływ nie tylko
rozmieszczenie źródeł emitujących światło, lecz
także rozmieszczenie i właściwości optyczne innych
obiektów sceny.
WSTĘP
Modele oświetlenia można podzielić na:
-
Modele empiryczne
. Wczesne modele
uwzględniające jedynie pierwotne źródła światła.
Barwa obiektów jest
wyznaczana po
przekształceniu obiektów do układu
obserwatora, przy użyciu prostych technik
inkrementacyjnych. Charakteryzują się dużą
szybkością.
-
Modele przejściowe
. Uwzględniają, w
ograniczonym zakresie, wtórne źródła światła. W
metodzie
odwzorowaniu środowiska i
metodzie śledzenia
promieni, barwa
obiektów jest wyliczana przed
przekształceniem obiektów do układu obserwatora.
-
Modele analityczne
. Wykorzystują prawa optyki i
fizyki.
Dużą wagę przypisują do zasady
zachowania energii
(nazywane są metodami
energetycznymi). Do
wyznaczenia barwy
obiektu niezbędne jest wyznaczenie
rozpływu
energii w świetlnej w scenie
WSTĘP
Dla generowania obrazów znaczenie mają dwa zjawiska optyczne:
- oddziaływanie światła z granicami materiałów o różnych
właściwościach
optycznych (dobre podstawy teoretyczne)
- rozpraszanie i absorbcja w czasie propagacji światła przez materiał
(modele w
fazie empirycznej)
Podstawowymi zjawiskami zachodzącymi na granicy dwóch różnych
ośrodków jest
odbicie
i
załamanie
światła. Dla materiałów nie
przepuszczających światła zachodzi jedynie odbicie (część energii ulega
absorbcji przez materiał). Na granicy dwóch ośrodków przepuszczających
światło zachodzi odbicie oraz załamanie.
Sposób odbicia i załamania światła zależy od gładkości powierzchni. Za
optycznie
gładkie
przyjmuje się te powierzchnie, których nierówność jest
mała w porównaniu z długością fali. Jeśli nierówności są większe to
zjawiska te mają charakter rozproszony.
W trakcie
propagacji
światła
w ośrodku
część światła ulega absorbcji,
część jest rozpraszana (niebo ma błękitny kolor, bo fale krótsze są
rozpraszane silniej niż dłuższe).
WSTĘP
W notacji wektorowej wszystkie wektory są
skierowane od rozważanej powierzchni:
N - wektor normalny powierzchni
V - wektor obserwatora
L -
wektor oświetlenia
(skierowany do źródła
światła
R - wektor odbity od powierzchni (indeks
informuje czy jest to promień
obserwatora,
czy źródła światła)
H - wektor leżący na dwusiecznej kąta
tworzonego przez wektory V i L
T -
wektor załamany na
powierzchni
POJĘCIA PODSTAWOWE
N
L
V
H
R
V
T
V
`
`
Strumień świetlny
źródła światła jest równy energii przenoszonej przez
fale świetlne w jednostce czasu.
Światłość
I jest ilorazem strumienia świetlnego wysyłanego
I =
d / d
przez źródło w elementarnym kącie bryłowym przez ten kąt.
Natężenie
oświetlenia
E jest ilorazem strumienia świetlnego
E =
d / dA
padającego na powierzchnię przez pole tej powierzchni.
Luminancja
L w danym punkcie powierzchni w określonym
kierunku jest ilorazem strumienia świetlnego padającego
na elementarne pole powierzchni otaczające dany punkt
L = d
2
/
d dA`
i rozchodzącego się w elementarnym stożku obejmującym
ten kierunek przez iloczyn kąta bryłowego stożka
i powierzchni rzutu prostokątnego elementarnego pola na
płaszczyznę prostopadłą do danego kierunku.
WIELKOŚCI FOTOMETRYCZNE
Prawo
odbicia
głosi, że kąt padania
promienia świetlnego (zawarty
pomiędzy wektorami L i N) jest równy
kątowi odbicia (zawartemu między
wektorami R
L
i N).
Z podobieństwa trójkątów:
R
L
= N` + S = 2N(L*N) - L
Zależność kąta załamania światła
L
od
kąta padania
T
określa
prawo
Snella
:
n
T
sin (
T
) = n
L
sin(
L
)
ODBICIE I ZAŁAMANIE ZWIERCIADLANE
N
L
R
L
S
S
N`
L
L
S
N`
N
N``
T
S`
T
Wyznaczenie jaka część światła jest na granicy ośrodków odbijana, a jaka
załamywana, opiera się na
zależnościach
Fresnela
. Równania Fresnela są
rozwiązaniem równań Maxwella określającymi zachowanie się fali
elektromagnetycznej na gładkiej granicy ośrodków. Stosunek fali odbitej
do padającej dla polaryzacji światła w płaszczyźnie prostopadłej i
równoległej do płaszczyzny zawierającej wektory N i L dane są
zależnościami:
r
r
= ( n
t
(N*L) + n
l
(N*T) ) / (n
t
(N*L) - n
l
(N*T) )
r
p
= ( n
l
(N*L) + n
t
(N*T) ) / (n
l
(N*L) - n
t
(N*T) )
Stosunek energii światła odbitego do energii światła padającego jest
nazywany
współczynnikiem odbicia Fresnela
F
r
. Dla potrzeb grafiki
przyjmuje się:
F
r
= 0.5(r
r
2
+ r
p
2
)
Korzystając z zasady zachowania energii
współczynnik załamania Fresnela
F
t
wynosi:
F
t
= 1 - F
r
ODBICIE I ZAŁAMANIE ZWIERCIADLANE
Dla przypadkowej powierzchni
chropowatej z nierównościami
o rozkładzie Gaussa, średnie
nachylenie
mikropowierzchni
wyraża się wzorem:
m = 1.41* /
GEOMETRIA POWIERZCHNI
Odległość korelacji
Średnia wysokość
Średnie
nachylenie m
Dla następujących założeń:
- każda nierówność stanowi symetryczną dolinę o kształcie litery V
- osie dolin są równoległe do średniej powierzchni
- wszystkie szczyty nierówności znajdują się w tej samej płaszczyźnie
- doliny są rozłożone równomiernie we wszystkich kierunkach
Współczynnik tłumienia geometrycznego
wyrażony jest wzorem:
G = min(1, (2(N*H)(N*V)) / (V*H), (2(N*H)(N*L)) / (V*H))
Odbicie rozproszone
Obserwowana barwa jest wyznaczana na podstawie światła rozproszonego
w scenie, świateł kierunkowych i punktowych. Uwzględnia się zależność
luminancji świateł oraz współczynników odbicia materiału od długości fali.
L
v
() = K
a
()L
a
() + K
d
()
(N*L
n
)L
n
()
K
a
- współczynnik odbicia światła rozproszonego
K
d
- współczynnik rozproszonego odbicia światła
L
a
- luminancja światła rozproszonego
L
n
- luminancja kolejnych źródeł światła
Odbicie zwierciadlane
Modyfikacja modelu odbicia rozproszonego
uwzględniająca odbicie zwierciadlane ma postać:
L
v
() = K
a
()L
a
() + K
d
()
(N*L
n
)L
n
() + K
s
()
(N*H
n
)
Ns
L
n
()
K
s
- współczynnik zwierciadlanego odbicia światła
Ns - współczynnik gładkości powierzchni
MODELE EMPIRYCZNE
Interpolacja parametrów
Zastosowanie poprzednio
prezentowanych modeli, które
wyznaczają barwę jednokrotnie dla
wielokąta powoduje powstanie wyraźnie
widocznej struktury wielkokątowej
obiektów.
Istotną modyfikacją tych metod jest
interpolacja barw we wnętrzu wielokąta.
MODELE EMPIRYCZNE
Aktualna linia rastra
Krawędź
1
Krawędź
2
(x4, y4, p4)
(x1, y1, p1)
(x2, y2, p2)
(x3, y3, p3)
Nieidealne odbicie zwierciadlane
Duże znaczenie miało wprowadzenie ulepszonego odbicia
zwierciadlanego, uwzględniającego strukturę powierzchni.
Zaproponowana funkcja nieidealnego odbicia zwierciadlanego przybrała
postać:
f
r
= D*G*F
r
/ N * V
D - współczynnik rozkładu mikropowierzchni
G - współczynnik tłumienia geometrycznego
F
r
- współczynnik odbicia Fresnela
D = (N*H)
Ns
MODELE PRZEJŚCIOWE
Metoda śledzenia promieni
Metodą umożliwiającą pełne uwzględnienie światła pochodzącego z
kierunku zwierciadlanego odbicia i załamania jest metoda śledzenia
promieni.
Wyznaczenie luminancji obiektu odbywa się według wzoru:
L
v
() = K
a
()L
a
() + K
d
()
(N*L
n
)L
n
() + K
s
(L
r
() +
(N*H
n
)
Ns
L
n
()) +
K
t
L
t
()
L
r
() - luminancja promienia odbitego
L
t
() - lumimancja promienia załamanego
Istnieją modyfikacje metody śledzenia promieni
pozwalające uzyskać jeszcze realniejsze
odwzorowanie sceny.
Metoda ta jest wykorzystywana najpowszechniej
w tworzeniu realistycznych grafik komputerowych.
MODELE PRZEJŚCIOWE
Metoda energetyczna
W modelach analitycznych oddziaływanie światła z elementami sceny
rozpatruje się w kategoriach energetycznych. Podstawowe znaczenie mają
dwa założenia:
-
Zasada zachowania energii na
powierzchni obiektu
. Cała energia
świetlna docierająca do obiektu jest
przez tę powierzchnię odbijana,
załamywana bądź absorbowana.
-
Zasada zachowania energii w scenie
.
Cała energia świetlna emitowana
bądź odbijana przez dowolny obiekt
w scenie dociera do innych obiektów
sceny (scena jest środowiskiem
zamkniętym).
MODELE ANALITYCZNE
METODY
WIZUALIZACJI
Wprowadzenie
Jednym z kierunków rozwoju grafiki jest
generowanie obrazów o dużym
stopniu realizmu
. Początkowo algorytmy miały za zadanie stworzenie
symulacji poszczególnych zjawisk optycznych. W późniejszym okresie
zostały one wyparte przez algorytmy oparte na opisie zjawisk
optycznych.
Przy założeniu, że znane są zasady oddziaływania promieni świetlnych
z powierzchnią obiektów, do uzyskania realistycznego obrazu
wystarczyłoby przeanalizowanie wszystkich promieni emitowanych w
kierunku sceny przez źródła światła, a następnie wybranie jedynie tych,
które docierają do obserwatora (kamery). Rozwiązanie to ma ogromną
złożoność obliczeniową
(duża liczba promieni wielokrotnie odbijanych i
załamywanych) i jest praktycznie nie do zrealizowania.
Analizując problem można dojść do wniosku, że tylko nieliczna grupa
promieni dociera do obserwatora. Prowadzi to do koncepcji, aby
analizować promienie, które docierają do oka przez piksele ekranu.
METODA ŚLEDZENIA PROMIENI
Klasyczna metoda śledzenia promieni
O barwie danego piksela decyduje
światło docierające do tego piksela
z kierunku łączącego środek
piksela ze środkiem rzutowania.
Analizie podlegają promienie
począwszy od obserwatora
(zamiast od źródeł).
Zakłada się, że barwa promieni docierających do obserwatora jest
barwą punktu przecięcia promienia z obiektem (pierwszy przecinany
obiekt).
Barwę światła odbijanego wyznacza się na podstawie:
- bezpośredniego oświetlenia przez źródła światła,
- światła zwierciadlanie odbitego i załamanego w danym punkcie
- znajomości właściwości optycznych powierzchni obiektu.
METODA ŚLEDZENIA PROMIENI
Ekran
Środek
rzutowania
Klasyczna metoda śledzenia promieni
Do wyznaczenia barwy punktu przecięcia promienia z obiektem należy:
- wybrać źródła światła oświetlające bezpośrednio analizowany punkt
(źródła
światła nie przesłaniane przez inne obiekty)
- wyznaczyć barwę światła odbijanego w punkcie w kierunku
promienia
- wyznaczyć barwę światła załamywanego w punkcie w kierunku
promienia
- korzystając z właściwości optycznych powierzchni obiektu wyznaczyć
barwę
promienia.
Korzystając z wyznaczonych barw
i kierunków promieni oświetlających
punkt przecięcia oraz właściwości
optycznych powierzchni, oblicza się
barwę światła opuszczającego
analizowany punkt.
METODA ŚLEDZENIA PROMIENI
Środek
rzutowania
Ekran
Źródło
światła
P1
Pś1
Po1
Pz1
Po2
Pz2
Pś2
Klasyczna metoda śledzenia promieni
Wyznaczenie luminancji obiektu odbywa się według wzoru:
L
v
() = K
a
()L
a
() + K
d
()
(N*L
n
)L
n
() + K
s
(L
r
() +
(N*H
n
)
Ns
L
n
()) +
K
t
L
t
()
K
a
- współczynnik odbicia światła rozproszonego
K
d
- współczynnik rozproszonego odbicia światła
L
a
- luminancja światła rozproszonego
L
n
- luminancja kolejnych źródeł światła
K
s
- współczynnik zwierciadlanego odbicia światła
Ns - współczynnik gładkości powierzchni
L
r
() - luminancja promienia odbitego
L
t
() - lumimancja promienia załamanego
METODA ŚLEDZENIA PROMIENI
Wady algorytmu klasycznej metody śledzenia promieni
- Wyznaczenie barwy piksela na podstawie tylko jednego promienia
może
prowadzić do zniekształceń obrazu wynikających ze
zbyt małej gęstości
rozmieszczenia promieni (tzw.
zniekształcenia intermodulacyjne)
- W algorytmie analizowane są tylko promienie idealnie odbite bądź
załamane
co powoduje niewłaściwe wyznaczenie obrazu
powierzchni rozpraszających
światło
- Założenie nieskończenie małych rozmiarów źródeł światła
uniemożliwia
wyznaczenie półcieni
- Nieuwzględnienie czynnika czasu, oznacza że w algorytmie obiekty,
kamery i
źródła światła są nieruchome, co uniemożliwia
uzyskanie efektu rozmycia na
wskutek ruchu.
- Zastosowanie idealnej kamery uniemożliwia uzyskanie głębi ostrości.
METODA ŚLEDZENIA PROMIENI
Zniekształcenia intermodulacyjne
powstają na wskutek odwzorowania
sygnału o szerokim paśmie częstotliwości niedostatecznie gęsto
rozmieszczonymi, dyskretnymi próbkami. W przypadku obrazu oznacza
to, że szybkość zmian barw jest zbyt duża w stosunku do rozdzielczości,
z jaką jest generowana jego cyfrowa reprezentacja.
Najprostszą metodą zmniejszenia przestrzennych zniekształceń
intermodulacyjnych jest zwiększenie gęstości próbkowania sceny przez
zwiększenie ilości promieni pierwotnych. Barwa piksela jest
wyznaczana jako średnia barw wszystkich promieni pierwotnych
przypadających dla danego piksela. Metoda ta jest nazywana
nadpróbkowaniem
.
Nadpróbkowanie adaptacyjne
polega na tym, że
na podstawie różnicy barw punktów w pikselu
następuje rekurencyjnie wygenerowanie
dodatkowych punktów, gdy nie jest spełniony
warunek dostatecznie małej zmiany barwy.
METODA ŚLEDZENIA PROMIENI
Odmienne rozwiązanie zniekształceń intermodulacyjnych zaproponował
Cook. Metoda
próbkowania stochastycznego
wykorzystuje odpowiednie,
nieregularnie rozmieszczone punkty. Stosowane są dwa rodzaje
nieskorelowanego przesunięcia punktów próbkowania: o rozkładzie
Gaussa i rozkładzie szumu białego.
Próbkowanie stochastyczne umożliwia
realizację:
- Rozmytego odbicia światła
- Rozmytego załamania światła
- Efektu miękkich cieni (półcieni)
- Efekt głębi ostrości
- Rozmycie obiektów
poruszających się
METODA ŚLEDZENIA PROMIENI
Śledzenie wiązek promieni
Klasyczne promienie zastąpione zostały ostrosłupami o przekroju
będącym dowolnym wielokątem (także z dziurami). Powierzchnie
obiektów mogą się składać wyłącznie z płaskich wielokątów.
Ograniczenie to umożliwia zachowanie nie zmienionej postaci
promienia niezależnie od jego odbić od obiektów sceny.
Procedura przecinania wyznacza powierzchnię przecięcia obiektu z
wiązką, modyfikując jednocześnie przekrój wiązki (jeśli nie trafia ona w
całości w obiekt). Dla promieni odbitych i załamanych wyznaczane są
wirtualne wierzchołki nowych wiązek. Podstawą nowej wiązki staje się
powierzchnia przecięcia z obiektem.
METODA ŚLEDZENIA PROMIENI
Początkowy
przekrój
wiązki
Obcięty
przekrój
wiązki
Obiekt trafiony
przez wiązkę
Wiązka odbita
Obcięta wiązka
pierwotna
Płaszczyzna odbicia
Wirtualny wierzchołek
wiązki odbitej
W modelach analitycznych oddziaływanie światła z elementami sceny
rozpatruje się w kategoriach energetycznych. Podstawowe znaczenie mają
dwa założenia:
-
Zasada zachowania energii na
powierzchni obiektu
. Cała energia
świetlna docierająca do obiektu jest
przez tę powierzchnię odbijana,
załamywana bądź absorbowana.
-
Zasada zachowania energii w scenie
.
Cała energia świetlna emitowana
bądź odbijana przez dowolny obiekt
w scenie dociera do innych obiektów
sceny (scena jest środowiskiem
zamkniętym).
METODA ENERGETYCZNA
W metodzie energetycznej wszystkie powierzchnie obiektów są
traktowane jako źródła światła o niezerowej powierzchni. Przyjmuje się,
że scena jest podzielona na dyskretne, płaskie fragmenty o
skończonych rozmiarach, emitujące i odbijające światło we wszystkich
kierunkach.
Dla powierzchni „a” natężenie oświetlenia wyznacza się z zależności:
E
a
= W
a
+
a
( E
b
F
ab
(A
b
/ A
a
) )
E
a
, E
b
- natężenia oświetlenia
powierzchni „a” i „b”
W
a
- natężenie oświetlenia
emitowanego przez
powierzchnię „a”
a
- współczynnik odbicia
powierzchni „a”
F
ab
- współczynnik sprzężenia
optycznego
A
a
, A
b
- powierzchnie powierzchni „a” i „b”
METODA ENERGETYCZNA
Wyznaczanie współczynnika sprzężenia
Cząstkowy współczynnik sprzężenia powierzchni elementarnych dA
a
i
dA
b
wynosi:
dF
ab
= ( (cos
a
cos
b
) / (r
2
) ) H
ab
dA
b
r
- długość odcinka łączącego środki powierzchni
elementarnych
- kąt między normalną, a odcinkiem r
H
ab
- 1 jeśli „b” jest widoczne
z powierzchni „a”
i 0 w pozostałych przypadkach
F
ab
= 1/A
a
( (cos
a
cos
b
) / (r
2
) ) H
ab
dA
b
dA
b
METODA ENERGETYCZNA
a
b
N
a
N
b
r
a
b
TEKSTURY
Bardzo ogólnie
teksturę
można określić jako wektorową funkcje wielu
zmiennych. O liczbie składowych wektorowej funkcji tekstury decyduje
parametr modyfikowany przez teksturę. Na przykład tekstura służąca
do modyfikacji barwy obiektu może mieć wektory
trójelementowe
,
odpowiadające składowym R, G i B. Wektor tekstury do modyfikacji
współczynnika charakteryzującego zdolność powierzchni do
zwierciadlanego odbicia światła może być
jednoelementowy
.
Można dokonać następującego podziału tekstur:
- jednowymiarowe
- dwuwymiarowe
- trójwymiarowe
TEKSTURY
Można wyróżnić dwie
grupy zastosowań
tekstur:
- opis obiektów
- opis sceny
W pierwszej grupie zastosowań tekstura jest
wykorzystywana do modyfikacji pewnych
właściwości obiektu
, takich jak:
- kolor powierzchni
- wektor normalny powierzchni
- współczynnik charakteryzujący zdolność
powierzchni do zwierciadlanego odbicia
- współczynnik przeźroczystości
- przesunięcie powierzchni
TEKSTURY
Z zastosowaniem tekstur w grafice komputerowej powstają trzy
problemy:
1.
generowanie wzorca tekstury
2.
odwzorowanie geometryczne tekstury
3.
filtrowanie tekstury
Generowanie tekstur
W systemach generowania tekstur
istnieją dwa sposoby opisu tekstury:
-
proceduralny
, w postaci funkcji
matematycznej lub zestawu parametrów dla
określonej klasy tekstury
-
jawny
, w postaci wartości funkcji tekstury
TEKSTURY
Istnieje następująca klasyfikacja deterministycznych modeli tekstur:
-
Modele okresowe
. W tym modelu podstawowy wzorzec jest
powielany na
przestrzeń tekstury (całą lub jej część).
-
Modele bombowe
. W tych modelach w przestrzeni tekstury
rozmieszcza się w
sposób losowy obiekty o ustalonym
kształcie. Rozmiar bomby może być
ustalony lub
wyznaczany losowo.
-
Modele mozaikowe
. Na powierzchni tekstury wybierana jest losowo
pewna
liczba punktów, które stanowią zaczątek rosnących
komórek. Proces wzrostu
kończy się po napotkaniu
sąsiedniej komórki.
-
Modele syntaktyczne
. Do opisu struktury wykorzystywane są języki
formalne.
Tekstura reprezentowane jest jak drzewo, którego liście
są wzorami
podstawowymi, podczas gdy pozostałe węzły
określają zależności
przestrzenne.
TEKSTURY
Metody odwzorowania
Po wygenerowaniu tekstury powstaje problem jej właściwego
odwzorowania na obraz obiektu na ekranie. W tym procesie można
wyróżnić dwie części:
-
parametryzację
, czyli określenie przekształcenia przestrzeni tektury
w przestrzeń obiektu
-
projekcję
, czyli odwzorowanie obiektów (i w konsekwencji
związanych z
obiektami tekstur) na przestrzeń ekranu
Parametryzacja powierzchni wielokąta
x = U
y = V
z = - (Ax + By + D) / C
TEKSTURY
tekstura
obiekt
Z
X
Y
U
V
Metody odwzorowania
Parametryzacja powierzchni kuli
x = R cos(2u) sin(v - /2)
y = R sin(2u) sin(v - /2)
z = R cos(v - /2)
Parametryzacja powierzchni
walca
x = R cos (2u)
y = R sin(2u)
z = Hv
TEKSTURY
X
Y
Z
U
V
X
Y
Z
U
V
Różne sposoby odwzorowania tej samej tekstury na powierzchni
obiektu:
TEKSTURY
Tekstura
Filtrowanie tekstur:
TEKSTURY
Próbkowanie punktowe
Tekstura
Uśrednianie
Splot bezpośredni
STEREOSKOPIA
• Podstawowym wynikiem prac w zakresie grafiki
komputerowej jest
obraz na ekranie monitora
.
• Z natury rzeczy jest to
obraz płaski
i to zarówno w
przypadku generowania scen dwuwymiarowych (2D),
jak i trójwymiarowych (3D).
• Ze względu na percepcję człowieka sytuacja taka
stanowi swego rodzaju
zubożenie
- człowiek jest
zdolny do oglądania obrazów przestrzennych i jest do
tego przyzwyczajony.
• Niewątpliwie atrakcyjne jest szukanie innych metod
wizualizacji scen trójwymiarowych takich, które w
bardziej naturalny dla człowieka sposób umożliwiłyby
postrzeganie scen 3D
.
WPROWADZENIE
Należy wymienić co najmniej dwa kierunki badań nad
metodami wizualizacji przestrzennej:
• holografia
• stereoskopia
Podstawą widzenia przestrzennego jest zjawisko
stereopsji
.
Polega ono na tym, że mózg człowieka jest w stanie utworzyć
obraz przestrzenny na podstawie dwóch obrazów płaskich
odbieranych przez każde oko niezależnie.
MECHANIZM WIDZENIA PRZESTRZENNEGO
e
Obrazy widziane przez każde oko można traktować jako dwa
punkty przesunięte względem siebie o odcinek określany jako
paralaksa
pozioma p = x
p
- x
l
.
METODY GENEROWANIA
e
d
(0,0,0)
(x
x
, y
l
)
(x
p
, y
p
)
K(x,y,z)
(e/2,0,-d)
xd
X
k
=
--------
d +
z
yd
y
k
=
--------
d +
z
xd - ze/2 xd +
ze/2
x
l
= ------------
x
p
=
-------------
d + z d
+ z
yd
y
l
= --------
y
p
= y
l
d + z
PARALAKSA
p
e = -------------- = 2 d tg
(/2)
1 - (d/d+z)
Kluczowym parametrem jest "e" (odległość między oczami).
Typowa wartość to 6,35cm. Przy złym doborze tej wartości
obserwator może mieć kłopoty z odbiorem stereoskopowym.
Sugeruje się, żeby ograniczać wartość maksymalnego kąta
widzenia do 1.5 stopnia i przyjmować, że e = 0.028d.
METODY OGLĄDANIA
Praktyczne metody prezentacji obrazów stereoskopowych:
Metody zapewniające
równoczesną
prezentację obu obrazów:
- nieprzeźroczysta przegroda;
- para obiektywów (specjalne okulary LCD);
- okulary z kolorowymi szkłami (wada - zniekształcenie barw
obrazu);
- okulary z polaryzatorami światła;
Metody, w których obrazy są wyświetlane
naprzemiennie
:
- mechaniczne przesłony (dla lewego i prawego oka);
- układy z polaryzatorami światła;
- modulatory ciekłokrystaliczne (LCM)
JAK TO ZROBIĆ STEREOGRAM
Utworzenie sceny w edytorze grafiki trójwymiarowej.
JAK TO ZROBIĆ STEREOGRAM
Wstawienie kamerę stereoskopową i ustawienie jej parametry.
JAK TO ZROBIĆ STEREOGRAM
Renderowanie obrazu z kamery stereoskopowej.
JAK TO ZROBIĆ STEREOGRAM
Utworzenie obrazu z filtrami kolorowymi.
JAK TO ZROBIĆ STEREOGRAM
JAK TO ZROBIĆ STEREOGRAM
JAK TO ZROBIĆ STEREOGRAM
JAK TO ZROBIĆ STEREOGRAM