Phương Pháp Biểu Diễn Đối Tượng Trong Không Gian Hai Chiều

Chương 4

CÁC PHÉP BIẾN ĐỔI HÌNH HỌC 2 CHIỀU

Một trong những ưu điểm quan trọng của đồ họa là cho phép dễ dàng thao tác lên các đối tượng đã được tạo ra. Một nhà quản lí có nhu cầu thu nhỏ các biểu đồ trong một báo cáo, một kiến trúc sư muốn nhìn tòa nhà ở những góc nhìn khác nhau, một nhà thiết kế muốn quan sát và chỉnh sửa các mẫu đối tượng trong quá trình thiết kế,… Tất cả các thao tác này có thể được hỗ trợ một cách dễ dàng nhờ vào các phép biến đổi hình học. Các phép biến đổi hình học sẽ làm thay đổi mô tả về tọa độ của các đối tượng, từ đó làm cho đối tượng bị thay đổi về hướng, kích thước và hình dạng.

Các phép biến đổi hình học cơ sở bao gồm: tịnh tiến (translation), quay (rotation) và biến đổi tỉ lệ (scaling). Ngoài ra một số phép biến đổi khác cũng thường được áp dụng đó là phép đối xứng (reflection) và biến dạng (shearing).

Có hai quan điểm về phép biến đổi hình học đó là: biến đổi đối tượng (object transformation) và biến đổi hệ tọa độ (coordinate transformation). Biến đổi đối tượng là thay đổi tọa độ của các điểm mô tả nó theo một quy tắc nào đó, còn biến đổi hệ tọa độ là 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. Hai cách này có những mối liên hệ chặt chẽ với nhau và mỗi cách đều có những lợi thế riêng.

4.1.Phương pháp biểu diễn đối tượng trong không gian hai chiều

Các đối tượng phẳng trong đồ hoạ hai chiều được mô tả như một tập các điểm phẳng. Các điểm trong đồ hoạ hai chiều được biểu diễn thông qua toạđộ, viết dưới dạng ma trận gọi là các vectơ vị trí.

Có 2 phương pháp biểu diễn tọa độ :

+ Ma trận hàng( một hàng và 2 cột) : x, y



+ Ma trận cột( hai hàng và 1 cột) :

x

y

Tập các điểm được lưu trữ trong máy tính dưới dạng các ma trận hay chuỗi điểm mà vị trí của chúng quyết định hình dạng của đường thẳng, đường cong hay ảnh sẽ dễ dàng kiểm soát thông qua các phép biến đổi. Các phép biến đổi đồ họa được mô tả dưới dạng các ma trận tương ứng cho phép thể hiện các sự biến đổi tọa độ của các điểm qua các phép nhân ma trận. Điều đó tạo thuận lợi cho người sử dụng hình dung cũng như thao tác với các đối tượng hình học một cách dễ dàng, đó cũng là một trong những tính năng mạnh của đồ họa máy tính.

4.2. Phép biến đổi Afine 2D

Một phép biến đổi hai chiều sẽ biến đổi điểm P trong mặt phẳng thành điểm có tọa độ mới Q theo một quy luật nào đó. Về mặt bản chất, một phép biến đổi điểm là một ánh xạ T được định nghĩa :

T : R2 R2

P(x, y)

Q(x, y)


Nói cách khác, T là hàm số T(x,y) theo hai biến(x,y) :


x= f(x, y)

y= g(x, y)

Phép biến đổi Affine 2D sẽ biến điểm P(x,y) thành điểm Q(x‘,y‘) theo hệ phương trình:

x= ax + cy + trx

y= bx + dy + try a, b, c, d, trx, try ∈ R, ad − bc ≠ 0

Dưới dạng ma trận hệ này có dạng:

a b

(x’ y’)=( x y)c d + (𝑡𝑟𝑥 𝑡𝑟𝑦)

Hay viết gọn hơn: X‘ = X.M + tr

với X‘ = (x‘ y‘); X = (x y); tr = (trx try) - vector tịnh tiến;

M = a b– ma trận biến đổi

c d

Một số tính chất của phép biến đổi Affine: Phép biến đổi affine bảo toàn đường thẳng

Tính song của các đường thẳng được bảo toàn

- Tính tỉ lệ về khoảng cách được bảo toàn

4.3. Các phép biến đổi hình học cơ sở

4.3.1. Phép tịnh tiến

Để tịnh tiến một điểm P(x,y) từ vị trí này sang vị trí khác trong mặt phẳng, ta cộng thêm các giá trị mô tả độ dời vào các tọa độ của P. Nếu gọi trx và try lần lượt là độ dời theo trục hoành và trục tung thì tọa độ của điểm mới sẽ là:

x= x + trx

y= y + try

(trx ,try) còn được gọi là vector tịnh tiến hay vector độ dời.

Biểu diễn dưới dạng ma trận

(x‘ y‘) = (x y)1 0+ (trx try )

0 1

Hay X‘= X*P + tr

Có thể dịch chuyển toàn bộ một đối tượng bằng cách áp dụng quy tắc trên cho mọi điểm thuộc đối tượng. Để tịnh tiến một đoạn thẳng, đơn giản chỉ cần tịnh tiến hai điểm đầu và cuối của nó rồi sau đó vẽ lại đoạn thẳng nối hai điểm mới. Với đa giác, ta tịnh tiến các đỉnh của nó sau đó vẽ lại đa giác với các đỉnh mới. Một cách tương tự, để tịnh tiến các đối tượng như đường tròn, Ellipse, ta tịnh tiến tâm của chúng tới vị trí mới rồi vẽ lại.

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


Hình 4 1 a Phép tịnh tiến một điểm và b đối tượng với vector tịnh tiến 1

Hình 4.1 (a) Phép tịnh tiến một điểm và(b) đối tượng với vector tịnh tiến (-4,2)

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(x, y) theo trục hoành và trục tung theo tỉ lệ Sx và Sy ta nhân Sx và Sy lần lượt với các tọa độ của P.

x= Sx . x

y= Sy . y Sx và Sy được gọi là hệ số tỉ lệ

Biểu diễn dưới dạng ma trận:

(x‘ y‘) = ( x y)Sx 0

0 Sy


Sx 0

Hay X‘=X*S với ma trận biến đổi S = 0 Sy

Khi các giá trị Sx, Sy nhỏ hơn 1 phép biến đổi thu nhỏ đối tượng Khi Sx, Sy lớn hơn 1 phép biến đổi phóng lớn đối tượng

Khi Sx = Sy 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.

Tâm tỉ lệ là điểm không bị thay đổi qua phép biến đổi tỉ lệ. Phép biến đổi tỉ lệ mô tả như trên còn gọi là phép biến đổi tỉ lệ quanh gốc tọa độ vì có tâm tỉ lệ là gốc tọa độ. 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.


Hình 4 2 Phép biến đổi tỉ lệ Một số trường hợp đặc biệt Đối xứng qua 2

Hình 4.2 Phép biến đổi tỉ lệ

Một số trường hợp đặc biệt


Đối xứng qua Oy Đối xứng qua Ox Đối xứng qua gốc tọa độ Hình 4 3 Một số 3

Đối xứng qua Oy Đối xứng qua Ox Đối xứng qua gốc tọa độ


Hình 4.3. Một số trường hợp đặc biệt

4.3.2. Phép quay


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ồ. 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 α

x= x ∗ cosα − y ∗ sin α

y= x ∗ sin α + y ∗ cos α

Biểu diễn dưới dạng ma trận

xy′ = x y ∗ cos α sin α

− sin α cos α

Hay X‘ = X. R với ma trận biến đổi R = cos α sin α

− sin α cos α


Hình 4 4 Quay một điểm và một đối tượng quanh gốc tọa độ 4 3 3 Phép đối 4

Hình 4.4.Quay một điểm và một đối tượng quanh gốc tọa độ

4.3.3. Phép đối xứng

Phép đối xứng trục có thể xem là phép quay quanh trục đối xứng một góc 1800.


Đối xứng qua

Đối xứng qua

Đối xứngqua


trục x

trục y

gốc tọa độ


Hình 4.5. Đối xứng qua các trục và gốc tọa độ

Công thức biến đổi


x= x

x= x

x= − x

y= −yy= −yy= − y

Ma trận biến đổi tương ứng

1 0−1 0−1 0

0 −1 0 1

4.3.4. Phép biến dạng

0 −1


Phép biến dạng là phép biến đổi làm thay đổi, méo mó hình dạng của các đối tượng. Hai dạng phép biến dạng thường gặp đó là biến dạng theo phương trục x và

biến dạng theo phương trục y bằng cách thay đổi tọa độ (x,y) của điểm ban đầu theo các hệ số biến dạng shx, shy.

Biến dạng theo phương trục x sẽ làm thay đổi hoành độ còn tung độ vẫn giữ nguyên:

x= x + y ∗ shx

y= y

Ma trận biến đổi: 1 0

shx 1

Biến dạng theo phương trục y sẽ làm thay đổi tung độ còn hoành độ vẫn giữ nguyên :

x= x

y= x ∗ shy + y


Ma trận biến đổi:

1 shy

0 1


Hình 4 6 Phép biến dạng theo phương trục x với hệ số biến dạng shx 3 4 4 Hệ 5


Hình 4.6. Phép biến dạng theo phương trục x với hệ số biến dạng shx=3

4.4. Hệ tọa độ thuần nhất và các phép biến đổi

Với cách biểu diễn ma trận biến đổi dưới dạng ma trận 2x2, ta sẽ gặp khó khăn khi muốn kết hợp các phép biến đổi lại với nhau vì biểu diễn của phép tịnh tiến khác với dạng của các phép biến đổi khác. Vì vậy mà cần phải có một cách nào đó để biểu diễn các phép biến đổi này về một dạng duy nhất để có thể dễ dàng xử lí.

4.4.1. 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 độ (x,y) của điểm đó bởi công thức :

x = xh

h

, y = yh

h

Về mặt toán học, việc đưa tọa độ thuần nhất vào là do sự cần thiết phải bổ sung cho mặt phẳng Euclid các điểm xa vô tận (x, y, 0) (điểm phi chính) có tọa độ thứ ba bằng 0, điều này dẫn đến khái niệm mặt phẳng xạ ảnh trong hình học xạ ảnh.

Trong hệ tọa độ thuần nhất, các điểm xa vô tận không đóng một vai trò gì đặc biệt so với các điểm khác của mặt phẳng. Với các phép biến đổi hình học đang khảo sát, nếu một điểm được biểu diễn dưới dạng tọa độ thuần nhất, các phép biến đổi trên đều được biểu diễn dưới dạng tích các ma trận. Điều này giúp cho việc khảo sát các tính chất và sự kết hợp của các phép biến đổi này được thuận tiện do mỗi phép biến đổi được đại diện bởi một ma trận duy nhất.

Bộ ba các tọa độ thường biểu diễn các điểm trong không gian ba chiều, nhưng ở đây ta sử dụng chúng để biểu diễn các điểm trong không gian hai chiều. Mối liên hệ ở đây là nếu ta xét tất cả các bộ ba tọa độ thuần nhất biểu diễn cho cùng một điểm, nghĩa là bộ ba số có dạng (h.x, h.y, h.) với h≠0, ta sẽ nhận được một đường thẳng trong không gian ba chiều. Để đơn giản hóa có thể chọn h=1, lúc này mỗi điểm P(x, y) sẽ được biểu diễn dưới dạng tọa độ thuần nhất (x, y, 1). Khi đó các phép biến đổi đồ họa 2 chiều được viết dưới dạng

X‘ = X *M

Trong đó X‘ = xy1 ; X = x y 1 ; M là ma trận 3x3 (ma trận

biến đổi)

4.4.2. Biểu diễn các phép biến đổi dưới dạng tọa độ thuần nhất


1. Phép tịnh tiến:


1

0

0

xy1 = x y 1 . 0

1

0

trx

try

1

1

0

0

Hay M trx , try= 0

1

0

trx

try

1

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



sx

0

0

xy1 = x y 1 . 0

sy

0

0

0

1

sx

0

0

Hay M sx , sy= 0

sy

0

0

0

1

Có thể bạn quan tâm!

Xem toàn bộ 240 trang tài liệu này.

3. Phép quay quanh gốc tọa độ:



cos α

sin α

0

xy1 = x y

1. − sin α

cos α

0


0

0

1

cos α

sin α

0

Hay Mα= − sin α

cos α

0

0

0

1


4. Phép đối xứng:

Đối xứng qua trục x


Đối xứng qua trục y


Đối xứngqua gốc tọa độ

1

0

0

0 0

0

1

0 1

1 0

0

1

0 0

0

0

1

1

0

0

0 0

0

1

0 1

5. Phép biến dạng

1 0 0


1 Shy 0

MShx = Shx 1 0 MShy = 0 1 0

0 0 1

Biến dạng theo phương trục x

4.4.3. Phép biến đổi ngược

0 0 1

Biến dạng theo phương trục y


Phép biến đổi ngược là phép biến đổi để có thể khôi phục được các điểm trước khi thực hiện biến đổi.

Các phép biến đổi ngược:

Biến đổi ngược của phép tịnh tiến Biến đổi ngược của phép tỉ lệ

Biến đổi ngược của phép quay


Nếu Q là ảnh của điểm P qua phép biến đổi với ma trận M thì Q = P*M

=> P = M-1*Q trong đó M-1 là ma trận của phép biến đổi ngược Ma trận phép biến đổi ngược của phép tịnh tiến (Tx,Ty)

1

T

M1 0

0 0

0

1


MT


(Tx,Ty)

Tx

Ty 1


Ma trận phép biến đổi ngược của phép co giãn (Sx,Sy)

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 28/06/2022