1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Đồ họa máy tính: Phần 2 - ĐH Sư phạm kỹ thuật Nam Định

99 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 99
Dung lượng 1,84 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tiếp nội dung phần 1, Bài giảng Đồ họa máy tính: Phần 2 cung cấp cho người học những kiến thức như: Các phép biến đổi hình học 3 chiều; Màu sắc trong đồ họa. Mời các bạn cùng tham khảo để nắm chi tiết nội dung giáo trình!

Trang 1

Đồ họa máy tính

123

Chương 5 CÁC PHÉP BIẾN ĐỔI HÌNH HỌC 3 CHIỀU 5.1 Giới thiệu đồ họa ba chiều

Các đối tượng trong thế giới thực phần lớn là các đối tượng ba chiều, nên việc thể hiện các đối tượng ba chiều trên máy tính là một công việc hết sức cần thiết để đưa tin học gần gũi với thực tế hơn Cũng giống như các cách biểu diễn các đối tượng ba chiều trên mặt phẳng khác (như của máy ảnh, camera, ), biểu diễn bằng máy tính cũng phải tuân theo các quy luật về phối cảnh, sáng, tối, nhằm giúp người xem có thể tưởng tượng lại hình ảnh một cách gần đúng nhất Ngoài ra biểu diễn trên máy tính

có ưu thế giúp ta có thể quan sát đối tượng ở nhiều góc cạnh khác nhau, ở các khoảng cách khác nhau

5.1.1 Tổng quan về đồ họa ba chiều

Khi mô hình hóa và hiển thị một cảnh ba chiều, cần phải xem xét rất nhiều khía cạnh và vấn đề khác nhau chứ không đơn giản là thêm vào tọa độ thứ ba cho các đối tượng Bề mặt đối tượng có thể xây dựng bởi nhiều tổ hợp khác nhau của các mặt phẳng và các mặt cong Ngoài ra, đôi khi cũng cần mô tả một số thông tin bên trong các đối tượng Các công cụ hỗ trợ đồ họa (graphics package) thường cung cấp một số hàm hiển thị các thành phần bên trong, những đường nét tiêu biểu hoặc hiển thị một phần của đối tượng ba chiều (solid object) Ngoài ra, các phép biến đổi hình học thường được sử dụng nhiều hơn và đa dạng hơn trong đồ họa ba chiều so với trong đồ họa hai chiều Phép biến đổi hệ quan sát trong không gian ba chiều phức tạp hơn nhiều so với trong không gian hai chiều do ta phải chọn lựa nhiều tham số hơn khi mô tả một cảnh ba chiều sẽ xuất hiện trên màn hình như thế nào

Hình 5.1 Một cảnh đồ họa ba chiều

Trang 2

124

Các mô tả về một cảnh ba chiều phải đi qua một quy trình xử lí gồm nhiều công đoạn như phép biến đổi hệ tọa độ quan sát và phép chiếu chuyển cảnh từ hệ tọa độ quan sát ba chiều xuống hệ tọa độ thiết bị hai chiều Những phần nhìn thấy được của cảnh, ứng với một hệ quan sát được chọn nào đó, phải được xác định và cuối cùng, các thuật toán vẽ mặt sẽ được áp dụng nhằm tạo ra hình ảnh trung thực (gần với thực tế) của cảnh

5.1.2 Sơ lược về quy trình hiển thị

Quy trình xử lí thông tin trong đồ họa ba chiều là một chuỗi các bước nối tiếp nhau, kết quả của mỗi bước sẽ là đầu vào của bước tiếp theo

Quy trình bắt đầu bằng việc xây dựng các mô hình đối tượng Các mô hình này thường được mô tả trong không gian ba chiều (x,y,z) Các mô hình thường thể hiện vật thể (solid) hoặc bề mặt (boundaries) của đối tượng Như vậy ta có hai kiểu mô hình hóa Trong solid modeling các đối tượng đồ họa cơ sở thường được dùng để mô tả các

Hình 5.2 Quy trình hiển thị đối tượng ba chiều

Trang 3

Bước đầu tiên trong quy trình hiển thị là biến đổi đối tượng từ không gian đối tượng (object-space) vào một không gian chung gọi là không gian thực (world space) Trong không gian này các đối tượng, nguồn sáng, và người quan sát cùng tồn tại Bước này được gọi là giai đoạn biến đổi mô hình (modeling transformation)

Bước tiếp theo là một bước tối ưu hóa Trong giai đoạn loại bỏ đơn giản (trivial rejection) cần loại trừ tất cả các đối tượng không thể nhìn thấy Điều này giúp tránh được việc xử lí một số phần không cần thiết của cảnh (scene) mà ta đang chuẩn bị hiển thị ở các bước sau

Tiếp theo phải chiếu sáng (illumination) các đối tượng có thể nhìn thấy được bằng cách gán cho chúng màu sắc dựa trên các đặc tính của các chất tạo nên vật và các nguồn sáng tồn tại trong cảnh

Sau khi chiếu sáng, cần thực hiện một phép biến đổi hệ tọa độ để đặt vị trí quan sát (viewing position) về gốc tọa độvà mặt phẳng quan sát (viewing plane) về một vị trí mong ước Bước này gọi là bước đổi hệ quan sát Sau bước này, các đối tượng được chuyển từ không gian thực sang không gian quan sát (eye space)

Trong không gian quan sát, ta phải thực hiện việc xén các đối tượng trong cảnh

để cảnh nằm gọn trong một phần không gian chóp cụt được gọi là viewing frustum Bước này sẽ loại bỏ hoàn toàn các đối tượng (các mảnh đối tượng) không nhìn thấy được trong ảnh

Bước tiếp theo là chiếu các đối tượng xuống mặt phẳng hai chiều Bước Projection thực hiện phép biến đổi từ không gian quan sát sang không gian màn hình (screen-space)

Trong bước rời rạc hóa (rasterization) ta sẽ chuyển đối tượng thành các pixel Cuối cùng, toàn cảnh sẽ được hiển thị lên màn hình

Trang 4

b Biểu diễn các vật thể ba chiều bằng mô hình khung nối kết

Mô hình khung nối kết, hình dạng của đối tƣợng ba chiều đƣợc biểu diễn bằng hai danh sách (list): danh sách các đỉnh (vertices) và danh sách các cạnh (edges) nối các đỉnh đó Danh sách các đỉnh cho biết thông tin hình học đó là vị trí các đỉnh, còn danh sách các cạnh xác định thông tin về sự kết nối, nó cho biết cặp các đỉnh tạo ra cạnh Hãy quan sát một vật thể ba chiều đƣợc biểu diễn bằng mô hình khung nối kết nhƣ sau:

Bảng danh sách các cạnh và đỉnh biểu diễn vật thể:

Hình 5.3 Vật thể ba chiều được biểu diễn bằng mô hình khung nối kết

Trang 5

Đồ họa máy tính

127

Có nhiều cách để đặc tả mô hình khung nối kết trên máy tính nhƣ dùng xâu,

mảng, và mỗi cách đều có các ƣu điểm riêng trong từng ứng dụng cụ thể Ở đây ta

minh họa các biểu diễn mô hình khung nối kết bằng cấu trúc dữ liệu mảng nhƣ sau:

#define MAXVERTS 50 //số đỉnh tối đa có thể biểu diễn

#define MAXEDGES 100 //số cạnh tối đa

typedef struct {

float x, y, z;

} POINT3D;

typedef struct {

int NumVerts; //Số đỉnh trong mô hình

int NumEdges; //Số cạnh trong mô hình

Trang 6

5.2 Một số khái niệm

5.2.1 Phương pháp biểu diễn điểm trong không gian 3 chiều

Việc biểu diễn và hiển thị đối tượng trong không gian 3 chiều là cơ sở nền tảng cho việc hiểu và nắm bắt được hình dạng của đối tượng Qua phép biểu diễn chúng ta có thể quan sát được đối tượng từ tất cả các góc, cũng như thao tác một cách dễ dàng lên các đối tượng này Việc tương tác như quay, tịnh tiến, tỉ lệ lên các đối tượng phức tạp có thể chỉ đơn giản bằng cách nhấn chuột lên các đối tượng và kết quả được hiển thị ngay trên màn hình

Các đối tượng trong đồ họa 3D được mô tả như tập các điểm trong một mặt phẳng Các điểm được biểu diễn thông qua tọa độ của chúng viết dưới dạng các ma trận hay còn được gọi là các vector vị trí Có 2 phương pháp biểu diễn các ma trận mà các phép biến đổi đồ họa trên đó là như nhau bao gồm phương pháp biểu diễn tọa độ theo ma trận 1 hàng 3 cột và ma trận 3 hàng 1 cột

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 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 toán nhân ma trận Điều đó tạo điều kiện 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 và đó cũng là một trong những tính năng mạnh của đồ họa máy tính

Trang 7

Đồ họa máy tính

129

5.2.2 Phương pháp biểu diễn sử dụng hệ tọa độ đồng nhất

Phép biểu diễn thông qua ma trận 3x3 thỏa mãn với mọi phép biến đổi như quay, tỉ lệ, đối xứng, biến dạng Điều đó có nghĩa chúng ta luôn có thể xây dựng được một ma trận tổng hợp từ các phép biến đổi thành phần Tuy nhiên các phép tịnh tiến trong mặt phẳng 3 chiều được mô tả bởi 3 phương trình sau:

Phương pháp biểu diễn mở rộng thông qua tọa độ đồng nhất của các vector vị trí không đồng nhất [x y z] là ứng dụng của phép chiếu hình học

mà ở đó tọa độ điểm được mô tả dưới dạng ma trận

[hx hy hz h] và h là một số thực tùy ý Để đơn giản chọn h = 1 Vậy một điểm trong mặt phẳng ở hệ tọa độ đồng nhất sẽ có 4 thành phần là

[x y z 1] Các phép biến đổi trong mặt phẳng được biểu diễn dưới dạng

Trang 8

130

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

Phép biến đổi affine là phép biến đổi tuyến tính tọa độ điểm đặc trưng của đối tượng thành tập tương ứng các điểm mới để tạo ra các hiệu ứng cho toàn đối tượng

[ X‘ ] = [ X ] * [ M ]

Với M4x4 là ma trận biến đổi

]1[

]1'''

rjig

qfed

pcba

Một số tính chất của các phép biến đổi ba chiều :

- Tính chất đường thẳng được bảo toàn Nghĩa là, một đường thẳng trong không gian ba chiều khi biến đổi sẽ thành một đường thẳng

- Tính song được bảo toàn Nghĩa là, hai đường thẳng song khi biến đổi cũng sẽ thành hai đường thẳng song

- Tính tỉ lệ về khoảng cách được bảo toàn Nghĩa là, ảnh của một điểm P chia đoạn thẳng AB theo tỉ lệ f, sẽ chia đoạn thẳng A‘B‘ theo tỉ lệ f, với A‘B‘ là ảnh của đoạn thẳng AB

Hình 5.4 Một cảnh ba chiều được tạo nhờ các phép biến đổi

Trang 9

Đồ họa máy tính

131

5.2.4 Các hệ trục tọa độ theo quy ước bàn tay phải và bàn tay trái

Hệ tọa độ Descartes ba chiều có thể định nghĩa theo quy ước bàn tay trái hoặc bàn tay phải

Hình 5.5(a)Các hệ tọa độ theo quy ước bàn tay phải, (b) quy ước bàn tay trái

Định nghĩa:

- Hệ tọa độ theo quy ước bàn tay phải là hệ tọa độ với các trục x, y, z thỏa điều kiện: Nếu để bàn tay phải sao cho ngón cái hướng cùng chiều với trục z, khi nắm tay lại, chiều các ngón tay chuyển động theo hướng từ trục x đến trục y

- Hệ tọa độ theo quy ước bàn tay trái là hệ tọa độ với các trục x, y, z thỏa điều kiện: Nếu để bàn tay trái sao cho ngón cái hướng cùng chiều với trục z, khi nắm tay lại, chiều các ngón tay chuyển động theo hướng từ trục x đến trục y

5.3 Các phép biến đổi hình học 3 chiều cơ sở

5.3.1 Phép tịnh tiến

Hình 5.6 Phép tịnh tiến với vector tịnh tiến tr=(tr x , tr y , tr z )

Vector tịnh tiến tr trong phép biến đổi ba chiều có một tác động rất trực quan: mỗi điểm được dịch đi một khoảng là trx, try, trz theo ba trục

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

Trang 10

try y y

trx x x

0010

0001)]

,,(

[

trz try trx

trz try trx

T

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

Phép biến đổi tỉ lệ trong ba chiều là một sự mở rộng của phép biến đổi tỉ lệ trong hai chiều: Nếu thay đổi đối tượng một tỉ lệ sx theo trục Ox, sy theo trục Oy và sz theo trục Oz thì tọa độ của đối tượng biến đổi theo công thức:

z

Sy y

y

Sx x

x

* '

* '

* '

00

0

000

000

Sz Sy Sx

Trong đó các hằng số sx, sy, sz là các hệ số tỉ lệ tương ứng theo các trục x, y, z

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

Chú ý

Trang 11

Đồ họa máy tính

133

Nếu sx = -1, sy = sz = 1 thì phép tỉ lệ là phép đối xứng qua mặt phẳng yOz Nếu sy = -1, sx = sz = 1 thì phép tỉ lệ là phép đối xứng qua mặt phẳng xOz Nếu sz = -1, sy = sx = 1 thì phép tỉ lệ là phép đối xứng qua mặt phẳng xOy Nếu sx = sy = sz = 1 thì đối tượng được giữ nguyên hình dạng ban đầu

Nếu 0 < sx, sy, sz < 1 thì phép biến đổi tương ứng là thu nhỏ đối tượng

Nếu sx, sy, sz > 1 thì phép biến đổi thu được là phép phóng to đối tượng

Khi các hệ số tỉ lệ sx, sy, sz bằng nhau, ta có phép biến đổi đồng dạng

Trong phép biến đổi S(sx, sy, sz ), gốc tọa độ O sẽ có ảnh là chính nó Ta gọi gốc tọa độ là điểm bất động (fixed point) của S, hay còn gọi O là tâm của phép biến đổi

Tổng quát hơn, ta có thể mô tả một phép biến đổi tỉ lệ theo một tâm (xf, xf, xf) bất kì bằng một dãy ba phép biến đổi sau:

Tịnh tiến điểm bất động (xf, xf, xf) về gốc tọa độ

Thực hiện phép biến đổi tỉ lệ theo công thức

Tịnh tiến ngược điểm bất động từ gốc tọa độ trở về vị trí ban đầu

Như vậy, kết hợp ba bước biến đổi trên ta có được ma trận biến đổi của phép biến đổi tỉ lệ theo tâm (xf, xf, xf)với hệ số tỉ lệ sx, sy, sz là:

fz y ax y

ez cy x x

'''

Trang 12

01

01

f e

d c

b a

Hình 5.8 Phép biến dạng theo trục x: a = b = 1, các hệ số khác bằng 0

Tương tự như trong trường hợp phép biến đổi tỉ lệ, phép biến dạng Sh cũng có

điểm bất động là gốc tọa độ O Ta cũng có thể xây dựng phép biến dạng với tâm biến dạng tại một điểm (xf, xf, xf) bất kì

Ma trận biến đổi của phép biến dạng với tâm tại (xf, xf, xf) là:

01

01

f y b x f z a x e z c y

f e

d c

b a

f f

f f

f f

5.3.4 Phép quay

a Phép quay quanh một trục tọa độ

Phép quay là phép biến đổi làm thay đổi hướng của đối tượng nhưng kích thước

và hình dạng của đối tượng vẫn được giữ nguyên

Khi quay đối tượng quanh một trục nào đó thì tọa độ của đối tượng tại trục đó

sẽ không đổi

Chiều dương của phép quay: Các định nghĩa về chiều quay được dùng chung cho cả hệ tọa độ theo quy ước bàn tay phải và bàn tay trái Cụ thể chiều dương được định nghĩa như sau:

Quay quanh trục x: từ trục dương y đến trục dương z

Quay quanh trục y: từ trục dương z đến trục dương x

Trang 13

Đồ họa máy tính

135

Quay quanh trục z: từ trục dương x đến trục dương y

Hình 5.9 Cách xác định chiều quay dương

a Quay đối tượng quanh trục Ox

Là phép quay mà giá trị của x trong vector vị trí không thay đổi Mặt phẳng xoay sẽ vuông góc với trục Ox

Hình 5.10 Quay đối tượng quanh trục Ox

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

'

sincos

'

'

z y

z

z y

y

x x

0

0cossin

0

0sincos

0

000

1]

Trang 14

136

Là phép quay mà giá trị của y trong vector vị trí không thay đổi Mặt phẳng xoay sẽ vuông góc với trục Oy

Hình 5.11 Quay đối tượng quanh trục Oy

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

'

'

sincos

'

z x

z

y y

z x

0cos0sin

0010

0sin0

cos]

c Quay đối tượng quanh trục Oz

Là phép quay mà giá trị của z trong vector vị trí không thay đổi Mặt phẳng xoay sẽ vuông góc với trục Oz

Hình 5.12 Quay đối tượng quanh trục Oz

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

Trang 15

y x

x

'

cossin

'

sincos

0100

00cossin

00sincos

b Quay quanh một trục bất kỳ song song với các trục tọa độ

Các ma trận biến đổi quay quanh các trục tọa độ rất có hiệu quả trong việc xử lý biến đổi các đối tượng, tuy nhiên việc quay các đối tượng thường dựa trên các trục song song với các trục tọa độ gốc Quá trình quay đối tượng quanh các trục của chúng tuân thủ theo các bước sau:

Bước 1: Dịch chuyển đối tượng sao cho trục quay trùng với trục tọa độ

Bước 2 : Quay đối tượng quanh trục của nó (tương đương với trục tọa độ gốc) Bước 3 : Đưa trả đối tượng về vị trí ban đầu

Ví dụ: Quay đối tượng quanh trục song song với trục Ox, cách trục Oy, Oz một

Trang 16

Hình 5.13 – Quay đối tượng quanh trục bất kỳ

Để thực hiện phép quay quanh k một góc Ɵ, ta có thể thực hiện một chuỗi các thao tác sau:

Tịnh tiến trục k về gốc tọa độ: tr(-P0) (thành trục k')

Quay quanh trục x một góc α để đặt trục k' nằm trên mặt phẳng Oxz: rot(x, α) (thành trục k‖)

Quay quanh trục y góc β để đƣa trục k‖ về trục z: rot(y,- β)

Thực hiện phép quay quanh trục z một góc Ɵ: rot(z, Ɵ)

Thực hiện chuỗi các phép biến đổi ngƣợc lại quá trình trên

Trang 17

Hình 5.14 Tính góc β

5.3.5.Phép đối xứng

a Đối xứng qua mặt phẳng xOy

Là phép biến đổi mà giá trị của x, y trong vector vị trí không thay đổi Giá trị của z = -z

Hình 5.15 Đối xứng qua mặt phẳng xOy

Trang 18

0010

0001

b Đối xứng qua mặt phẳng xOz

Là phép biến đổi mà giá trị của x và z trong vector vị trí không thay đổi Giá trị của y = -y

Hình 5.16 Đối xứng qua mặt phẳng xOz

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

0100

0010

0001

c Đối xứng qua mặt phẳng yOz

Trang 19

Đồ họa máy tính

141

Là phép biến đổi mà giá trị của y và z trong vector vị trí là không thay đổi Giá trị của x = -x

Hình 5.17 Đối xứng qua mặt phẳng zOy

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

0100

0010

0001

d Đối xứng qua mặt phẳng song với mặt phẳng gốc

Để thực hiện phép đối xứng đối tượng qua một mặt phẳng song với mặt phẳng gốc ta thực hiện các bước sau:

Bước 1: Tịnh tiến đối tượng sao cho mặt phẳng đối xứng trùng với mặt phẳng tọa độ

Bước 2 : Thực hiện phép đối xứng qua mặt phẳng tọa độ

Bước 3 : Tịnh tiến về vị trí ban đầu

Ví dụ: Đối xứng với mặt phẳng song song với mặt phẳng xOy

Bước 1: Dịch chuyển đối tượng sang hệ tọa độ tạm thời O‘x‘y‘z‘

Với O‘z‘ cách Oz một khoảng là dz

Trang 20

0100

0010

0001

0100

0010

0001

Bước 3 : Quay lại vị trí ban đầu

0100

0010

0001

0

0100

0010

0001

0100

0010

0001

0100

0010

0001

0

0100

0010

0001

2

dz

e Đối xứng với mặt phẳng song song với mặt phẳng xOz

Bước 1: Dịch chuyển đối tượng sang hệ tọa độ tạm thời O‘x‘y‘z‘ Với O‘y‘ cách Oy một khoảng là dy

0100

0010

0001

dy

Trang 21

0010

0001

Bước 3 : Quay lại vị trí ban đầu

0100

0010

0001

010

0

001

0

000

0100

0010

0001

0100

0010

0001

010

0

001

0

000

1

2

dy

f Đối xứng với mặt phẳng song song với mặt phẳng yOz

Bước 1: Dịch chuyển đối tượng sang hệ tọa độ tạm thời O‘x‘y‘z‘

Với O‘x‘ cách Ox một khoảng là dx

0100

0010

0001

dx

Bước 2 : Thực hiện phép đối xứng qua mặt phẳng y‘O‘z‘

Trang 22

0010

0001

Bước 3 : Quay lại vị trí ban đầu

0010

0001

0100

0010

0001

0100

0010

0001

0010

0001

0100

0010

0001

2

dx

5.3.6 Kết hợp các phép biến đổi affine ba chiều

Để kết hợp các phép biến đổi affine ba chiều, chúng ta cũng thực hiện tương tự như ở phép biến đổi hai chiều bằng cách dùng hệ tọa độ thuần nhất

Bằng cách này chúng ta cũng có các kết quả tương tự như trong trường hợp biến đổi hai chiều Nếu M1 biến đổi P thành Q và M2 biến đổi Q thành S thì M1M2 sẽ biến đổi P thành S, do đó ma trận kết hợp của nhiều phép biến đổi có thể được tính từ việc nhân các ma trận của các phép biến đổi thành phần

5.4 Các phép chiếu của vật thể trong không gian lên mặt phẳng

5.4.1 Định nghĩa chung

Đồ họa 3 chiều (3D computer graphics) bao gồm việc bổ sung kích thước về chiều sâu của đối tượng, cho phép biểu diễn chúng trong thế giới thực một cách chính xác và sinh động hơn

Trang 23

Định nghĩa phép chiếu: phép chiếu là phép chuyển đổi những điểm của đối

tượng trong hệ thống tọa độ n chiều thành những điểm trong hệ thống tọa độ có số chiều nhỏ hơn n

Định nghĩa hình chiếu: Ảnh của đối tượng trên mặt phẳng chiếu được hình

thành từ phép chiếu bởi các đường thẳng gọi là tia chiếu (projector) xuất phát từ một điểm gọi là tâm chiếu (center of projection) đi qua các điểm của đối tượng giao với mặt chiếu (projection plan)

5.4.2 Phân loại phép chiếu

Các phép chiếu hình học phẳng được xây dựng trên cơ sở của 2 phép chiếu cơ bản là phép chiếu song song và phép chiếu phối cảnh Sự khác biệt của hai phép chiếu

là vị trí của tâm chiếu Khi khoảng cách giữa tâm chiếu và mặt phẳng chiếu là hữu hạn thì phép chiếu đó được gọi là phép chiếu phối cảnh Khi khoảng cách giữa tâm chiếu

Hình 5.15 Mô hình nguyên lý của tiến trình biểu diễn

đối tượng 3D

Trang 24

146

và mặt phẳng chiếu là vô hạn thì các tia chiếu được coi như song song với nhau và phép chiếu được gọi là phép chiếu song song

Việc phát triển của các phép biến đổi có 2 phương pháp được sử dụng:

- Thứ nhất: Khi tâm phép chiếu trùng với mắt người sử dụng là cố định và mặt phẳng chiếu vuông góc với hướng của mắt nhìn

- Thứ hai: Khi đối tượng là cố định và tâm chiếu tự do dịch chuyển trong không gian 3D và mặt phẳng chiếu không nhất thiết vuông góc với hướng nhìn

5.4.3 Phép chiếu song song

Phép chiếu song song (Parallel Projections) là phép chiếu mà ở đó các tia chiếu song song với nhau hay xuất phát từ điểm vô cùng

Phân loại phép chiếu song song dựa trên hướng của tia chiếu (Direction Of Projection)và mặt phẳng chiếu (projection plane)

1) Phép chiếu trực giao (Orthographic projection)

Hình 5.16 Phân loại phép chiếu

Trang 25

Đồ họa máy tính

147

Là phép chiếu song song và tia chiếu vuông góc với mặt phẳng chiếu Về mặt toán học, phép chiếu trực giao là phép chiếu với một trong các mặt phẳng toạ độcó giá trị bằng 0 Thường dùng mặt phẳng z = 0, ngoài ra x=0 và y=0

Ứng với mỗi mặt phẳng chiếu ta có một ma trận chiếu tương ứng

Cả sáu góc nhìn đều có thể thu được từ một mặt phẳng chiếu thông qua các phép biến đổi hình học như quay, dịch chuyển hay lấy đối xứng

Ví dụ: giả sử chúng ta có hình chiếu bằng trên mặt phẳng z=0, với phép quay đối tượng quanh trục một góc 90o sẽ cho ta hình chiếu cạnh

Đối với các đối tượng mà các mặt của chúng không song song với một trong các mặt phẳng hệ toạ độ thì phép chiếu này không cho hình dạng thật của vật thể Muốn nhìn vật thể chính xác hơn người ta phải hình thành phép chiếu thông qua việc quay và dịch chuyển đối tượng sao cho mặt phẳng đó song song với các trục toạ độ

Trang 26

Ngoại trừ những mặt phẳng của đối tượng song song với mặt phẳng chiếu không thay đổi Các mặt khác của đối tượng hay hình dạng của đối tượng thường biến dạng sau phép chiếu.Tuy nhiên tỉ lệ co (Shortening Factor - SF) là tỷ số của độ dài đoạn thẳng chiếu so với độdài thực tế của đối tượng Trên cơ sở SF phép chiếu trục lượng được chia làm ba loại sau:

Trang 27

𝑓𝑥2=(𝑥′𝑥2 + 𝑦′𝑥2)=cos2 ∅+sin2∅.sin2∅

𝑓𝑦2=(𝑥′𝑥2 + 𝑦′𝑥2)=cos2 ∅

Trang 28

150

Tỷ lệ co trên x và y bằng nhau nên ta có:

cos2 ∅ =cos2 ∅+sin2∅.sin2∅

1- sin2∅ =1- sin2∅ +sin2∅.sin2∅

sin2∅(sin2∅ − 1) = −sin2∅

sin2∅ = sin2φ

1−sin2φ

𝑓𝑧2=(𝑥′𝑧2 + 𝑦′𝑧2)= sin2∅+cos2 ∅.sin2 𝜑

= sin2 ∅ +sin2 𝜑(1- sin2∅)= sin2𝜑 +sin2∅(1- sin2𝜑)

sin2 ∅ = 𝑓𝑧2−sin2φ

1−sin2φ = sin

2 φ 1−sin2φ

Trang 29

Đồ họa máy tính

151

Góc quay tương ứng là 35.260

và 450 Được ứng dụng nhiều trong việc xây dựng các góc quan sát chuẩn cho đối tượng trong các hệ soạn thảo đồ hoạ

Ví dụ các phép chiếu song song:

Hình 5.21 Ví dụ các phép chiếu song song

3) Phép chiếu xiên - Oblique

Trang 30

Hệ số co trên các hệtrục toạ độbằng nhau

Ta có vector đơn vị theo trục z là P=[0 0 1] tia chiếu làm với mặt phẳng một góc và p đƣợc chiếu lên mặt phẳng chiếu, P1O và PP2 là 2 tia chiếu của phép chiếu xiên với góc βvới mặt phẳng chiếu, P2 là ảnh của P, P1 là điểm dịch chuyển của P tạo

ra tia chiếu song song PP2

Tia chiếu P1O có thểthu đƣợc từ phép biến đổi P đến điểm [-a-b]

Trong không gian hai chiều dịch chuyển sẽ là:

Trang 31

f = 0, b = 900 phép chiếu sẽ trở thành phép chiếu trực giao

Còn với f = 1 kích thước của hình chiếu bằng kích thước của đối tượng

=> cavalier

Phép chiếu Cavalier cho phép giá trịcủa a biến đổi một cách tựdo a = 300

và 450

2) Phép chiếu Cabinet

Phép chiếu xiên với hệ số co tỉ lệ f = 1/2

Với phép chiếu cabinet, giá trị của α có thể thay đổi tuỳ ý Thông thường thì các giá trị hay được sử dụng là 300 và 450

Theo phép chiếu xiên một số mặt của đối tượng có thể được hiển thị như hình dạng thật cho nên rất phù hợp với việc mô tả các đối tượng có hình dạng tròn hay các

Trang 32

154

5.4.4 Phép chiếu phối cảnh (Perspective Projection)

Phép chiếu phối cảnh là phép chiếu mà các tia chiếu không song song với nhau

mà xuất phát từ một điểm gọi là tâm chiếu Phép chiếu phối cảnh tạo ra hiệu ứng về luật xa gần tạo cảm giác về độ sâu của đối tƣợng trong thế giới thật mà phép chiếu song song không lột tả đƣợc

Các đoạn thẳng song song của mô hình 3D sau phép chiếu hội tụ tại một điểm gọi là điểm triệt tiêu (vanishing point)

Phân loại phép chiếu phối cảnh dựa vào tâm chiếu (Centre Of Projection -COP)

và mặt phẳng chiếu (Projection plane)

Trang 33

Đồ họa máy tính

155

Hình 5.25 Phép chiếu với tâm chiếu trên trục z

Phép chiếu phối cảnh của các điểm trên đối tượng lên trên mặt phẳng 2D thu được từ phép chiếu trực giao và phép biến đổi phối cảnh

1) Phép chiếu phối cảnh một tâm chiếu

Giả sử khi mặt phẳng được đặt tại z = 0 và tâm phép chiếu nằm trên trục z, cách trục z một khoảng zc = -1/r

Nếu đối tượng cũng nằm trên mặt phẳng z = 0 thì đối tượng sẽ cho hình ảnh thật

Phương trình biến đổi:

𝑟𝑧 +1 0 1

Trang 34

156

Hình 5.26 Phép chiếu phối cảnh một tâm chiếu

2) Phép chiếu phối cảnh hai tâm chiếu

Hình 5.27 Phép chiếu phối cảnh hai tâm chiếu

Trang 35

𝑧 (𝑝𝑥 +𝑞𝑦 +1) 1 Hai tâm chiếu: [ -1/p 0 0 1 ] và [ 0 -1/q 0 1 ]

Điểm triệt tiêu (VP -Vanishing point) tương ứng trên 2 trục x và y là điểm: [ 1/p

𝑧 (𝑝𝑥 +𝑞𝑦 +𝑟𝑧 +1) 1

Hình 5.28 Phép chiếu phối cảnh ba tâm chiếu

Ba tâm chiếu:

trên trục x tại điểm [ -1/p 0 0 1 ],

trên trục y tại điểm [ 0 -1/q 0 1 ]

Trang 36

158

trên trục z tại điểm [ 0 0 -1/r 1 ]

Điểm triệt tiêu -VP sẽtương ứng với các giá trị:

[ 1/p 0 0 1 ], [ 0 1/q 0 1 ], [ 0 0 1/r 1 ]

5.5 Phép biến đổi mô hình và phép biến đổi hệ trục toạ độ

Cho đến thời điểm này, chúng ta đã khảo sát các phép biến đổi ba chiều như là thao tác dịch chuyển một điểm (một đối tượng) từ vị trí này sang vị trí khác trong một

hệ trục tọa độ Tuy nhiên, nhiều khi, ta cần xem xét các đối tượng trong các hệ tọa độ khác nhau, muốn chuyển từ một hệ tọa độ này sang hệ tọa độ khác Ví dụ, trong quy trình hiển thị đối tượng ba chiều, ta cần đặt một đối tượng vào hệ tọa độ chung cho tất

cả các đối tượng trong cảnh (hệ tọa độ thế giới thực), sau đó, xác định tia nhìn, ta chuyển đổi từ hệ tọa độ thế giới thực sang hệ tọa độ quan sát, và cuối cùng ta phải chuyển từ hệ tọa độ quan sát sang hệ tọa độ thiết bị, nơi các đối tượng sẽ được hiển thị

Khi mô hình hóa đối tượng, ta thường mô tả chúng trong một hệ tọa độ cục bộ, thuận tiện nhất cho việc mô hình hóa Sau đó, bằng các phép biến đổi ta sẽ đặt chúng vào cảnh cần hiển thị Cách tiếp cận này cho phép ta không cần mô hình hóa quá nhiều đối tượng mà chỉ mô hình hóa theo chủng loại đối tượng Việc chuyển đổi các mô tả đối tượng từ hệ tọa độ này sang hệ tọa độ khác thực hiện theo quy trình tương tự như trong đồ họa hai chiều Ta cần xây dựng ma trận biến đổi để khớp được các trục tọa độ của hai hệ Trước tiên, ta cần thực hiện phép tịnh tiến để hai gốc tọa độ trùng nhau Sau đó, ta phải thực hiện tiếp một dãy các phép quay để khớp các trục tọa độ tương ứng lên nhau Nếu các hệ tọa độ sử dụng các tỉ lệ đo lường khác nhau, ta phải thực hiện thêm một phép biến đổi tỉ lệ nữa để đồng nhất các hệ tọa độ

Hình 5.27Mô hình hóa và phép biến đổi hệ tọa độ

Trang 37

Đồ họa máy tính

159

Nếu hệ tọa độ thứ hai có gốc tọa độ đặt tại (x0, y0, z0) và các vector cơ sở được

mô tả như trong hình 6.15 (tương ứng hệ tọa độ thứ nhất), trước tiên ta cần thực hiện phép tịnh tiến T( -x0,-y0,-z0) Sau đó ta xây dựng ma trận quay R dựa trên các vector cơ

sở Ma trận này sẽ biến đổi các vector đơn vị u‘x, u‘y, u‘z tương ứng thành các trục x, y,z

Ma trận của phép biến đổi hệ tọa độ chính là tích T.R Ma trận này biến đổi hệ tọa độ Descartes này thành hệ tọa độ Descartes khác, cho dù chúng là hệ tọa độ theo quy ước bàn tay phải hay bàn tay trái

Hình 5.28 Chuyển đổi hệ tọa độ

Trang 38

[d] (-a, 3a, 6a, a) trong đó a ≠ 0

2 Trong 3D có điểm Q(-4 , 1.6 , -7), đối xứng qua trục ox đƣợc Q‘ là:

Trang 40

162

[b] (2; - 5√2; -√2)

[c] (2; -3√2; - 5√2)

[d] (2; 5√2; -√2)

11 Trong 3D có điểm L(2,-4,6), quay điểm L quanh trục oz một góc 30o sau đó phóng

to gấp đôi Điểm L‘ có toạ độ là:

Ngày đăng: 08/06/2021, 14:17

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Quốc Cường, Hoàng Đức Hải. Đồ hoạ vi tính. NXB giáo dục. 1998 Sách, tạp chí
Tiêu đề: Đồ hoạ vi tính
Nhà XB: NXB giáo dục. 1998
[2]. Lê Tấn Hùng, Huỳnh Quyết Thắng. Kỹ thuật đồ họa. NXB Khoa học và kỹ thuật.2000 Sách, tạp chí
Tiêu đề: Kỹ thuật đồ họa
Nhà XB: NXB Khoa học và kỹ thuật.2000
[3].Hoàng Kiếm, Dương Anh Đức, Lê Đình Duy, Vũ Hải Quân. Cơ sở đồ họa máy vi tính. Nhà xuất bản Giáo dục.1999 Sách, tạp chí
Tiêu đề: Cơ sở đồ họa máy vi tính
Nhà XB: Nhà xuất bản Giáo dục.1999
[4]. Phan Hữu Phúc. Cơ sở đồ họa máy vi tính. NXB Giáo dục. 2000 Sách, tạp chí
Tiêu đề: Cơ sở đồ họa máy vi tính
Nhà XB: NXB Giáo dục. 2000
[5]. Francis S. Hill, Jr - Computer Graphics, Macmillan Publishing Company, New York, 1990 Sách, tạp chí
Tiêu đề: Computer Graphics
[6]. Foley, Van Dam, Feiner and Hughes - Computer Graphics: Principles and Practice, Addison-Wesley Publishing Company, USA 1996 Sách, tạp chí
Tiêu đề: Computer Graphics: Principles and Practice
[7]. John R. Rankin - Computer Graphics Software Contruction, Prentice Hall of Australia, 1989 Sách, tạp chí
Tiêu đề: Computer Graphics Software Contruction
[8]. Harrington – Computer Graphics: A Programming Approach, McGraw-Hill Book Company, Singapore 1986 Sách, tạp chí
Tiêu đề: Computer Graphics: A Programming Approach

🧩 Sản phẩm bạn có thể quan tâm