Nội dung Hệ tọa độ tay phải, hệ tọa độ tay trái Biểu diễn điểm Phép biến đổi khái quát Các phép biến đổi hình học Các phép biến đổi hệ trục... Hệ tọa độ tay phải, hệ tọa độ tay trái
Trang 1Chương 4
Các phép biến đổi trong
không gian 3 chiều
Giảng viên: Ths.Vũ Minh Yến
Tổ HTTT- Khoa CNTT
Trang 2Nội dung
Hệ tọa độ tay phải, hệ tọa độ tay trái
Biểu diễn điểm
Phép biến đổi khái quát
Các phép biến đổi hình học
Các phép biến đổi hệ trục
Trang 31 Hệ tọa độ tay phải, hệ tọa độ tay trái
Hệ tọa độ tay phải
Là hệ tọa độ chuẩn biểu diễn trên văn
bản của toán học
Chiều dương xác định ngược chiều
kim đồng hồ khi nhìn từ hướng dương
của trục về gốc.
Hệ tọa độ tay trái
Phù hợp cho việc biểu diễn hình ảnh
trên máy tính
Khi z càng lớn thì càng xa người nhìn
Chiều dương xác định cùng chiều kim
đồng hồ khi nhìn từ hướng dương của
trục về gốc.
Giá trị chiều dương cho hai hệ tọa độ
trên là như nhau
x O
z
y
+
x O
z y
Trang 42 Biểu diễn điểm(1)
x M
=
θ ϕ
=
sin R z
sin cos
R y
cos cos
R x
y O
x x
y
z
z
M R
ϕ
θ
H
Trang 52 Biểu diễn điểm(2)
Trong hệ toạ độ thuần nhất
M(kx, ky, kz, k) với k≠0, k=0 điểm M ở vô cùng
k=1 khi đó M(x, y, z, 1) được gọi là toạ độ đề các của điểm thuần nhất
Trang 63 Phép biến đổi hình học khái quát (1)
Phép biến đổi T biến điểm M thành điểm M’:
Công thức biến đổi:
Trong đó: a1, b1, c1, a2, b2, c2, a3, b3, c3, m, n, p là hằng số
Ma trận biến đổi
)'z,'y,'x('M)
z,y,x(
+
=
+ +
+
=
+ +
+
=
p z 3 c y 3 b x 3 a ' z
n z 2 c y 2 b x 2 a ' y
m z
1 c y 1 b x 1 a ' x
n m
0 3
c 2
c 1
c
0 3
b 2
b 1
b
0 3
a 2
a 1
a T
Trang 73 Phép biến đổi hình học khái
n m
0 3
c 2
c 1 c
0 3 b 2
b 1 b
0 3
a 2 a 1 a T
Trang 94.1 Phép bất biến
Biến điểm M thành chính nó:
Ma trận biến đổi:
) z , y , x ( M )
' z , ' y , ' x ( ' M )
z , y , x (
I 1
0 0
0
0 1
0 0
0 0
1 0
0 0
0 1
Trang 10z , y , x (
' z
n y
' y
m x
' x
0 1 0 0
0 0 1 0
0 0 0 1
T
y O
Trang 114.3 Phép biến đổi tỉ lệ tại gốc toạ độ
z , y , x (
z
y tly '
y
x tlx '
0 0
0 tlz 0
0
0 0
tly 0
0 0
0 tlx
T
Trang 12Phép đối xứng qua tâm O
0 1 0
0
0 0 1 0
0 0 0 1 T
0 1 0 0
0 0 1 0
0 0 0 1 T
0
0 1 0
0
0 0 1 0
0 0 0
1 T
0
0 1 0
0
0 0 1 0
0 0 0
1 T
Trang 134.5 Phép quay
Trang 144.5.1 Phép quay quanh trục Oz
Điểm M quay quanh trục Oz góc quay α thành M’:
Công thức biến đổi:
Ma trận biến đổi:
Lưu ý:
Chiều dương góc quay theo quy tắc vặn đinh ốc, hoặc nắm bàn tay phải.
Chiều dương từ Ox sang Oy
) ' z , ' y , ' x ( ' M )
z , y , x (
α
=
α
− α
=
z ' z
cos y sin
x ' y
sin y cos
x ' x
−
α α
=
1 0 0
0
0 1 0
0
0 0 cos
sin
0 0 sin
cos T
y O
Trang 154.5.2.Phép quay quanh trục Ox,Oy
α
− α
=
1 0
0 0
0 cos
0 sin
0 0
1 0
0 sin
0 cos
0 0
0 cos
sin 0
0 sin
cos 0
0 0
0 1
T
Trang 164.6 Phép biến đổi kết hợp (1)
Điểm M qua phép biến đổi T1 thành M1, M1 qua phép biến đổi T2 thành M2, suy ra tồn tại một phép biến đổi T biến M thành M2:
T được gọi là phép biến đổi kết hợp của T1 và T2, khi đó:
T = T1 × T2
) z , y , x ( M )
z , y , x ( M
) z , y , x ( M )
z , y , x ( M )
z , y , x ( M
2 2
2 2
T
2 2
2 2
T 1
1 1 1
Trang 175 Các phép biến đổi hệ trục toạ độ
Phép biến đổi hệ trục toạ độ là phép biến đổi nghịch
đảo của phép biến đổi vật:
T hệtrục = T vật -1
Hai phép biến đổi được gọi là nghịch đảo của nhau
nếu phép biến đổi kết hợp của chúng là phép bất biến.
Ví dụ:
Phép tịnh tiến hệ trục bởi vecto (m, n, p) bằng phép
tịnh tiến vật đi vecto (-m,-n,-p)
Phép quay hệ trục quanh trục Oz góc α bằng phép
quay vật quanh trục Oz góc quay - α
Trang 18
6 Chuyển đổi quan sát
Trang 196.1.Mục đích
Mô phỏng hình ảnh trong không gian thực ba chiều lên màn hình
Ví dụ:
Mô phỏng chiếc bàn, chiếc ghế,
Mô phỏng các hình khối: hình lập phương, hình hộp chữ nhật, hình kim tự tháp,
Cho phép nhìn các vật thể từ các góc độ
khác nhau: từ phía trước, từ phía sau, từ trên xuống, từ dưới lên,
Trang 206.2 Xây dựng công thức chuyển đổi quan sát
Trang 216.2.1 Bố trí hệ quan sát
Hệ tọa độ thế giới thực Oxyz-hệ tọa độ vật
O’ là vị trí đặt mắt quan sát
O’(xo,yo,zo) trong hệ tọa độ Oxyz
Hệ tọa độ O’x’y’z’ là hệ tọa độ quan sát cóO’z’ chỉ về O
Trang 22Tính tọa độ M p (x p , y p ) trên mặt phẳng chiếu (P)
Chuyển Mp lên màn hình (chương 3)
Trang 23Nhiệm vụ
Tính tọa độ của M biểu diễn trong hệ tọa độ
O’x’y’z’-chuyn h ta đ Oxyz thành h ta đ O’x’y’z’
Chiếu lên mặt phẳng (P) – chiu 3D v 2D
Trang 246.2.2 Chuyển hệ tọa độ Oxyz
thành hệ tọa độ O’x’y’z’ (1)
Bước 1: Tịnh tiến hệ trục Oxyz véctơ c 1
Biến hệ trục Oxyz thành O’x1y1z1
Ma trận biến đổi:
( 0 , 0 , 0)
' x y z OO
y z’
y 0
x
0 1
0 0
0 0
1 0
0 0
0 1
1
T
H
R ϕ θ
Trang 256.2.2 Chuyển hệ tọa độ Oxyz thành hệ tọa độ O’x’y’z’(2)
Đổi sang hệ tọa độ cực: O’(R,θ,ϕ), R=OO’
ϕ
− θ
ϕ
−
=
1 sin
R sin
cos R
cos cos
R
0 1
0 0
0 0
1 0
0 0
0 1
1
T
Trang 266.2.2 Chuyển hệ tọa độ Oxyz thành hệ
– ( 90 0 - θ)
– ( 90 0 - θ)
θ ϕ
Trang 276.2.2 Chuyển hệ tọa độ Oxyz thành hệ tọa độ O’x’y’z’(4)
−
θ θ
=
1 0
0 0
0 1
0 0
0 0
sin cos
0 0
cos sin
2 T
Trang 286.2.2 Chuyển hệ tọa độ Oxyz
Trang 296.2.2 Chuyển hệ tọa độ Oxyz thành hệ tọa độ O’x’y’z’(6)
0 0
0 sin
cos 0
0 cos
sin 0
0 0
0 1
3 T
Trang 306.2.2 Chuyển hệ tọa độ Oxyz thành hệ tọa độ O’x’y’z’(7)
Trang 316.2.2 Chuyển hệ tọa độ Oxyz thành hệ tọa độ O’x’y’z’(8)
00
01
00
00
10
00
01
4T
Trang 326.2.2 Chuyển hệ tọa độ Oxyz thành hệ tọa độ O’x’y’z’(9)
Ma trận biến đổi T biến Oxyz thành O’x’y’z’:
ϕθ
−ϕ
θ
−θ
ϕθ
−ϕ
θ
−θ
−
=
1R
00
0sin
cos0
0sin
cossin
sincos
0cos
sinsin
cossin
T
Trang 336.2.3 Chiếu 3D-2D(1)
Một số khái niệm
Trang 34Một số khái niệm
Chiếu phối cảnh:
Các tia chiếu hội tụ
Các tia chiếu song song
Trang 35Xây dựng công thức chiếu 3D-2D(1)
x’
z’ O’
Trang 36Xây dựng công thức chiếu 3D-2D(2)
Công thức chiếu phối cảnh:
'
x ' z
D x
' z
D '
z
D y
' z
D '
Trang 37Xây dựng công thức chiếu 3D-2D(3)
Chiếu song song:
Tâm chiếu ở vô cực, hướng chiếu O’z’
(P) song song với O’x’y’
' x x
p p
Trang 386.5 Xây dựng bộ công cụ 3D (1)
void chuyenden(float x, float y, float z): con trỏ void chuyenden(float x, float y, float z)
chuyển tương ứng đến điểm (xm, ym) trên màn hình
void veden(float x, float y, float z) veden(float x, float y, float z): vẽ đến điểm
(xm, ym) tương ứng trên màn hình
Trang 396.5 Xây dựng bộ công cụ 3D (2)
Khai báo các biến toàn cục:
float R, phi, teta, D, tlx, tly;
int phepchieu; // =1: phối cảnh; =0: song song.
int x0, y0; // (x0, y0) vị trí đặt gốc toạ độ trên màn hình
Xây dựng các thủ tục phụ trợ:
void chuyenhqs(float x, float y, float z,
float &x1, float &y1, float &z1 )
void chieu3D_2D (float x, float y, float z,
float &xp, float &yp )
void chuyenmh(float x, float y, int &xm, int &ym);
Trang 406.5 Xây dựng bộ công cụ 3D (3)
Code:
void chuyenhqs(float x, float y, float z,
float &x1, float &y1, float &z1 )
{
x1= -x*sin(teta)+y*cos(teta);
y1= -x*cos(teta)*sin(phi)-y*sin(teta)*sin(phi)+z*cos(phi);
z1= -x*sin(teta)*cos(phi) - y*cos(teta)*sin(phi)-z*sin(phi)+r; }
void chieu3D_2D (float x, float y, float z,
float &xp, float &yp )
Trang 41void chuyenden(float x, float y, float z)
{ float x1, y1, z1, xp, yp; int xm, ym;
Trang 42Mô hình khung dây
C5
C6 C7
C8
C12
C11 C9
C10
x
y z
O
Trang 43Mô hình khung dây
Danh sách các đỉnh
Mảng các bản ghi
Danh sách các cạnh
z y x
1 0 0 1 1 1 0
0
0 0 0 0 1 1 1 1
0 0 1 1 1 0 0 1
8 7 6 5 4 3 2 1
8 5
11
6 1
8
7 2
7
7 6
9
5 6
5 1
4 3
2
8 3
4 4
3 2
1
12 6
5 4
3 2
1
Trang 44Bài tập
đơn vị tại một vị trí quan sát tuỳ chọn
Thay đổi vị trí quan sát (R, phi, teta, D), cho nhận xét về hình ảnh thu được
Áp dụng các phép biến đổi hình học vẽ ảnh của hình lập phương trên
Mô phỏng hình lập phương quay quanh trục Oz
Mô phỏng hình lập phương thực hiện phóng hình, thu hình.