Chương V. Biến đổi ba chiều
I. Nhắc lại đại số với véctơ II. Các phép biến đổi 3D cơ sở III. Biến đổi 3D gộp
1
Đại số véctơ
P2 V Biểu diễn véctơ
Đoạn thẳng có hướng giữa hai điểm xác định
P1
VV
(
x
,
y
,
z
)
1
x 1
2
y 1
2
z 1
2
2 Nhân hai véctơ
Cộng hai véctơ
Tích vô hướng hay tích điểm
y
VV
1.
xx 21
yy 1
2
zz 21
V1+V2
2 Độ dài véctơ
V2=(x2,y2,z2)
2
2
2
V1=(x1,y1,z1)
V
V.V
(
x
y
z
)
x V2 z
cos
V1
VV . 1
2
VV 1
2
Chiếu V2 trên V1
2
Đại số véctơ
Tích có hướng của hai véctơ
Kết quả là véctơ vuông góc với mặt phẳng
tạo ra bởi hai véctơ
V1 x V2 V2
Véctơ đơn vị u
Có độ dài bằng 1
Xác định hướng của véctơ kết quả
Quy tắc bàn tay phải
Nắm tay phải, để cong các ngón tay
từ V1 đến V2 (nếu V1xV2), lòng bàn
tay hướng về gốc, ngón cái sẽ trỏ theo
hướng của u
Véctơ kết quả
x
sin
u V1
VVuVV 2
1
2
1
3
Đại số véctơ
,
, uuu y
x
z
Véctơ đơn vị theo các trục tọa độ:
y
u
u
u
z
Tích có hướng của hai véctơ được biểu diễn như sau:
uy
VV x
2
1
uz
x
ux
x x 1 x
y y 1 y
z 1 z
2
2
2
z
u
(
)
u
(
)
u
(
)
VV x 1
2
zy 21
x
yz 1
2
xz 1
2
y
zx 21
yx 1
2
z
yx 2
1
y
Cho trước véctơ p. Cosine hướng
P(x, y, z)
là cosine của các góc , và
Cosine hướng
u
y = r cos
p p
u= i cos + j cos + k cos
j O
k
i
x
cos2 + cos2 + cos2 = 1
z
(x, 0, z)
4
Các phép biến đổi 3D cơ sở
Dịch chuyển Co dãn Xoay Các phép biến đổi khác
5
Các phép biến đổi 3D cơ sở
y
(x', y',z')
1 0
0 1
0 0
0 0
y
'
z
y
z
1'
x
(x, y,z)
x
0 T
0 1
y
1 T z
z
1 0 T x
x '
Dịch chuyển điểm (x, y, z) đến (x’, y’, z’)
Sx 0
0 Sy
0 0
0 0
'
y
'
z
y
z
x
1'
x
0 0
0 0
Sz 0
0 1
1
Co dãn
6
Các phép biến đổi 3D cơ sở
Chọn trục xoay và góc xoay Qui ước: Xoay ngược chiều kim đồng hồ theo trục sẽ tạo thành góc dương
nếu nhìn về gốc tọa độ từ nửa trục dương.
Trục dễ quản lý: song song trục tọa độ
Xoay
y
x z
x
'
x
cos
y
sin
cos
sin
00
sin
y
cos
' y ' z
x z
'
y
'
z
y
z
x
1'
x
sin 0
cos 0
00 01
0
0
10
1
Xoay quanh trục z
7
Các phép biến đổi 3D cơ sở
0
0
0
'
y
'
z
y
z
x
1'
x
cos sin
sin z cos z
0 0
cos sin
sin cos
0 0
y y x
0
0
1
0
1 1
' y ' z ' x
Xoay quanh trục x
z x
' '
z z
cos sin
x x
sin cos
y
'
y
cos
0
sin
0
x
'
y
'
z
x
y
z
1'
0 sin
1 0
0 cos
0 0
0
0
0
1
1
Xoay quanh trục y
8
Xoay quanh trục bất kỳ
Trường hợp đặc biệt
Trục xoay song song trục tọa độ Các bước thực hiện
Dịch đối tượng sao cho trục xoay về trục tọa độ song song với nó Thực hiện xoay Dịch đối tượng sao cho trục xoay về vị trí ban đầu
Trường hợp tổng quát
Yêu cầu bổ sung một vài biến đổi Xác định ma trận chuyển đổi bằng đại số véctơ Xác định ma trận chuyển đổi bằng hình học
9
Các bước xoay quanh trục bất kỳ
1. Dịch đối tượng sao cho trục xoay đi qua gốc tọa độ.
2. Xoay đối tượng sao cho trục xoay trùng với một
trong các trục tọa độ.
3. Thực hiện xoay đối tượng.
4. Áp dụng xoay ngược để trục xoay trở về hướng
xoay ban đầu.
5. Áp dụng chuyển dịch ngược để đem trục xoay về vị
trí ban đầu.
10
Tìm ma trận chuyển đổi bằng hình học
(x2,y2,z2)
l
z1) và (x2, y2, z2), có độ dài l
(x1,y1,z1)
Bước 1: Tịnh tiến sao cho đầu cuối của nó trùng với gốc
tọa độ.
(x0, y0, z0)
Tọa độ hai đầu đoạn thẳng sẽ là (0, 0, 0) và (x0, y0, z0). Bước 2: Thực hiện xoay quanh trục x và y để trục bất kỳ
trùng với trục z
Bước 3: Xoay quanh trục z góc
y
Bước 4: Xoay ngược lại quanh trục y và x
(x0, y0, z0)
Bước 5: Tịnh tiến ngược để đưa trục về vị trí ban đầu.
l
Giả sử trục xoay được xác định bởi hai điểm (x1, y1,
x
l
T
T
T
T
T
T
T
T
1
R
TR
R
R
R
TR
l
ARB
xR
y
zR
y
x
z
Ma trận biến đổi cuối cùng
11
Thực hiện tính toán
(x2,y2,z2)
l
TTR
1 0 0
0 1 0
0 0 1
0 0 0
(x1,y1,z1)
1
x 1
y 1
z 1
Bước 1: Ma trận tịnh tiến
12
Thực hiện tính toán
y
Bước 2:
Tính góc cho ma trận xoay. Chiếu trục xoay
(0, y0, z0)
(x0, y0, z0) l
sin
y 0 d
y
0
z
y 2 0
2 0
x d l
k
cos
z 0 d
y
0
z
z 2 0
2 0
z y
lên mặt phẳng yz
(x0, y0, z0)
Ma trận xoay quanh x một góc
l
d x
1
0
0
0
1
0
0
0
/
0
T xR
l k
0 0
cos sin
sin cos
0 0
0 0
z 0 y
d / d
y z
/ /
d d
0 0
0
0
0
0
1
0
0 0
0
1
z
13
Thực hiện tính toán
y
Bước 3:
Tìm góc quay xung quanh trục y
(x0, y0, z0)
cos
l
x 0 l
d l
d x
x
y
z
l
2 0
2 0
2 0
l k
2
2
x
y
z
l
x
d
l
2 0
2 0
2 0
2 0
y
z
2 0
2 0
sin 2 d
Ma trận xoay quanh y một góc
l
x
cos 0
0 1
sin 0
0 0
ld / 0
0 1
/ 0 0
0 0
T yR
/
l
sin 0
0 0
cos 0
0 1
x 0 0
0 0
ld / 0
0 1
z
14
Thực hiện tính toán
Xoay xung quanh trục đã trùng với trục z
Bước 4:
cos
sin
00
y
sin
cos
00
(x0, y0, z0)
0
0
01
l
d x
0
0
10
zRT
l k
z
trận cuối cùng
Tìm ma trận biến đổi ngược trước khi tính toán ma
15
Tìm ma trận xoay bằng đại số véctơ
y
(x2,y2,z2)
và P2 (x2, y2, z2).
Trục xoay đi qua hai điểm P1 (x1, y1, z1)
u
(x1,y1,z1)
x
V
x
(
yx , 1
zy , 1
2
2
2
z
z ) 1 Véc tơ đơn vị u theo trục xoay sẽ là
x
y
z
x 1
2
a
b ,
c ,
b
,
P1 và P2 xác định véc tơ V:
u
, a
c
V
V
2 |
y 1 |
V
2 |
z 1 |
V V
Giả sử chọn trục z để biến đổi trục xoay theo nó
16
Tìm ma trận xoay bằng đại số véctơ
Các bước thực hiện
Bước 1: Dịch đối tượng sao cho P1 về gốc tọa độ
T
y
1 0 0
0 1 0
0 0 1
0 0 0
u
1
x 1
y 1
z 1
Biến đổi sao cho trục xoay trùng trục z
Xoay quanh trục x sao cho véc tơ u trong mặt phẳng xz
Xoay quanh trục y để đem u về trục z
z x
17
Tìm ma trận xoay bằng đại số véctơ
Bước 2: Tìm ma trận xoay quanh x để u về mặt phẳng xz Góc xoay: giữa ánh xạ véctơ u vào mặt yz và trục dương z
Tìm góc xoay ?
u
x
x
z
z
u
Biến đổi sao cho trục xoay trùng trục z
18
Tìm ma trận xoay bằng đại số véctơ
y
z
cos
,
Tìm cos u'.u uu '
c d
z
u=(a,b,c)
u'=(0,b,c)
2
2
2
2
2
u'
0
b
c
b
c
d
x
1
u
z
uz=(0,0,1)
z u'.u
0.0
0. b
c
1.
c
z
2
2
' u u x
u u' u
.
.
.sin
u
b
c
sin
u
d
sin
Tính sin
z
x
z
x
x
u' = (0, b, c) và uz = (0, 0, 1)
sin
b d
u
b
' uu x z
x
u x 0 0
u y b 0
u z c 1
19
Tìm ma trận xoay bằng đại số véctơ
Ma trận xoay quanh trục x
0
0
0
0
0
0
Rx
) (
cos sin
sin cos
0 0
0 0
0 0
dc / db /
db / dc /
0 0
0
0
0
1
0
0
0
1
1
1
2
y
z
d
2 b
c
b
c ,
V
2 |
y 1 |
V
2 |
z 1 |
2
2
2
V
V.V
(
x
y
z
)
20
Tìm ma trận xoay bằng đại số véctơ
trục dương z
Các thành phần của u”:
Xoay quanh trục x nên thành phần x của véctơ có giá trị a
Vì xoay u’ vào trục z cho nên thành phần z của u” có giá trị d
Thành phần y của u” có giá trị 0
Tính cos từ tích vô hướng của u” và uz
y
Bước 3: Tìm ma trận xoay véctơ đơn vị u’’ trong mặt xz quanh trục y vào
u’=(0,b,c)
z
cos
d
u".u uu"
z
uz
x
VV
1.
2
xx 21
yy 1
2
zz 21
u"=(a,0,d)
Theo tính chất cosin hướng ta có
(b2+c2)1/2=d
z
|uz| =1 và |u"| = (a2+b2+c2)1/2=1
21
Tìm ma trận xoay bằng đại số véctơ
Tính sin từ tích có hướng của u” và uz
u" u x
u u" u
sin
u
.1.1.sin
u
sin
z
y
y
y
z
u
u
u
y
u’=(0,b,c)
u
(
a
)
" uu x
y
z
z d 1
y 0 0
x a 0 Do đó: sin = a
uz
x
Xoay quanh trục y với góc âm
u"=(a,0,d)
(b2+c2)1/2=d
d
0
a
0
z
0
1
00
Ry
a 0
d 0 0 100
22
Tìm ma trận xoay bằng đại số véctơ
Xoay quanh trục y với góc âm (theo chiều kim đồng hồ)
d
0
a
0
0
001
y
Ry
u’=(0,b,c)
a 0
d 0 0 100
Trục xoay là trục z dương, góc xoay
uz
x
cos
sin
00
u"=(a,0,d)
sin
cos
00
(b2+c2)1/2=d
z
Rz
0
0
1
0
0
0
10
Bước 4: Biến đổi trục xoay về vị trí ban đầu
R()=T.Rx().Ry().Rz().Ry-1 ().Rx-1 ().T-1
Ma trận biến đổi xoay cuối cùng là
23
Phép lấy đối xứng (reflection)
Lấy đối xứng một trục tọa độ qua mặt phẳng phản chiếu
Giải pháp
Biến đổi này làm thay đổi trục z còn giữ nguyên các trục x, y
Biểu diễn ma trận phản chiếu của các điểm so với mặt phẳng xy sẽ như sau
y
0
0
y
z
10
0
0
RFz
00
01
x
x
z
00
0
1
01
Thí dụ lấy đối xứng qua mặt phẳng xy
24
Phép lấy đối xứng (reflection)
0001
1
0
00
001
0
001
RFx
RFy
0
010
0
0
01
0
100
0
0
10
0
Lấy đối xứng qua mặt phẳng yz và xz
1
0
0
0
RFo
1 0
0 0 1 0
0
0
0
1
0 0
Lấy đối xứng qua gốc tọa độ (0, 0, 0)
25
Biến dạng (shear)
Thực hiện tương tự như biến dạng trong 2D
Với a, b có giá trị bất kỳ, ma trận biến dạng sẽ như sau
1
0
0
0
0 a
1 b
0 1
0 0
0
0
0
1
26
1. Một hình chóp A(0, 0, 0), B(1, 0, 0), C(0, 1, 0) và D(0, 0, 1) được
xoay một góc 450 quanh đoạn thẳng L được xác định theo hướng V=
j + k và đi qua đỉnh C. Xác định tọa độ của các đỉnh sau phép xoay.
2. Tìm các tọa độ mới của khối vuông
y
đơn vị như hình bên đây, sau khi xoay
(1, 1, 0) (0, 1, 0)
quanh một trục xác định bởi điểm
(0, 1, 1) (1, 1, 1)
A(2, 1, 0) và B(3, 3, 1). Góc xoay là
(1, 0, 0) x (0, 0, 0)
900 ngược chiều kim đồng hồ.
z (0, 0, 1) (1, 0, 1)
27
Thực hành
3. Tìm ma trận chuyển đổi để biến đổi khối vuông đơn vị như hình dưới bên
trái thành khối chữ nhật như hình dưới bên phải.
y
y 2 x 1
4 x 1 1 z z 450 3
4. Hãy tìm ma trận chuyển đổi hình chóp tam giác ABCD bên trái thành hình
chóp tam giác bên phải.
1 1
2 y C(1,2,1)
A(0,1,0)
B(1,0,0) x x C(1,0,0) B(0,0,1) 450 1 A D z z 1/2
28
Thực hành
Các bước thực hiện
1. Co dãn theo Oy Sy=1/2, Sx=Sz=1. 2. Quay quanh Oy một góc 180o
3. Quay quanh Oz một góc -900
4. Tịnh tiến (1,0,1)
5. Co dãn Oy
29