Transcript
Page 1: Przekształcenia afiniczne

Przekształcenia afiniczne

Page 2: Przekształcenia afiniczne

Przekształcenia afiniczne

• Przekształcenia prostych, płaszczyzn, przestrzeni

• Zachowują równoległość prostych

• Zachowują stosunki długości boków równoległych, pól figur na płaszczyznach równoległych itd..

• Nie muszą zachowywać równości kątów czy długości boków

Page 3: Przekształcenia afiniczne

Przekształcenia punktów w R2

• Translacja

y

x

dyy

dxx

'

'

Page 4: Przekształcenia afiniczne

Przekształcenia punktów w R2

• Skalowanie

ysy

xsx

y

x

'

'

Page 5: Przekształcenia afiniczne

Przekształcenia punktów w R2

• Obrót wokół początku układu współrzędnych

cossin'

sincos'

yxy

yxx

Page 6: Przekształcenia afiniczne

Przekształcenia punktów w R2

• Obrót wokół punktu innego niż początek układu współrzędnych to złożenie przesunięcia o wektor , obrotu punktu , a następnie przesunięcia o wektor

00 , yx ),(' 00 yyxxA

00 , yx

Page 7: Przekształcenia afiniczne

Zapis macierzowy

• Celem złożenia wielu przekształceń i zapisania ich w postaci jednego, w zapisie macierzowym przechodzimy do współrzędnych jednorodnych traktując punkty z R2 jako punkty w R3 leżące na płaszczyźnie z = 1, czyli jako punkty o współrzędnych A = (x, y, 1)

Page 8: Przekształcenia afiniczne

Zapis macierzowy

• Translacja

1100

10

01

1

'

'

y

x

t

t

y

x

y

x

Page 9: Przekształcenia afiniczne

Zapis macierzowy

• Skalowanie

1100

00

00

1

'

'

y

x

s

s

y

x

y

x

Page 10: Przekształcenia afiniczne

Zapis macierzowy

• Obrót wokół początku układu współrzędnych

1100

0cossin

0sincos

1

'

'

y

x

y

x

Page 11: Przekształcenia afiniczne

Zapis macierzowy

• Obrót wokół dowolnego punktu

1100

10

01

100

0cossin

0sincos

100

10

01

1

'

'

0

0

0

0

y

x

y

x

y

x

y

x

Page 12: Przekształcenia afiniczne

Przekształcenia punktów w R3

• Analogiczne do przekształceń w R2

• Do zapisu macierzowego przechodzimy do współrzędnych jednorodnych w R4

Page 13: Przekształcenia afiniczne

Przekształcenia punktów w R3

• Translacja

z

y

x

dzz

dyy

dxx

'

'

'

11000

100

010

001

1

'

'

'

z

y

x

d

d

d

z

y

x

z

y

x

Page 14: Przekształcenia afiniczne

Przekształcenia punktów w R3

• Skalowanie

zz

yy

xx

dsz

dsy

dsx

'

'

'

11000

000

000

000

1

'

'

'

z

y

x

s

s

s

z

y

x

z

y

x

Page 15: Przekształcenia afiniczne

Przekształcenia punktów w R3

• Obrót wokół osi X

cossin'

sincos'

'

zyz

zyy

xx

11000

0cossin0

0sincos0

0001

1

'

'

'

z

y

x

z

y

x

Page 16: Przekształcenia afiniczne

Przekształcenia punktów w R3

• Obrót wokół osi Y

cossin'

'

sincos'

zxz

yy

zxx

11000

0cossin0

0010

0sincos1

1

'

'

'

z

y

x

z

y

x

Page 17: Przekształcenia afiniczne

Przekształcenia punktów w R3

• Obrót wokół osi Z

zz

zyy

yxx

'

cossin'

sincos'

11000

0100

0cossin0

0sincos1

1

'

'

'

z

y

x

z

y

x

Page 18: Przekształcenia afiniczne

Grafika 3D

Wprowadzenie

Page 19: Przekształcenia afiniczne

CSG

• Constructive solid geometry

• Bryły budowane są proceduralnie na podstawie kształtów prostych – kul, sześcianów, stożków itd.

• Dostępne są operacje boolowskie na zbiorach – suma, różnica i przecięcie Źródło: en.wikipedia.org

Page 20: Przekształcenia afiniczne

CSG

CSG używana jest do modelowania wnętrz

w silniku Unreal. Na ilustracji gra SWAT4

Page 21: Przekształcenia afiniczne

Voxels

• Voxel – ang. volumetric pixel. Trójwymiarowy odpowiednik piksela

• Pojedynczy voksel zawiera informacje o swojej pozycji względem sąsiadów oraz ewentualnie dodatkowe informacje o kolorze, gęstości itd.

• Reprezentacja wokselowa jest dyskretna

• Stosowana w głównie w medycynie i geodezji

Źródło www.effectware.com

Page 22: Przekształcenia afiniczne

Outcast

Page 23: Przekształcenia afiniczne

Delta Force 3

Page 24: Przekształcenia afiniczne

BREPReprezentacja brzegowa

• Bryły opisane są za pomocą następujących elementów:– Punktów– Krawędzi – Ścian

• Topologia – wzajemne położenie elementów• Geometria – równania opisujące elementy

(równania prostych dla krawędzi, płaszczyzn dla ścianek)

Page 25: Przekształcenia afiniczne

www.al3d.net/half-life2.htm

Page 26: Przekształcenia afiniczne

www.al3d.net/half-life2.htm

Page 27: Przekształcenia afiniczne

BREPPrzekształcenia macierzowe

• Macierz świata

• Macierz widoku

• Macierz projekcji

Page 28: Przekształcenia afiniczne

Macierz świata

• Przekształca obiekt z lokalnego na globalny układ współrzędnych

• Jest złożeniem macierzy skalowania, translacji i rotacji.

Page 29: Przekształcenia afiniczne

Macierz widoku

• Przekształca każdy obiekt z globalnego układu współrzędnych na układ współrzędnych kamery (którego środkiem jest punkt kamery)

• xyz RRRTV

Page 30: Przekształcenia afiniczne

Macierz projekcji

• Odpowiada soczewce w aparacie

• Transformuje obszar widzenia ze ściętego ostrosłupa w prostopadłościan

Page 31: Przekształcenia afiniczne

Macierz projekcji

• Rzut perspektywiczny

• Rzut ortogonalny

Page 32: Przekształcenia afiniczne

BrepEliminacja powierzchni niewidocznych

• Back-face culling

• Algorytm malarza

• Algorytm z buforem głębokości

Page 33: Przekształcenia afiniczne

Back-face culling

• Polega na usunięciu całych ścian, które są skierowane tyłem do kamery

• Wyznaczanie normalnych ścian

• Analiza kąta pomiędzy wektorem normalnym i „kierunkiem kamery”

Page 34: Przekształcenia afiniczne

Algorytm malarza

• Sortuje powierzchnie po odległości od kamery

• Wyświetla powierzchnie od najdalszej do najbliższej

• Nie zawsze poprawny

Page 35: Przekształcenia afiniczne

Algorytm z buforem głębokości

• Bardzo uniwersalny• Rzutuje ściany obiektów do płaszczyzny ekranu• Dla każdego piksela rzutu obliczana jest

odległość odpowiadającego mu punktu na scenie od kamery

• Jeżeli wartość głębokości piksela rzutu jest mniejsza niż zapisana w buforze, to jest ona zapisywana do bufora, a jego kolor zapamiętywany

Page 36: Przekształcenia afiniczne

Koniec

Dziękuje za uwagę


Top Related