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 2124
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 3Bướ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 4b 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 65.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 8130
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 10try 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 1201
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 14136
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 15y 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 16Hì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 17Hì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 180010
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 200100
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 210010
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 220010
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 24146
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 26Ngoạ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 28150
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 30Hệ 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 31f = 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 32154
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 34156
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 36158
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 40162
[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à: