LINK DOWNLOAD MIỄN PHÍ TÀI LIỆU "BTL Đô họa máy tính": http://123doc.vn/document/571178-btl-do-hoa-may-tinh.htm
Trong đó các hằng số s
x
,s
y
,s
z
là các hằng số tỉ lệ với trục ox, oy, oz.
Như hình ta thấy phép biến đổi tỷ lệ cho ta thấy đối tượng được phông to lên và các
điểm được di chuyển ra xa tọa độ gốc.
Khi cả ba hệ số s
x
, s
y
, s
z
bằng nhau ta được phép biến đổi đồng dạng.
Trong phép biến đổi gốc O chính là ảnh của nó, ta nói O chính là điểm bất động của
S. Hay O chính 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ệ thêo một tâm F 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 về tọa độ gốc.
-Thực hiện phép biến đổi tỷ lệ theo công thức ở hình 6.2.
-Tịnh tiến ngược điểm bất động từ tọa độ gốc về điểm ban đầu.
Như vậy, ta hợp nhất được ba bước biến đổi ta được ma trận biến đổi tỷ lệ cho một
điểm bất kì theo hệ số x,y,z là.
5
5
GVHD: Th.S Vũ Minh Yến SVTH: Nhóm 04
Trường Đại học Công nghiệp Hà Nội Bài tập lớn: Đồ họa máy tính
2.1.3. Phép biến dạng
Biến dạng theo trục nào của hệ tọa độ cũng bị ảnh hưởng từ hai trục còn lại. Ta
có ma trận của phép biến dạnh như sau.
Ta có mối quan hệ Q
x
vớ P : Q
x
= P
x
+h
xy
P
y
+ h
xz
P
z
Ở đây có thể hiểu h
xy
là lượng mà tọa độ y của P tác động lên tọa độ x của Q
Tương tự trong phép biến đổi tỷ lệ, phép biến dạng SH trong hình 6.4 cũng là
điểm bất động tại gốc tọa độ O. Ta cũng có thể xây dựng được phép biến dạng trong
một trường hợp bấy kỳ là :
6
6
GVHD: Th.S Vũ Minh Yến SVTH: Nhóm 04
Trường Đại học Công nghiệp Hà Nội Bài tập lớn: Đồ họa máy tính
7
7
GVHD: Th.S Vũ Minh Yến SVTH: Nhóm 04
Trường Đại học Công nghiệp Hà Nội Bài tập lớn: Đồ họa máy tính
2.1.4. Phép quay trục
2.1.4.1. Phép quay quanh một trục tọa độ
Khác với phép quay trong hai chiều quanh một điểm bất kì, trong ba chiều ta có
phép quay quanh một trục tọa độ. Ở đây ta sử dụng hệ tọa độ theo quy ước bàn tay phải
và quy định chiều quay dƣơng là ngược chiều kim đồng hồ. Ta có các ma trận biểu diễn
các phép quay quanh trục x, y, z một góc 0 lần lƣợt là R(z, 0), R(y,0), R(x, 0):
Quay quanh trục z :
8
8
GVHD: Th.S Vũ Minh Yến SVTH: Nhóm 04
Trường Đại học Công nghiệp Hà Nội Bài tập lớn: Đồ họa máy tính
Quay quanh trục oy:
Quay quanh trục oz
Nhận xét rằng các giá trị nằm trên dòng và cột tƣơng ứng với trục x trong ma trận
R(x,0) sẽ có giá trị là 0 ngoại trừ giá trị nằm trên đường chéo chính là 1. Điều này đảm
bảo cho tọa độ x của các điểm là không bị thay đổi qua phép biến đổi. Nhận xét này
cũng tương tự cho trường hợp các ma trận còn lại.
9
9
GVHD: Th.S Vũ Minh Yến SVTH: Nhóm 04
Trường Đại học Công nghiệp Hà Nội Bài tập lớn: Đồ họa máy tính
Ghi chú:
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.
Quay quanh trục z: từ trục dương x đến trục dương y.
10
10
GVHD: Th.S Vũ Minh Yến SVTH: Nhóm 04
Trường Đại học Công nghiệp Hà Nội Bài tập lớn: Đồ họa máy tính
2.1.4.2. Phép tịnh tiến quay quanh một trục bất kỳ
Giả sử trục quay đi qua hai điểm P
0
, P
1
nào đó với phương trình biêu diễn bởi vector
đơn vị k. Quay điểm (x, y, z) quanh trục k theo một góc nào đó nó sẽ biến thành điểm có
tọa độ (x’,y’ z’)(như hình 6.12).
Để thực hiện phép quay quanh k một góc a, 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(-P
0
) (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,a) (thành trục k”).
Quay quanh trục y góc để đưa trục k” về trục z: rot(y,-a).
Thực hiện phép quay quanh trục z một góc a: rot(z,a).
Thực hiện chuỗi các phép biến đổi ngược lại quá trình trên.
Góc quay a được xác định dựa trên chiếu của k' lên mặt phẳng yz. Ta không cần tính
a cụ thể. Thay vào đó ta tính sin(a)
và cos(a) một cách trực tiếp.
11
11
GVHD: Th.S Vũ Minh Yến SVTH: Nhóm 04
Trường Đại học Công nghiệp Hà Nội Bài tập lớn: Đồ họa máy tính
Từ hình 6.12 ta có:
Như vậy, phép quay quanh một trục P
0
P
1
bất kì một góc a, rot(P
0
P
1
,a), có thể
được phân rã thành chuỗi các biến đổi cơ sở sau:
tr(-P
0
) rot(x,a) rot(y, -b) rot(z, a) rot(y, a) rot(x, -a) tr(P
0
)
2.1.5. Phép phóng to thu nhỏ
Phép phóng to thu nhỏ tương thự như phép biến đổi tỉ lệ theo hệ số riêng x,y,z
bằng nhau tạo ra phép biến đổi tỷ lệ đồng dạng. Công thức như phép biến đổi
tỷ lệ như trình bày ở trên.
12
12
GVHD: Th.S Vũ Minh Yến SVTH: Nhóm 04
Trường Đại học Công nghiệp Hà Nội Bài tập lớn: Đồ họa máy tính
CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH
3.1. Triển khai ứng dụng
Xây dựng chương trình trên Dev-C bằng ngôn ngữ C++
Kết quả chương trình.
- Phép quay trục
- Phép phóng to thu nhỏ
13
13
GVHD: Th.S Vũ Minh Yến SVTH: Nhóm 04
Trường Đại học Công nghiệp Hà Nội Bài tập lớn: Đồ họa máy tính
- Phép tịnh tiến
14
14
GVHD: Th.S Vũ Minh Yến SVTH: Nhóm 04
Không có nhận xét nào:
Đăng nhận xét