Tải bản đầy đủ (.pdf) (36 trang)

Bài giảng Đồ họa máy tính: Các phép biến đổi - Ma Thị Châu (2017)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (974.69 KB, 36 trang )

Đồ họa máy tính
Các phép biến đổi

1

2/17/17

Ma Thị Châu - Bộ môn KHMT


Một số khái niệm cơ bản
• Một số đối tượng hình học cơ bản
– Đại lượng vơ hướng s
– Vec-tơ v
– Điểm p’ = p + s * v

• Các phép biến đổi
– Các loại biến đổi: quay, tịnh tiến, co dãn.
– Biểu diễn ma trận
– Thứ tự

• Mơ hình hóa hình học
– Mơ hình hóa phân cấp
– Các bề mặt đa diện.

2

2/17/17

Ma Thị Châu - Bộ môn KHMT



Các phép biến đổi
Thế nào là một phép biến đổi?
l P¢=T(P)
Tại sao phải sử dụng các phép biến đổi?
l Mơ hình hóa
- Tạo ra các đối tượng với các tọa độ tự nhiên/ tiện lợi
- Nhiều phiên bản khác nhau của cùng một mẫu hình
- Các mối nối/khung xương – tạo hoạt ảnh robot

l

Tầm nhìn



3

Cửa sổ và thiết bị độc lập với nhau
Camera ảo: Các phép chiếu song song và chiếu phối
cảnh (perspective)

2/17/17

Ma Thị Châu - Bộ môn KHMT


Các loại phép biến đổi

4


Liên tục (Bảo tồn lân cận)
Một – một, có nghịch đảo
Phân chia theo các tính chất bất biến và tính chất
đối xứng
Isometry (bảo tồn khoảng cách)
– Phản xạ (Reflections) – đảo hai bên trái và
phải
– Quay + Tịnh tiến
Similarity (bảo tồn góc)
– Co dãn đồng nhất (Uniform scale)
Affine (bảo tồn các đường thẳng song song)
– Co dãn không đồng nhất (Non-uniform
scales), shears or skews
Collineation (đường thẳng giữ là đường
thẳng)
2/17/17
Ma Thị Châu - Bộ môn KHMT


Tịnh tiến 2D
Xét điểm P là P(x,y),
Tịnh tiến điểm P’(x’,y’) một khoảng cách dx theo trục x, dy theo
trục y:
x’ = x + dx

y’ = y + dy

Viết theo dạng véc-tơ


P’
P

éd x ù
é xù
é x¢ ù
P = ê ú , P¢ = ê ú , T = ê ú
ë ỷ
ë y¢û
ëdy û

Như vậy

5

P’ = P + T

2/17/17

Ma Thị Châu - Bộ môn KHMT


Co dãn 2D theo gốc tọa độ
Xét điểm P là P(x,y),
Co dãn điểm P’(x’,y’) với tỉ lệ sx theo trục x, sy theo trục y:
x’ = x * sx

y’ = y * sy

t

ộsx
S=ờ
ở0

P

0ự
s y ỳỷ

P

Do ú
PÂ = S ì P hay

6

é x ¢ù é s x
ê y¢ú = ê 0
ë û ë

0 ù éx ù
.ê ú
ú
s y û ë yû

2/17/17

Ma Thị Châu - Bộ môn KHMT



Phép kéo

7

l

Kéo theo chiều x

l

Kéo theo chiều y

2/17/17

Ma Thị Châu - Bộ môn KHMT


Phép kéo

8

2/17/17

Ma Thị Châu - Bộ môn KHMT


Quay 2D quanh tâm
y

P’(x’,y’)


q

P(x,y)

r

r
x

9

2/17/17

Ma Thị Châu - Bộ môn KHMT


Quay 2D quanh tâm
y

P’(x’,y’)

P(x,y)

r

q

y


f

r
x

x

10

x = r. cos f
y = r. sin f

2/17/17

Ma Thị Châu - Bộ môn KHMT


Quay 2D quanh tâm
x¢ = r. cos(q + f ) = r. cos f . cosq - r. sin f . sin q
y¢ = r. sin(q + f ) = r. cos f . sin q + r. sin f . cosq

y

P’(x’,y’)

P(x,y)

r

q


y

f

r
x

x

11

x = r. cos f
y = r. sin f

2/17/17

Ma Thị Châu - Bộ môn KHMT


Quay 2D quanh tâm

Thay :

x¢ = r. cos(q + f ) = r. cos f . cosq - r. sin f . sin q
y¢ = r. sin(q + f ) = r. cos f . sin q + r. sin f . cosq

x = r. cos f
y = r. sin f
Cho ta :


x¢ = x. cosq - y. sin q
y¢ = x. sin q + y. cosq

12

2/17/17

Ma Thị Châu - Bộ môn KHMT


Quay 2D quanh tâm
x¢ = x. cosq - y. sin q
y¢ = x. sin q + y. cosq
Viết lại dưới dạng ma trận :

é x¢ù écosq
ê y¢ú = ê sin q
ë û ë

- sin q ù é x ù
.ê ú
ú
cosq û ë y û

écosq
R=ê
ë sin q
13


- sin q ù
, P¢ = R × P
ú
cosq û
2/17/17

Ma Thị Châu - Bộ mơn KHMT


Nhiều phép biến đổi cùng lúc
l

Tịnh tiến


l

Co dãn


l

P¢=T + P
P¢=S × P

Quay
P¢=R × P
Chúng ta muốn các phép biến đổi thể hiện bằng phép nhân để
có thể ghép với nhau được Þ thể hiện điểm bằng tọa độ đồng
nhất.



l

14

2/17/17

Ma Thị Châu - Bộ môn KHMT


Tọa độ đồng nhất
l

Thêm một thành phần tọa độ nữa, W, cho một điểm.


l

Hai tọa độ đồng nhất cùng thể hiện một điểm nếu
chúng là tích của nhau với một hằng số


l
l
l

15

P(x,y,W).


(2,5,3) và (4,10,6) thể hiện một điểm.

Phải có ít nhất một thành phần khác khơng Þ (0,0,0)
khơng xác định.
Nếu W¹ 0 , chia các tọa độ cịn lại cho nó để có tọa
độ Đề-Cát (x/W,y/W,1).
Nếu W=0, điểm đó coi như ở vô cùng.

2/17/17

Ma Thị Châu - Bộ môn KHMT


Tọa độ đồng nhất (…)
l

l

Nếu ta thể hiện (x,y,W) trong không gian 3 chiều, tất cả các tọa
độ đồng nhất thể hiện một điểm 2D tạo thành một đường thẳng
đi qua gốc tọa độ.
Nếu ta đồng nhất hóa một điểm, ta thu được điểm có dạng
(x,y,1)


Các điểm đồng nhất tạo thành mặt phẳng W=1.
W

P


W=1 plane
X

16

Y

2/17/17

Ma Thị Châu - Bộ môn KHMT


Các phép biến đổi với tọa độ
đồng nhất
l

Ma trận cho phép tịnh tiến 2D.
é x¢ ù é1 0 d x ù é x ù
ê y¢ú = ê0 1 d ú.ê y ú
yú ê ú
ê ú ê
êë 1 úû êë0 0 1 úû êë 1 úû

17

2/17/17

x¢ = x + d x
y¢ = y + d y

1=1

Ma Thị Châu - Bộ môn KHMT


Kết hợp các phép biến đổi
(Concatenation)
l

Nếu ta thực hiện 2 phộp tnh tin trờn vi
cựng mt im:
PÂ = P ì T (d x1 , d y1 )
PÂÂ = PÂ ì T (d x 2 , d y 2 )
P¢¢ = P × T (d x1 , d y1 ) × T (d x 2 , d y 2 ) = P × T (d x1 + d x 2 , d y1 + d y 2 )
Do đó :
T (d x1 , d y1 ) × T (d x 2 , d y 2 ) = T (d x1 + d x 2 , d y1 + d y 2 )

18

2/17/17

Ma Thị Châu - Bộ môn KHMT


Kết hợp các phép biến đổi (…)
T (d x1 , d y1 ) × T (d x 2 , d y 2 ) là :
é1 0 d x1 ù é1 0 d x 2 ù é1 0 d x1 + d x 2 ù
ê0 1 d ú.ê0 1 d ú = ê0 1 d + d ú
y1 ú ê
y2 ú

y1
y2 ú
ê
ê
êë0 0 1 úû êë0 0 1 úû êë0 0
1 úû

19

2/17/17

Ma Thị Châu - Bộ môn KHMT


Tính chất của các phép tịnh tiến
1. T (0,0) = I
2. T ( s x , s y ) × T (t x , t y ) = T ( s x + t x , s y + t y )
3. T ( s x , s y ) × T (t x , t y ) = T (t x , t y ) × T ( s x , s y )
4. T -1 ( s x , s y ) = T (- s x ,- s y )

20

2/17/17

Ma Thị Châu - Bộ môn KHMT


Dạng đồng nhất của phép co dãn
Ma trận phép co dãn :


ésx
S (sx , s y ) = ê
ë0


ú
sy û

Trong tọa độ đồng nhất :

ésx
S ( s x , s y ) = êê 0
êë 0
21

2/17/17

0
sy
0


0úú
1úû

Ma Thị Châu - Bộ môn KHMT


Kết hợp các phép co dãn
S ( s x1 , s y1 ) × S ( s x 2 , s y 2 ) :

0

és x1 0 0 ù és x2 0 0 ù és x1 × s x2
ê0 s
ú
ê
ú
ê
ú
0
.
0
s
0
=
0
s
×
s
0
y1
y2
y1
y2
ê
úê
ú ê
ú
êë 0 0 1 úû êë 0
0 1 úû êë 0

0
1úû

22

2/17/17

Ma Thị Châu - Bộ môn KHMT


Dạng đồng nhất của phép quay
é x¢ù écosq
ê y¢ú = ê sin q
ê ú ê
êë 1 úû êë 0

- sin q
cosq
0

0 ù é xù
0 úú.êê y úú
1 úû êë 1 úû

R -1 (q ) = R(-q ).
R -1 (q ) = RT (q )
23

2/17/17


Ma Thị Châu - Bộ môn KHMT


Dạng đồng nhất của phép quay (…)
écosq
R(q ) = êê sin q
êë 0

- sin q
cosq
0

écos- q
R(-q ) = êê sin - q
êë 0

24

0 ù
0 úú,
1 úû

- sin - q
cos- q
0
2/17/17

é cosq
RT (q ) = êê- sin q
êë 0

0 ù é cosq
0 úú = êê- sin q
1 úû êë 0

sin q
cosq
0

sin q
cosq
0

0 ù
0 úú
1 úû

0 ù
0 úú
1 úû

Ma Thị Châu - Bộ môn KHMT


Các tính chất khác của phép quay
R ( 0) = I
R (q ) × R (f ) = R (q + f )

R (q ) × R (f ) = R (f ) × R (q )

25


2/17/17

Ma Thị Châu - Bộ môn KHMT


×