Tài liệu Bài giảng Các phép biến đổi: CHNG IV
CÁC PHÉP BIN I
4.1. CÁC PHÉP BIN I TRONG MT PHNG
4.1.1. C s toán h
c
Phép bin i Affine 2D s bin im P(x,y) thành im Q(x’,y’) theo h phng
trình sau:
x’ = Ax + Cy + trx
y’ = Bx + Dy + try
D i d
ng ma trn, h này có d
ng:
(x’ y’) = (x y).
DC
BA
+ (trx try)
Hay vit gn hn: X’ = X.M + tr
v i X’=(x’,y’); X=(x,y); tr=(trx,try) - vector t
nh tin;
M =
DC
BA
- ma trn bin i.
4.1.1.1. Phép ng d
ng
Ma trn ca phép ng d
ng là:
M =
A
D
0
0
⇔
x Ax
y Dy
'
'
=
=
Cho phép ta phóng to hay thu nh hình theo mt hay hai chiu.
4.1.1.2. Phép i xng
ây là trng hp c bit ca phép ng d
ng v i A và D i nhau.
−
1 0
0 1
i xng qua Oy
Chng IV. Các phép bin i
. 42
1
1
h
g
1 0
0 1−
i xng qua Ox
−
−
1 0
0 1
i xng qua gc ta ...
22 trang |
Chia sẻ: hunglv | Lượt xem: 1299 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Bài giảng Các phép biến đổi, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
CHNG IV
CÁC PHÉP BIN I
4.1. CÁC PHÉP BIN I TRONG MT PHNG
4.1.1. C s toán h
c
Phép bin i Affine 2D s bin im P(x,y) thành im Q(x’,y’) theo h phng
trình sau:
x’ = Ax + Cy + trx
y’ = Bx + Dy + try
D i d
ng ma trn, h này có d
ng:
(x’ y’) = (x y).
DC
BA
+ (trx try)
Hay vit gn hn: X’ = X.M + tr
v i X’=(x’,y’); X=(x,y); tr=(trx,try) - vector t
nh tin;
M =
DC
BA
- ma trn bin i.
4.1.1.1. Phép ng d
ng
Ma trn ca phép ng d
ng là:
M =
A
D
0
0
⇔
x Ax
y Dy
'
'
=
=
Cho phép ta phóng to hay thu nh hình theo mt hay hai chiu.
4.1.1.2. Phép i xng
ây là trng hp c bit ca phép ng d
ng v i A và D i nhau.
−
1 0
0 1
i xng qua Oy
Chng IV. Các phép bin i
. 42
1
1
h
g
1 0
0 1−
i xng qua Ox
−
−
1 0
0 1
i xng qua gc ta
4.1.1.3. Phép quay
Ma trn tng quát ca phép quay là R =
− )()(
)()(
αα
αα
CosSin
SinCos
Chú ý:
• Tâm ca phép quay c xét ây là gc ta .
•
nh thc ca ma trn phép quay luôn luôn bng 1.
4.1.1.4. Phép tnh tin
Bin i (x,y) thành (x’,y’) theo công thc sau
x’ = x + M
y’ = y + N
thun tin biu din d i d
ng ma trn, ta có th biu din các ta d i d
ng
ta thun nht (Homogen):
(x y 1).
1 0 0
0 1 0
1M N
= (x + M y + N 1)
4.1.1.5. Phép bin d
ng
Ma trn tng quát là: M =
Trong ó:
g = 0: bin d
ng theo trc x.
h = 0: bin d
ng theo trc y.
4.1.1.6. Hp ca các phép bin i
Có ma trn bin i là tích ca các ma trn ca các phép bin i.
Chng IV. Các phép bin i
. 43
Ví d: Phép quay quanh mt im bt k trong mt ph ng có th th!c hin bi tích
ca các phép bin i sau:
° Phép t
nh tin tâm quay n gc ta .
° Phép quay v i góc ã cho.
° Phép t
nh tin kt qu" v tâm quay ban u.
Nh vy, ma trn ca phép quay quanh mt im bt k c th!c hin bi tích
ca ba phép bin i sau:
1 0 0
0 1 0
1− −
M N
.
Cos Sin
Sin Cos
( ) ( )
( ) ( )
α α
α α
0
0
0 0 1
−
.
1 0 0
0 1 0
1M N
4.2. Ví d minh h
a
Vit chng trình mô phng phép quay mt tam giác quanh gc ta .
Uses crt,Graph;
Type ToaDo=Record
x,y:real;
End;
var k,Alpha,goc:real;
P,PP,PPP,P1,P2,P3:ToaDo;
x0,y0:word;
ch:char;
Procedure VeTruc;
Begin
Line(GetMaxX div 2,0,GetMaxX div 2,GetMaxY);
Line(0,GetMaxY div 2,GetMaxX,GetMaxY div 2);
End;
Procedure VeHinh(P1,P2,P3:ToaDo);
Begin
Line(x0+Round(P1.x*k),y0-Round(P1.y*k),
x0+Round(P2.x*k),y0- Round(P2.y*k));
Line(x0+Round(P2.x*k),y0-Round(P2.y*k),
Chng IV. Các phép bin i
. 44
x0+Round(P3.x*k),y0- Round(P3.y*k));
Line(x0+Round(P3.x*k),y0-Round(P3.y*k),
x0+Round(P1.x*k),y0- Round(P1.y*k));
End;
Procedure QuayDiem(P:ToaDo;Alpha:real; var PMoi:ToaDo);
Begin
PMoi.x:=P.x*cos(Alpha)-P.y*sin(Alpha);
PMoi.y:=P.x*sin(Alpha)+P.y*cos(Alpha);
End;
Procedure QuayHinh(P1,P2,P3:ToaDo;Alpha:real;
var P1Moi,P2Moi,P3Moi:ToaDo);
Begin
QuayDiem(P1,Alpha,P1Moi);
QuayDiem(P2,Alpha,P2Moi);
QuayDiem(P3,Alpha,P3Moi);
End;
BEGIN
ThietLapDoHoa;
x0:=GetMaxX div 2;
y0:=GetMaxY div 2;
k:=GetMaxX/50;
Vetruc;
P.x:=5; P.y:=3; PP.x:=2; PP.y:=6; PPP.x:=6; PPP.y:=-4;
P1.x:=5; P1.y:=3; P2.x:=2; P2.y:=6; P3.x:=6; P3.y:=-4;
Alpha:=0; goc:=Pi/180;
SetWriteMode(XORPut);
VeHinh(P,PP,PPP);
Repeat
ch:=readkey;
if ord(ch)=0 then ch:=readkey;
case Upcase(ch) of
#75: Begin
Chng IV. Các phép bin i
. 45
VeHinh(P1,P2,P3);
Alpha:=Alpha-goc;
QuayHinh(P,PP,PPP,Alpha,P1,P2,P3);
VeHinh(P1,P2,P3);
End;
#77: Begin
VeHinh(P1,P2,P3);
Alpha:=Alpha+goc;
QuayHinh(P,PP,PPP,Alpha,P1,P2,P3);
VeHinh(P1,P2,P3);
End;
End;
Until ch=#27;
CloseGraph;
END.
4.2. CÁC PHÉP BIN I TRONG KHÔNG GIAN
4.2.1. Các h trc t
a
nh v
mt im trong không gian, ta có th chn nhiu h trc ta :
X
Y
Z
O
Y
Z
H tr!c tip H gián tip
Hình 4.1
• H ta trc tip : nu tay ph"i cm trc Z sao cho ngón cái h ng theo
chiu dng ca trc Z thì bn ngón còn l
i s quay t# trc X sang trc Y (Qui t$c
bàn tay ph"i).
Chng IV. Các phép bin i
. 46
• H ta gián tip : ngc l
i (Qui t$c bàn tay trái).
Thông thng, ta luôn luôn
nh v
mt im trong không gian qua h tr!c tip.
Trong h ta tr!c tip, ta chia ra làm 2 lo
i sau:
O
X
Y
Z
P(x,y,z)
X
O
Y
P(R,θ,φ)
Z
θ
φ
R
H ta Descarter H cu
Hình 4.2
Ta có công thc chuyn i ta t# h này sang h khác:
x = R.Cos(θ).Cos(Φ)
y = R.Sin(θ).Cos(Φ)
z = R.Sin(Φ)
R2 = x2 + y2 + z2
thun tin cho vic tính toán, tt c" các im trong không gian u c mô t"
d i d
ng ma trn 1x4, tc là (x,y,z,1). Vì vy, tt c" các phép bin i trong không
gian u c biu din bi các ma trn vuông 4x4 (Ma trn Homogen).
4.2.2. Các công thc bin i
Phép bin i Affine 3D có d
ng: X’=X.M + tr
v i X’=(x’,y’,z’); X=(x,y,z); M - ma trn bin i; tr=(trx,try,trz) - vector
t
nh tin
4.2.2.1. Phép thay i t l
M =
A
B
C
0 0 0
0 0 0
0 0 0
0 0 0 1
⇔
x A x
y B y
z C z
' .
' .
' .
=
=
=
Chng IV. Các phép bin i
. 47
4.2.2.2. Phép i xng
Mz =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
−
i xng qua mt (XY)
My=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
−
i xng qua mt (XZ)
Mx =
−
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
i xng qua mt (YZ)
4.2.2.3. Phép tnh tin
M =
1 0 0 0
0 1 0 0
0 0 1 0
1M N P
⇔
x x M
y y N
z z P
'
'
'
= +
= +
= +
4.2.2.4. Phép quay
Ta nhn thy rng, nu phép quay quay quanh mt trc nào ó thì ta ca vt
th t
i trc ó s không thay i. Do ó, ta có ma trn ca các phép quay nh sau:
RZ =
−
1000
0100
00)()(
00)()(
θθ
θθ
CosSin
SinCos
RX =
−
1000
0)()(0
0)()(0
0001
θθ
θθ
CosSin
SinCos
Chng IV. Các phép bin i
. 48
RY =
−
1000
0)(0)(
0010
0)(0)(
θθ
θθ
CosSin
SinCos
Chú ý: Tích ca 2 ma trn nói chung không giao hoán nên kt qu" ca 2 phép quay liên
tip tùy thuc vào th t! th!c hin tích s.
Ví d: RX.RY ≠ RY.RX
4.2.3. Ma trn nghch o
nh ngha: Hai ma trn c gi là ngh
ch "o ca nhau nu tích s ca chúng là
ma trn n v
.
Ma trn ngh
ch "o ca ma trn M ký hiu là M-1
Ví d:
1 2 3
1 3 3
1 2 4
.
6 2 3
1 1 0
1 0 1
− −
−
−
=
1 0 0
0 1 0
0 0 1
Ngi ta chng minh c rng: Tt c" các ma trn ca các phép bin i ã nêu
trên u có ma trn ngh
ch "o.
• Ma trn ngh
ch "o ca phép t
nh tin có c bng cách thay M, N, P bng -
M, -N, -P.
• Ma trn ngh
ch "o ca phép thay i t% l có c bng cách thay A, B, C bng
1/A, 1/B, 1/C.
• Ma trn ngh
ch "o ca phép quay có c bng cách thay góc θ bng -θ .
4.3. CÁC PHÉP CHIU CA VT TH TRONG KHÔNG GIAN LÊN MT PHNG
4.3.1. Phép chiu phi cnh (Perspective)
Phép chiu này cho hình "nh ging nh khi nhìn vt th.
tìm hình chiu P’(y’,z’) ca P(x,y,z), ta ni P v i m$t (tâm chiu). Giao im
ca ng này v i mt quan sát chính là P’ (hình 4.3).
Gi" s& P nm phía tr c m$t, tc là P.x < E.
Chng IV. Các phép bin i
. 49
Y
Z
X
(E,0,0)
y '
z '
P '
P(x,y,z)
Hình 4.3
Phng trình ca tia i qua m$t và P là: r(t) = (E,0,0).(1-t) + (x,y,z).t (*)
Giao im v i mt ph ng quan sát có thành phn x’ = 0.
Do thành phn x’ ca tia r là E.(1-t) + x.t = 0 nên t =
1
1− x E/
. Thay t vào (*) ta
tính c:
y’ =
y
x E1− /
va z’ =
z
x E1− /
NHN XÉT
i/ Phép chiu phi c"nh không gi' nguyên hình d
ng ca vt th.
ii/ Ch% có nh'ng ng th ng song song v i mt ph ng chiu thì m i song song
v i nhau.
iii/ Phép chiu phi c"nh c qui
nh bi 5 bin:
• H ng ca mt ph ng chiu so v i vt th.
• cao ca tâm chiu so v i vt th.
• Kho"ng cách t# tâm chiu n vt th (R).
• Kho"ng cách t# mt ph ng chiu n tâm chiu (D).
• d
ch chuyn ngang ca tâm chiu so v i vt th.
Chú ý: V i ta cu, ta ch% cn 4 tham s: R, Φ, θ, D.
Chng IV. Các phép bin i
. 50
4.3.2. Phép chiu song song (Parallel)
Phép chiu này có tâm chiu vô c!c và y’=y, z’=z.(Hình 4.4)
Tính song song c b"o toàn.
∝
Hình 4.4
4.4. CÔNG THC CA CÁC PHÉP CHIU LÊN MÀN HÌNH
Khi quan sát mt vt th trong không gian d i mt góc nào ó, ta có 2 kh"
n(ng chn l!a:
• im nhìn (màn hình) ng yên và vt th di ng.
• Vt th ng yên và im nhìn s c b trí thích hp.
Ta thng chn gi"i pháp th hai vì nó sát v i th!c t hn.
φ
θ
Hình 4.5
Khi quan sát mt vt th bt k trong không gian, ta ph"i tuân th các nguyên t$c
sau (hình 4.5):
• Vt th ph"i c chiu lên mt h trc tip (O,X,Y,Z).
Chng IV. Các phép bin i
. 51
• Con m$t ph"i nm gc ca mt h gián tip th hai (O’,X0,Y0,Z0)
• Màn hình là mt ph ng vuông góc v i ng th ng OO’.
• Trc Z0 ca h quan sát ch% n gc O.
Nu dùng h ta cu
nh v
m$t ca ngi quan sát thì ta d dàng thay i
góc ng$m bng cách thay i góc θ và Φ.
Bây gi, ta kh"o sát phép bin i mà vt th (X,Y,Z) ph"i ch
u cho nó trùng
v i h quan sát (X0,Y0,Z0) cui cùng t
o ra h ta màn hình (Xe,Ye).
B c 1: T
nh tin gc O thành O’ (hình 4.6).
X
θ
O
φ
Y
Z
Z1
X1
Y1
O'
Hình 4.6
Ma trn ca phép t
nh tin (Ly ngh
ch "o):
A=
1 0 0 0
0 1 0 0
0 0 1 0
1− − −
M N P
=
1 0 0 0
0 1 0 0
0 0 1 0
1− − −
R Cos Cos R Sin Cos R Sin. ( ). ( ) . ( ). ( ) . ( )θ φ θ φ φ
và h (X,Y,Z) bin i thành h (X1,Y1,Z1).
B c 2: Quay h (X1,Y1,Z1) mt góc -θ‘ (θ‘=900 - θ) quanh trc Z1 theo chiu kim
ng h. Phép quay này làm cho trc âm ca Y1 c$t trc Z (hình 4.7).
Ta gi Rz là ma trn tng quát ca phép quay quanh trc Z. Vì ây là phép quay h
trc nên ph"i dùng ma trn ngh
ch "o R-1z.
Chng IV. Các phép bin i
. 52
Rz =
Cos a Sin a
Sin a Cos a
( ) ( )
( ) ( )
0 0
0 0
0 0 1 0
0 0 0 1
−
R
-1
z =
Cos a Sin a
Sin a Cos a
( ) ( )
( ) ( )
−
0 0
0 0
0 0 1 0
0 0 0 1
ta thay góc a = -θ‘ . Theo các phép toán lng giác:
Sin(-θ') = -Sin(θ') = -Sin(900 - θ) = -Cos(θ)
Cos(-θ') = Cos(θ') = Cos(900-θ) = Sin(θ)
θ
X2
O'
φ
O
Y
Y2
Z2Z
X
θ'
Hình 4.7
Nên ma trn ca phép quay tìm c s có d
ng:
B =
Sin Cos
Cos Sin
( ) ( )
( ) ( )
θ θ
θ θ
0 0
0 0
0 0 1 0
0 0 0 1
−
và h (X1,Y1,Z1) bin i thành h (X2,Y2,Z2).
B !c 3: Quay h (X2,Y2,Z2) mt góc 900 + Φ quanh trc X2. Phép bin i này s
làm cho trc Z2 h ng n gc O (hình 4.8).
Ta có:
Rx =
−
1000
0)()(0
0)()(0
0001
aCosaSin
aSinaCos
Chng IV. Các phép bin i
. 53
X3
Z3
θ
X
O
Z
O'
φ
θ'
Y
Y3
Hình 4.8
R
-1
x =
1 0 0 0
0 0
0 0
0 0 0 1
Cos a Sin a
Sin a Cos a
( ) ( )
( ) ( )
−
Thay góc a = 90
0
+ Φ , ta có: Cos(90
0
+ Φ) = -Sin(Φ) và Sin(90
0
+ Φ) = Cos(Φ)
nên ma trn tìm c s có d
ng:
C =
1 0 0 0
0 0
0 0
0 0 0 1
− −
−
Sin Cos
Cos Sin
( ) ( )
( ) ( )
φ φ
φ φ
Lúc này, h (X2,Y2,Z2) bin i thành h (X3,Y2,Z3).
B !c 4: Bin i h tr!c tip (X3,Y3,Z3) thành h gián tip (hình 4.9).
Trong b c này, ta ph"i i h ng trc X3 bng cách i du các phn t& ca
ct X. Ta nhn c ma trn:
D =
−
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
và h (X3,Y3,Z3) bin i thành h (X0,Y0,Z0).
Chng IV. Các phép bin i
. 54
O
X
θ
Z0 O'
φ
X0
θ'
Y0
Y
Z
Hình 4.9
TÓM L"I
Các im trong không gian s nhn trong h quan sát mt ta có d
ng:
(x0 ,y0 ,z0 ,1) = (x y z 1).A.B.C.D
Gi T = A.B.C.D, ta tính c:
T =
− − −
− −
−
sin( ) ( ). ( ) ( ). ( )
( ) ( ). ( ) ( ). ( )
( ) ( )
θ θ φ θ φ
θ θ φ θ φ
φ φ
Cos Sin Cos Cos
Cos Sin Sin Sin Cos
Cos Sin
R
0
0
0 0
0 0 1
Cui cùng ta có:
(x0 ,y0 ,z0 ,1) = (x y z 1).T
hay:
x0 = -x.Sin(θ) + y.Cos(θ)
y0 = -x.Cos(θ).Sin(Φ) - y.Sin(θ).Sin(Φ) + z.Cos(Φ)
z0 = -x.Cos(θ).Cos(Φ) - y.Sin(θ).Cos(Φ) - z.Sin(Φ) + R
* Bây gi ta chiu nh ca h quan sát lên màn hình.
1. Phép chiu phi cnh
Cho im P(x,y,z) và hình chiu P’(x0,y0,z0) ca nó trên mt ph ng.
Gi D là kho"ng cánh t# mt ph ng n m$t (gc ta ). (Hình 4.10)
Chng IV. Các phép bin i
. 55
!"#$#%
!" #$ #%
!"#$#%
!"#$#%
&
$
"
Hình 4.10
Xét các tam giác ng d
ng, ta có:
xE/D = x0/z0 và yE/D = y0/z0
x
E
= D.x
0
/z
0
và y
E
= D.y
0
/z
0
Chú ý: z0 bao hàm vic phóng to hay thu nh vt th.
2. Phép chiu song song
Ta quan sát (x0,y0,z0) và ta màn hình tha mãn công thc:
x
E
= x
0
và y
E
= y
0
Chng IV. Các phép bin i
. 56
!'(
'
')
*+,
Hình 4.11
KT LUN
Có 4 giá tr
"nh hng n phép chiu vt th 3D là: các góc θ , Φ , kho"ng cách R
t# O n O’ và kho"ng cách D t# O’ n mt ph ng quan sát.
C th:
• T(ng gi"m θ s quay vt th trong mt ph ng (XY).
• T(ng gi"m Φ s quay vt th lên xung.
• T(ng gi"m R quan sát vt t# xa hay gn.
• T(ng gi"m D phóng to hay thu nh "nh.
4.5. PH# L#C
T
o UNIT DOHOA3D (DOHOA3D.PAS).
UNIT DOHOA3D;
INTERFACE
USES graph,crt;
{ Cac hang de quay hinh }
Const IncAng = 5; {Tang goc}
Type ToaDo3D=Record
x,y,z:real;
End;
ToaDo2D=Record
x,y:integer;
End;
Chng IV. Các phép bin i
. 57
PhepChieu = (PhoiCanh,SongSong);
VAR R,d,theta,phi : real;
aux1,aux2,aux3,aux4 : real;
aux5,aux6,aux7,aux8 : real;
projection : PhepChieu;
xproj,yproj : real;
Obs,O : ToaDo3D;
PE,PC : ToaDo2D;
{ cac bien dung quay hinh }
ch : char;
PROCEDURE ThietLapDoHoa;
PROCEDURE KhoiTaoPhepChieu;
PROCEDURE Chieu(P :ToaDo3D);
PROCEDURE VeDen(P :ToaDo3D);
PROCEDURE DiDen(P :ToaDo3D);
PROCEDURE TrucToaDo;
PROCEDURE DieuKhienQuay; {dung de quay hinh}
IMPLEMENTATION
Procedure ThietLapDoHoa;
var gd,gm:integer;
Begin
Gd:=0;
InitGraph(gd,gm,'C:\BP\BGI');
End;
PROCEDURE KhoiTaoPhepChieu;
VAR th,ph :real;
BEGIN
th := pi*theta/180;
ph := pi*phi/180;
aux1 := sin(th);
aux2 := sin(ph);
aux3 := cos(th);
Chng IV. Các phép bin i
. 58
aux4 := cos(ph);
aux5 := aux3*aux2;
aux6 := aux1*aux2;
aux7 := aux3*aux4;
aux8 := aux1*aux4;
PC.x := getmaxx div 2;
PC.y := getmaxy div 2;
END;
PROCEDURE Chieu(P :ToaDo3D);
BEGIN
Obs.x := -P.x*aux1 + P.y*aux3 ;
Obs.y := -P.x*aux5 - P.y*aux6 + P.z*aux4 ;
IF projection = PhoiCanh THEN
BEGIN
obs.z:=-P.x*aux7 -P.y*aux8 -P.z*aux2 + R;
Xproj := d*obs.x/obs.z;
Yproj := d*obs.y/obs.z;
END
ELSE BEGIN
Xproj := d*obs.x;
Yproj := d*obs.y;
END;
END;
PROCEDURE VeDen(P :ToaDo3D);
BEGIN
Chieu(P);
PE.x := PC.x + round(xproj);
PE.y := PC.y - round(yproj);
lineto (PE.x,PE.y);
END;
PROCEDURE Diden(P :ToaDo3D);
BEGIN
Chng IV. Các phép bin i
. 59
Chieu(P);
PE.x := PC.x + round(xproj);
PE.y := PC.y - round(yproj);
moveto (PE.x,PE.y);
END;
PROCEDURE TrucToaDo; { Ve 3 truc }
var OO,XX,YY,ZZ:ToaDo3D;
Begin
OO.x:=0; OO.y:=0; OO.z:=0;
XX.x:=3; XX.y:=0; XX.z:=0;
YY.x:=0; YY.y:=3; YY.z:=0;
ZZ.x:=0; ZZ.y:=0; ZZ.z:=3;
DiDen(OO); VeDen(XX);
DiDen(OO); VeDen(YY);
DiDen(OO); VeDen(ZZ);
END;
PROCEDURE DieuKhienQuay; {Dieu khien Quay/Zoom hinh}
BEGIN
ch := readkey;
IF ch = #0 THEN ch := readkey;
cleardevice;
CASE UpCase(ch) OF
#72 : phi := phi + incang;
#80 : phi := phi - incang;
#75 : theta := theta + incang;
#77 : theta := theta - incang;
END; {of case ch}
END; {of Procedure}
END. {Of UNIT}
4.6. VÍ D# MINH H$A
Vit chng trình mô t" phép quay ca mt hình lp phng quanh các trc (hình
4.12).
Chng IV. Các phép bin i
. 60
!-
!.
!/ !0
!1
!2
!3
!4
Hình 4.12
Uses crt,graph,Dohoa3D;
var P1,P2,P3,P4,P5,P6,P7,P8:ToaDo3D;
Procedure KhoiTaoBien;
Begin
D:=70; R:=5;
Theta:=40; Phi:=20;
P1.x:=0; P1.y:=0; P1.z:=0;
P2.x:=0; P2.y:=1; P2.z:=0;
P3.x:=1; P3.y:=1; P3.z:=0;
P4.x:=1; P4.y:=0; P4.z:=0;
P5.x:=1; P5.y:=0; P5.z:=1;
P6.x:=0; P6.y:=0; P6.z:=1;
P7.x:=0; P7.y:=1; P7.z:=1;
P8.x:=1; P8.y:=1; P8.z:=1;
End;
Procedure VeLapPhuong;
begin
Diden(P1); VeDen(P2);
VeDen(P3); VeDen(P4);
VeDen(P1); VeDen(P6);
Veden(P7); VeDen(P8);
VeDen(P5); VeDen(P6);
DiDen(P3); VeDen(P8);
Chng IV. Các phép bin i
. 61
DiDen(P2); VeDen(P7);
DiDen(P4); VeDen(P5);
end;
Procedure MinhHoa;
BEGIN
KhoiTaoBien;
KhoiTaoPhepChieu;
TrucToaDo;
VeLapPhuong;
Repeat
DieuKhienQuay;
KhoiTaoPhepChieu;
ClearDevice;
TrucToado;
VeLapPhuong;
until ch=#27;
END;
BEGIN { Chuong Trinh Chinh }
Projection:=SongSong{Phoicanh};
ThietLapDoHoa;
MinhHoa;
CloseGraph;
END.
BÀI TP
1. Cho 3 tam giác sau:
ABC v i A(1,1) B(3,1) C(1,4)
EFG v i E(4,1) F(6,1) G(4,4)
MNP v i M(10,1) N(10,3) P(7,1)
a. Tìm ma trn bin i tam giác ABC thành tam giác EFG.
b. Tìm ma trn bin i tam giác ABC thành tam giác MNP.
2. Cài t thut toán xén mt o
n th ng vào mt hình ch' nht có c
nh không song
song v i trc ta .
Chng IV. Các phép bin i
. 62
3. Vit chng trình v mt Ellipse có các trc không song song v i h trc ta .
4. D!a vào bài tp 2, hãy mô phng quá trình quay ca mt Ellipse xung quanh tâm
ca nó.
5. Vit chng trình mô phng quá trình quay, i xng, t
nh tin, phóng to, thu nh,
bin d
ng ca mt hình bt k trong mt ph ng.
6. Mô phng chuyn ng ca trái t xung quanh mt tri ng thi mô t" chuyn
ng ca mt tr(ng xung quanh trái t.
M rng trong không gian 3 chiu.
7. Vit chng trình v ng h ang ho
t ng.
8. Vit chng trình v các khi a din u trong không gian.
M rng: iu khin phóng to, thu nh, quay các khi a din quanh các trc...
Các file đính kèm theo tài liệu này:
- _giaotrinhlythuyetdohoach4.pdf