przekształcenia afiniczne

36
Przekształcenia afiniczne

Upload: ken

Post on 22-Jan-2016

42 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

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ę