Transf2D

Chia sẻ bởi Nguyễn Ngọc Sỹ | Ngày 14/10/2018 | 41

Chia sẻ tài liệu: Transf2D thuộc Tư liệu tham khảo

Nội dung tài liệu:


ĐỒ HỌA MÁY TÍNH

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

trong đồ họa hai chiều




Dẫn nhập

? Bản chất của phép biến đổi hình học là thay đổi các
mô tả về tọa độ của đối tượng, từ đó làm đối tượng
thay đổi về hướng, kích thước, hình dạng.

? Có hai quan điểm về phép biến đổi hình học, đó là:

? Biến đổi đối tượng : thay đổi tọa độ của các điểm mô tả
đối tượng theo một qui tắc nào đó.

? Biến đổi hệ tọa độ : tạo ra một hệ tọa độ mới và tất cả
các điểm mô tả đối tượng sẽ được chuyển về hệ tọa độ
mới.

? Các phép biến đổi hình học cơ sở : tịnh tiến, quay,
biến đổi tỉ lệ.

Các phép biến đổi hình học cơ sở
? Một phép biến đổi điểm là một ánh xạ T :

T : R2
???

?

R2
?


,` y`?
P y
a Q x
? Hay T là hàm số T????y theo hai biến ???, :y
x` ? f ???y
?
??y` ? g???y

Dương Anh Đức, Lê Đình Duy

Các phép biến đổi trong đồ họa 2 chiều 1/16

ĐỒ HỌA MÁY TÍNH
? Phép biến đổi affine là phép biến đổi với f ???y và
g???y
dạng :
?x` ??ax ??cy ??e
??
`
y ??bx ??dy ??f
e f
, a, b, c, d, ,
?
R, ad ??bc
??0

? Ta chỉ khảo sát các phép biến đổi affine, nên sẽ
dùng cụm từ "phép biến đổi" thay cho "phép biến đổi
affine"

Phép tịnh tiến
? Phép tịnh tiến dùng để dịch chuyển đối tượng từ vị
trí này sang vị trí khác.

y











P











trx


(a)





Q

try













x

y










(2,3) (4,3)












(6,1) (8,1)

(b)













x
? Nếu gọi trx và
try lần lượt là độ dời theo trục hoành
Q x ,` y`?? sau khi
và trục tung thì tọa độ của điểm mới
?
tịnh tiến điểm
P ???x, y sẽ là :
??x` ??x ??tr
x



?



y?
?
?
y`
y tr
? ?y
,
trx, tr được gọi là vector tịnh tiến hay vector độ dời.




Dương Anh Đức, Lê Đình Duy




Các phép biến đổi trong đồ họa 2 chiều 2/16



Phép biến đổi tỉ lệ

ĐỒ HỌA MÁY TÍNH

? Phép biến đổi tỉ lệ làm thay đổi kích thước đối
tượng. Để co hay giãn tọa độ của một điểm P???y
theo trục hoành và trục tung lần lượt là sxvà sy, ta
nhân sx và sy lần lượt cho các tọa độ của P.
.
??x` ??sxx
?
?
y` ??sy. y
 , sx và sy được gọi là các hệ số tỉ lệ.

? Khi các giá trị sx , sy nhỏ hơn 1, phép biến đổi sẽ
thu nhỏ đối tượng, ngược lại khi các giá trị này lớn
hơn 1, phép biến đổi sẽ phóng lớn đối tượng.
? Khi sx , sy bằng nhau, ta gọi đó là phép đồng dạng
(uniform scaling), phép đồng dạng là phép biến đổi
bảo toàn tính cân xứng của đối tượng.


y







(2,3) (4,3)

(5,1.5)

(10,1.5)
x
? Tâm tỉ lệ là điểm không bị thay đổi qua phép biến
đổi tỉ lệ.

? Nhận xét rằng khi phép biến đổi tỉ lệ thu nhỏ đối
tượng, đối tượng sẽ được dời về gần gốc tọa độ hơn,
tương tự khi phóng lớn đối tượng, đối tượng sẽ được
dịch chuyển xa gốc tọa độ hơn.

Dương Anh Đức, Lê Đình Duy

Các phép biến đổi trong đồ họa 2 chiều 3/16



Phép quay

ĐỒ HỌA MÁY TÍNH

? Phép quay làm thay đổi hướng của đối tượng.

? Một phép quay đòi hỏi phải có tâm quay, góc quay.
Góc quay dương thường được quy ước là chiều ngược
chiều kim đồng hồ. Ta có công thức biến đổi của
phép quay điểm P???x, y quanh gốc tọa độ một góc ??:








y

??
?

x` ??cos ??.x
y` ??sin ??.x

?
?

sin ??.y
cos ??.y






















x



























Dương Anh Đức, Lê Đình Duy



























Các phép biến đổi trong đồ họa 2 chiều 4/16

ĐỒ HỌA MÁY TÍNH

Hệ tọa độ thuần nhất

? Tọa độ thuần nhất của một điểm trên mặt phẳng
được biểu diễn bằng bộ ba số tỉ lệ ?xh, yh, h??không
đồng thời bằng 0 và liên hệ với các tọa độ ???y
điểm đó bởi công thức :


x ?
x


h,


y ?
y


h
h
h
? Nếu một điểm có tọa độ thuần nhất là ?x, y, z?? thì nó
cũng có tọa độ thuần nhất là ?h.x, h.y, h.z?? trong đó h
là số thực khác 0 bất kì.

? Mỗi điểm
P???y

sẽ được biểu diễn dưới dạng tọa độ
thuần nhất là ?x, y,1??.



































Dương Anh Đức, Lê Đình Duy






































Các phép biến đổi trong đồ họa 2 chiều 5/16

ĐỒ HỌA MÁY TÍNH

Biểu diễn ma trận của các phép biến đổi

? Phép tịnh tiến
? 1
0 0?
?x` y` 1???x y
?
?
?
1 .? 0
?
1 0?
1?
??trxtry
?

? 1

0 0?
hay
?
Q ??P.MTtrx,
try?
 với
?
M tr , tr
T x y
?
?
??? 0
?
1 0?
??tr tr
1?

? Phép biến đổi tỉ lệ




??sx




0 0?
?
x
y
?
?x`
y` 1???x y
?
?
s
?
1 .??0
y
0?
???0 0 1??



??sx



0 0?
hay
Q ??P.MS?sx, sy?? với
?
M s , s
S x y
?
?
????0
s
y
?
0?


? Phép quay quanh gốc tọa độ
???0 0 1??

? cos?

sin ?

0?
?x`
y` 1???x y
?
?
?
1 .????sin?
cos?
0?
?
0
0
1?
?

?

cos?
?
sin ?

0 ?
hay
Q ??P.MR???? với
MR
?
??????????sin ?
cos?
0
?
?
?
0
0
1 ?
?
?










Dương Anh Đức, Lê Đình Duy










Các phép biến đổi trong đồ họa 2 chiều 6/16

ĐỒ HỌA MÁY TÍNH

Kết hợp các phép biến đổi

? Quá trình áp dụng các phép biến đổi liên tiếp để tạo
nên một phép biến đổi tổng thể được gọi là sự kết
hợp các phép biến đổi (composing transformation)

Kết hợp các phép tịnh tiến
? Nếu ta thực hiện phép tịnh tiến lên P???y
rồi lại thực hiện tiếp một phép tịnh tiến khác lên P`,
ta được điểm Q?x ,` y`??. Như vậy, Q là ảnh của phép
biến đổi kết hợp hai phép tịnh tiến liên tiếp
? y1?? 2?
MT1trx1,tr và MT2trx2,try có tọa độ :

Q
?
?
?
?
?
?
?
?
?
?
2??
?
P.MT1trx1,tr
y1
MT2trx2,tr
y2
?
P. MT1trx1,try1MT2trx2,tr
y

? Ta có :




?




1




0




0 ???




1




0




0?
?
?
?
?
?
???
?
MT1trx1,try1MT2trx2,tr
y2
???
0
1
0 ?.?
0
1
0?
??tr
tr
1 ????tr
tr
1 ?


?

1

0

0 ?
?
x1
y1
???
x2
y2
?
?
???
??tr
0
??tr


tr
1
??tr
?
0 ?
1 ?
?
x1
?
x2
y1
?
?
y2
?
?
?
2?
hay :
MT1trx1,try1MT2trx2,tr
y2
?
M tr
T x1
?
trx2,tr
y1
?
tr
y

? Vậy kết hợp hai phép tịnh tiến là một phép tịnh
tiến. Từ đó ta có kết hợp của nhiều phép tịnh tiến
cũng là một phép tịnh tiến.







Dương Anh Đức, Lê Đình Duy







Các phép biến đổi trong đồ họa 2 chiều 7/16

ĐỒ HỌA MÁY TÍNH

Kết hợp các phép biến đổi tỉ lệ

? Tương tự như phép tịnh tiến, ta có tọa độ điểm
Q?x ,` y`? là điểm có được sau khi kết hợp hai phép tỉ
lệ MS1?sx1,sy1? và MS2?sx2,sy2? là :

Q
?
?
??
?
?
?
?
?
?
y2??
?
P.MS1sx1,s
y
1
MS2sx2,s
y
2
?
P. MS1sx1,sy1.MS2sx2,s

? Ta có :




??sx1




0 0????sx2




0 0?
?
?
?
?
?
???
?
MS1sx1,sy1MS2sx2,s
y
2
???
0
s
y
1
0?.?
0
s
y
2
0?
?
0
0 1 ???
0
0 1 ?

?

s .s


x

0

0?
?
???
?
?
???
x1 2
0
s .s
y
?
0?
?
0
y1 2
0
1?
?
?
?
?
?
?
?
x1 x2 y1 y2?
hay :
MS1sx1,sy1.MSs , s
y
?
MSs .s , s .s
2 x2 2
? Vậy kết hợp hai phép tỉ lệ là một phép tỉ lệ. Dễ
dàng mở rộng cho kết quả : kết hợp của nhiều phép
tỉ lệ cũng là một phép tỉ lệ.























Dương Anh Đức, Lê Đình Duy























Các phép biến đổi trong đồ họa 2 chiều 8/16

ĐỒ HỌA MÁY TÍNH

Kết hợp các phép quay
? Tương tự, ta có tọa độ điểm Q?x ,` y`? là điểm phát
sinh sau khi kết hợp hai phép quay quanh gốc tọa độ
MR1??? và MR2???2 là :
?
Q ? P.M
????

M
???
?
P. M
???

M
????

? Ta có :
R1
R2
?
R1
.
R2

? cos ?1

sin ?1

0???

cos ?2

sin ?2

0?
M
R1
???.M
R2
???
?
??????sin ?
1
cos?
1
???
0?.????sin ?
2
cos ?
2
?
0
?
?
0
0
1 ???
0
0
1?

?

cos??1???2?
?
sin??1???2?

0?
???
?
?
??????sin??1???2?
cos??1???2?
?
0?
?
0
0
1?
?
?

hay :
MR1???.M
??????MR??1???2?
R2 2

? Vậy kết hợp hai phép quay quanh gốc tọa độ là một
phép quay quanh gốc tọa độ. Từ đó dễ dàng suy ra
kết hợp của nhiều phép quay quanh gốc tọa độ cũng
là một phép quay quanh gốc tọa độ.





















Dương Anh Đức, Lê Đình Duy





















Các phép biến đổi trong đồ họa 2 chiều 9/16

ĐỒ HỌA MÁY TÍNH

Phép quay có tâm quay là điểm bất kì
? Giả sử tâm quay có tọa độ I?xR, yR?, ta có thể xem
phép quay quanh tâm I một góc ?
các phép biến đổi cơ sở sau :
? Tịnh tiến theo vector tịnh tiến ?
được kết hợp từ


R?















y
??xR,??y để dịch chuyển
tâm quay về gốc tọa độ (đưa về trường hợp quay quanh
gốc tọa độ).
? Quay quanh gốc tọa độ một góc ??.
? Tịnh tiến theo vector tịnh tiến ?xR, yR?? để đưa tâm quay
về lại vị trí ban đầu.




y y y


I(xR,yR) I(xR,yR)
?

(a)
x

(b)
x

(c)
x

(d)
x




? Ta có ma trận của phép biến đổi :
? , ,??? M ? x , ?. ???
MRxRyR?T?R??y M .






T?R,R?

?

1

0

0???

cos ?

sin ?
R
0??? 1
R
M x y
0 0?
?
???
0
1
???
0?.????sin?
cos ?
???
0?.? 0
?
1 0?
?????x

R
??y

R
1
??
??

0
0
1 ??????x

R
y

R
1
?
?


?

cos?

sin?

0?
?
???
??sin?
cos?
?
0?
????1 ??cos???x

R
?
sin??. y

R
?
sin??.x

R
?1 cos
? ?
?
?y

R
1
?
?






Dương Anh Đức, Lê Đình Duy





Các phép biến đổi trong đồ họa 2 chiều 10/16

ĐỒ HỌA MÁY TÍNH

Một số tính chất của phép biến đổi affine

? Bảo toàn đường thẳng : ảnh của đường thẳng qua
phép biến đổi affine là đường thẳng.

? Để biến đổi một đoạn thẳng qua hai điểm A và B, chỉ
cần thực hiện phép biến đổi cho A và B.

? Để biến đổi một đa giác, chỉ cần thực hiện phép biến đổi
đối với các đỉnh của đa giác.

? Bảo toàn tính song song : ảnh của hai đường thẳng
song song là song song.

? Ảnh của các hình vuông, hình chữ nhật, hình thoi, hình
bình hành sau phép biến đổi là hình bình hành.

? Bảo toàn tín
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Ngọc Sỹ
Dung lượng: 757,00KB| Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)