Tải bản đầy đủ (.docx) (24 trang)

Cài đặt thuật toán tạo bóng đa diện

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (346.87 KB, 24 trang )






 !"#$%&&'()&&*+,&-*./,0$12#3,4
56 '/789
• :;<,0-,' 641360278
• :;:=,#>, 641360274
• ?@,-,'AB,0 441060223
:CDE 
H Ni, ngy 20/ 2/2013
FF
G

 !"#$%&'()*
+,-"./*01/234.3!'11.
!52678%&.3/ !'9&:):)
*0)!;7<=.>?6./!!'9
3).@+9
";!-
AB6CB!.3 D!"#!(E!"#$%&
&'()&&*+,&*-./,0$12#3,4"#7"C%FBG":)
5HDD/)7?I@)<7)@:)
C!( D!'B6C!"#A:)?
 !'J!"#7<* *KG")6#I()-0 
D!"#7!  /B57)L*0!B6C D 
<!(0DG"!( 7).
MM
H Ni, Ngy 14 thng 2 năm 2013
GHI


  !"#$%&$'()*!+$,-./0012
NO)6!.3"P%Q).
!5:)-%)?2@?B=.3RHSTUNO)6!
.!.3I!"#)%"C%-"P*O)6-?
2V?2!<"#.%).!"#V!<"#
 60
A)6*O)6!.3!"#!(W)B9*";
XO@YZDDK[\]^N! I!@$)W_.%
?B).B.'`DXOa!'%@?2B
()?";B).B.!W_.%@
?<")B).B.`D
bc78!K[\]^I!"#!%)B9%S*D%
-XHACHS)D%-cZd+)DQC7*e!e)
@-C/c.!5!"#%)?20@?
;
ff
J,'8K8L1,M'(&'N?O1,2
NO)6!I@&K[\g^C7W)
)h(!K";*2K07%&
e(G""!
3 4"#$%&$'()*
[[ K thut đ ha đim
).@OW_.%??2*O)6!!E
?/?2!<"#!"#c:)VWD
+ "P!-WD.E
i"P$%Qe(!j0VWD%
@O).0k
i"P$7< ?2!<"#S)! 1
78!5JW8L2WD)!"#D"P*)!
)!"#?2!J"!<"#

2.2 K thut đ ha vector
ll
).@LW_.%??2*O)6!D"
7)E"C0";W_.%???J?2!<
"#/W!c)3??./7)! %@?
?.7j:)?!cV!?/?2
!<"#m*O)6!.1n")2
e??GC)3"P$ 
*")-B2WD?2!"#
5 678974:*'()*!+$,
../!.3!"#W8%&()*)"E
/"P-/:)2L%&/234"E
 A-%""P?$%&Y%o7/pWD4
 A-B)!%Q"P-/**O)6
 A! KI0B2!8
 A0*0C7#1.3
qq
G;I1P<I0=
1. Thut ton Bresenham
m!_./nWrjV@W)<
s278!tW

/.

u!'!"#j0De7jtW

v[/.

uJ
tW


v[/.

w[u
A.tW

v[utxuE.
M
ytW

v[u
M
vB
M
J
%
[
y.
M
w.
M
y.

M
vtW

v[u
M
wB
M

%
M
y.
M
wt.

[u
M
ytW

v[u
M
vB
M
wt.

[u
M
z

y%
[
w%
M
yMRtW

v[u
M
wB
M

UvMt.

M
v.

uw[
i
v[
yMRtW
v[
v[u
M
wB
M
UvMt.
v[
M
v.
v[
uw[
S).E
]]
i
v[
w

yMRtW
v[
v[u
M

wtW

v[u
M
UvMt.
v[
M
w.

M
v.
v[
.

utxxu
x6WrE
 i

{^E+.
v[
y.

txxuz
v[
y

vMtMWvfu
 

|^E+.

v[
y.

w[
txxuz
v[
y

vMtMWvfuwl.

>C!!e)@t^/Bu/ E
i
[
yMMBv[
AV! / &jp7D"7)E
iD%)Dp7DtW/.//BEHDD}+E`.Du}
> /M/BMED}
W/.EDD}
txxu
iD%)D>D~D}
`D
i)iWDtWvW/.v./+u}
i)iWDtWW/.v./+u}
i)iWDtWW/../+u}
i)iWDtWvW/../+u}
p%}
gg
txxu
`D
MEyx}

BMEyBxB}
•[€
WEy^}.EyB}
EyMxBM•MMxBv[}
YDtBM•MuxtW•.u{[%
`D
>D~D}
H‚{^DEyvMxtBM•MuxtMxWvfu
D7D`D
Eylx.vMxtBM•MuxtMxWvfu}
.Ey.[}
p%}
WEyWv[}
p%}
•M€
.Ey^}WEy}
EyMxtM•BMuMxv[}
ƒƒ
YDtM•BMuxt.•Wu{y[%
`D
>D~D}
H‚{^DEyvMxtM•BMuxtMx.vfu
D7D`D
EylxWvMxtM•BMuxtMx.vfu}
WEyW[}
p%}
.Ey.v[}
p%}
p%}
QK:RS+S$T#&AU,0&'N*7V'J,'W'(,0,T#W>&.X,0S+S'YZ2[,0S+S\']\

S'#>(
j!<"#B)%„B=?*)<*0/!P21nej
-%7-A).@%!n-!()!"#!c
B()@!(!J9!_.0!j!";=f()J
,M()!()./12r0)VB()()
!B9BC()+ -r0)!P2";%Q! r0)77
r0)<2ir0)778%&!";,:)!n!<
"#&(!_!<"P/*! r0)<2%Q
!";,:)!n!<"#&(!_0)+!";
,@!"#0)!!";,.CJ,
0)t.IJ,:)7u3?0)!n.I
!0)Ae./1278,J,0)J,…y^
\\
ir0)77B2!"#<:)()!<"#/!_.3
*)6!"#%Qk2!-e*)!<"#B()";
%Q"P.!:)73W9-*)!<"#A).@/
r0)77*B)%„!<"#B()
A*! /r0)<2-!"#B)%„P"-*B2
!"#<@()+!";,W7j 0)9P
 )/*)6!j!";,B()E
• +0)†!!e)1!()
• >j!";,<!2:)r0)
J,0)
A0) A_0)
S9%1!"#!().?r0)178%&B2!";
=
f ']\S'#>(Y*,0Y*,0^\1?1OONO\?*_NS&#*,`
‡r!B()/iyti
W/
i

.
/i

u/!P2Bk!e…!0)i
iˆyti
W
/i
.
u()."P!"PC0)!0)! @J,W.D"P
&…XJ,W.J,:)7‡D?j-qq/9!_)!
0)3!:)i77C&…) CJ,
W.A0)
~„%.=r0).B2!";,
 …
iti
W
/i
.
/i

u
iˆti
W
/i
.
u
XJ,0)
W
.
[^[^

ir0)9@";!"#r?V@W)tDouJ%"C
@tBDou+ r0)*G*%&E
• ir0)V3B@-t7%DDouA0)77C&WJ,
:)7.…ir0).BkeWi•
• ir0)?VB@-t7%DDouA0)77C&.J,
:)7W…ir0).-Bke.i
l ']\S'#>(a#b,
‰?@-r0)W@iti
W
/i
.
/i

u:)r0)W@7j6
!"#!iˆti
W
/i
.u/
ti
W
/i
.
u?0)i:)r0) #B9
0)!-<tW

/.

uti
W
/i

.
us278!-<. !%b !-
<@C&.

q ']\S'#>(\'T#Sc,'
q[r0)<2!P2
ir0)<2&)c3!<"#! Š?J
,:)7‹
Œ)77)/CJ,:)7.…Š?ptp/^/^u!"#!J%
D&WN2ŠpJ,:)7!"#e?W!c
?0)itW/./…u<iCp?!iˆ!";,.CJ,
:)7b1.iˆ3!e?
+1278i*=37)Š?/$W{pi =7)J
,:)7/‰.@J,:)7/.ŠJ,:)7/A 
VŠ!0i %-Etuytp/^/^ut[uvtW/./…u
A.CJ,:)7tJ,Wy^u*Wy^@c$C";#
.E
&de
S).-!!0)E
fde
gde
ir0)<2e<0)n*-!./…!"#_
@@"#&de ‰7<n.%F!0*<2D)6e
6WŠtD&_&W/!) W{pu?ˆk%! 67j
.kP/"#-67jP
ti
W
/i
.
u

T
.
XJ,0)
W
tW

/.

u
[[[[
+G"P"@/ %„%*$r0)<2GB
!";,
6Wr=r0)77";#!JBr0)<2
0)1e?p.C0%e!0Q?0):)Š7j
9@777&de9[b1.r0)<29r0)
77
] +";#*
A";#@ Š?=@&WJ,:)7.…/+G"
r0))W !5c3ŠJ,:)7! 
?!<"P9 -*)/>3%&";#Š=@&…
J,:)7W.?*0:)"PE
&de
ade
fde
[M[M
G</
•)%D{7%Ž
•)%D{%7Ž
•)%D{Ž
•)%D{7Ž

•)%D{7%BŽ
•)%D{Ž
•)%D{Ž
•%D‚D••~S^^[glqfM\f
7)•
W/./…}

RlUy

•[[^/[ƒ^/ƒ^€/
•[^/M^^/ƒ^€/
•[M^/q^/ƒ^€/
•[[^/[ƒ^/Mq^€
€}
RlURlU}
%`D7D‘bDtW[/.[/WM/.M/u

‚tW[yyWMu

}
‚t.[{.Mu
‚ty.[}{y.M}vvu

)WDtW[//u}%D.t[^u}

D7D
‚ty.M}{y.[}vvu

)WDtW[//u}%D.t[^u}



‚t.[yy.Mu

}
‚tW[{WMu
‚tyW[}{yWM}vvu

[f[f
)WDt/.[/u}%D.t[^u}

D7D
‚tyWM}{yW[}vvu

)WDt/.[/u}%D.t[^u}


‚tW[{WMu

‚t.[{.Mu

‚tt.M.[u•tWMW[u{[u

}
~WyWMW[}
~.y.M.[}
yMx~.~W}
)WDtW[/.[/u}
‚tyW[}{WM}vvu

‚t{^u

vyMx~.}
D7D

vyMxt~.~Wu}
.[vv}

W[vv}
)WDtW[/.[/u}%D.t[^u}


D7D

}
~WyWMW[}
~.y.M.[}
yMx~W~.}
)WDtW[/.[/u}
‚ty.[}{.M}vvu

‚t{^u
vyMx~W}
D7D

vyMxt~W~.u}
W[vv}

.[vv}
)WDtW[/.[/u}%D.t[^u}
[l[l




‚t.[Ž.Mu
•‚tt.M.[u•tWMW[uŽ[u

}
~WyWMW[}
~.y.M.[}
yMx~.v~W}
)WDtW[/.[/u}
‚tyW[}{yWM}vvu

‚tŽ^u
vyMx~.}
D7D

vyMxt~.v~Wu}
.[}

W[vv}
)WDtW[/.[/u}%D.t[^u}


D7D

}
~WyWMW[}
~.y.M.[}
yMx~Wv~.}
)WDtW[/.[/u}

‚ty.[}Žy.M}u

‚t{^u
vyMx~W}
D7D

vyMxt~Wv~.u}
W[vv}

.[}
)WDtW[/.[/u}%D.t[^u}




‚tW[ŽWMu

‚t.[{.Mu
•‚tt.M.[u•tWMW[uŽ[u
[q[q

}
~WyWMW[}
~.y.M.[}
yMx~.~W}
)WDtW[/.[/u}
‚tyW[}ŽWM}u

‚t{^u


yMx~.Mx~W}
.[vv}

D7D
yMx~.}
W[}
)WDtW[/.[/u}%D.t[^u}


D7D

}
~WyWMW[}
~.y.M.[}
yMx~W~.}
)WDtW[/.[/u}
‚ty.[}{.M}vvu

‚t{^u
yMx~W}
D7D

yMxt~Wv~.u}
W[}

.[vv}
)WDtW[/.[/u}%D.t[^u}




‚t.[Ž.Mu

‚tt.M.[u•tWMW[u{[u

}
~WyWMW[}
~.y.M.[}
yMx~.~W}
)WDtW[/.[/u}
‚tyW[}ŽWM}u

[][]
‚tŽ^u

yMx~.vMx~W}
.[}

D7D
yMx~.}
W[}
)WDtW[/.[/u}%D.t[^u}


D7D

}
~WyW[WM}
~.y.[.M}
yMx~Wv~.}
)WDtW[/.[/u}

‚ty.[}Ž.M}u

‚t{^u

yMx~WvMx~.}
W[}

D7D
yMx~W}
.[}
)WDtW[/.[/u}%D.t[^u}




€••
%~tu

••>D)%
`D7D‘bDtDWWtu•M/DW.tu•M/DWWtu[^/DW.tu•M/[qu}
`D7D‘bDtDWWtu•M/[^/DWWtu•M/DW.tu•M/[qu}
`D7D‘bDtDWWtu•M/DW.tu•M/DWWtu•M[g^/DW.tu•Mv[g^/[qu}
`D7D‘bDtDWWtu•M[g^/DW.tu•Mv[g^/DWWtu•M[g^/DW.tu•Mv[]]/[qu}
`D7D‘bDtDWWtu•M[g^/DW.tu•Mv[g^/DWWtu•M[]f/DW.tu•Mv[]g/[qu}
7DDW’)7‚.t+pAp•‘Ap‡A/+pAp•‘Ap‡Au}
)DWW.tDWWtu\/DW.tu•Mv[/““u}
)DWW.tDWWtu\/DW.tu•Mv[^/“.“u}
)DWW.tDWWtu•M/[^/““u}
[g[g
)DWW.tDWWtu•M[^/[^/“…“u}

)DWW.tDWWtu•M[qq/DW.tu•Mv[g^/“W“u}

~Df%tW/./…u

}
‚tWŽy^””.Žy^””…Žy^u

WytDWWtu•Mv.Wx7t••~Sxlquu}
.ytDW.tu•M…vWx7t••~Sxlquu}

‚t.Žy^””W{^””…Žy^u

Wyt.vDWWtu•MWx7t••~Sxlquu}
.ytDW.tu•M…vWx7t••~Sxlquu}

‚tWŽy^””.{^””…Žy^u

WytDWWtu•Mv.Wx7t••~Sxlquu}
.ytDW.tu•Mt…Wx7t••~Sxlquuu}

‚tWŽy^””.Žy^””…{^u

WytDWWtu•Mv.Wx7t••~Sxlquu}
.ytDW.tu•M…vWx7t••~Sxlquu}

‚t.Žy^””W{^””…{^u

WytDWWtu•Mv.Wx7t••~Sxlquu}
[ƒ[ƒ
.ytDW.tu•Mvt…Wx7t••~Sxlquuu}


‚tWŽy^””.{^””…{^u

WytDWWtu•Mv.Wx7t••~Sxlquu}
.ytDW.tu•M…vWx7t••~Sxlquu}

‚t…Žy^””.{^””W{^u

WytDWWtu•Mt.vWx7t••~Sxlquuu}
.ytDW.tu•Mt…Wx7t••~Sxlquuu}

‚tW{^””.{^””…{^u

WytDWWtu•Mv.Wx7t••~Sxlquu}
.ytDW.tu•M…vWx7t••~Sxlquu}

D)tu}

D)t”W/”./”…/D)u

}
‚tD)yy[u

WytDWWtu•Mv.Wx7t••~Sxlquu}
.ytDW.tu•MvWx7t••~Sxlquu}

‚tD)yyMu

WytDWWtu•Mv.Wx7t••~Sxlqu.u}
.ytDW.tu•M…vWx7t••~Sxlquu}


‚tD)yyfu

WytDWWtu•Mv.Wx7t••~SxlquvWx7t••~Sxlquu}
.ytDW.tu•M…u}

D)tu}

:).t”W/”./”…//D)u

}
‚tD)yy[u

WytWx7t••~Sxuv…x7t••~Sxuu}
…ytWx7t••~Sxuv…x7t••~Sxuu}
.y.}

‚tD)yyMu

[\[\
.yt.x7t••~Sxu…x7t••~Sxuu}
…yt.x7t••~Sxuv…x7t••~Sxuu}
WyW}

‚tD)yyfu

WytWx7t••~Sxu.x7t••~Sxuu}
.ytWx7t••~Sxuv.x7t••~Sxuu}
…y…}


D)}

%D)t*RU//u

/’y^}
RlURlU}
‚ty^}{l}vvu
‚t’y^}’{l}’vvu

RUR’Uy[}
R’URUy[}

‚ty^}{l}vvu

*RUyD)t*RUW/*RU./*RU…/u}

‚ty^}{l}vvu
‚t’y^}’{l}’vvu

‚t•y’””RUR’Uyy[””R’URUyy[u

`D7D‘bDt*RUW/*RU./*R’UW/*R’U./u}
RUR’Uy^}
R’URUy^}



tu

BRlU/RlU/RlU}

’y^}
RMUy•lq/fq€}
%Dy~pAp+A/%D}
t”%D/”%D/““u}
~tu}
‚ty^}{l}vvu
BRUy~Df%tRUW/RU./RU…u}
‚ty[}{l}vvu

M^M^
`D7D‘bDtBR’UW/BR’U./BRUW/BRU./[^u}

`D7D‘bDtBR[UW/BR[U./BRMUW/BRMU./[^u}
`D7D‘bDtBR[UW/BR[U./BRfUW/BRfU./[^u}
`D7D‘bDtBRMUW/BRMU./BRfUW/BRfU./[^u}
••D*%%D
7DDW’)7‚.tbpZA‘Ap‡A/•Hs‰A‘Ap‡Au}
‚t“‹Œ).:))E.lq“u}
‚t“‹Œ).:))EWfqq“u}
‚ty^}{l}vvu

RUy:).tRUW/RU./RU…/R[U/[u}

‚ty^}{l}vvu

RUy:).tRUW/RU./RU…/RMU/Mu}

‚ty^}{l}vvu
RUyRU}
‚ty^}{l}vvu

RUy~Df%tRUW/RU./RU…u}
)DWW.t[^/[[^/“+D)E“u}
)DWW.t[^/[M^/“W.E`7[“u}
)DWW.t[^/[f^/“W…E`7M“u}
)DWW.t[^/[l^/“.…E`7f“u}
)DWW.t[^/[q^/“`7l%D*D)“u}
}
%•
yDtu}
‚ty^}{l}vvu
M[M[
RUyRU}
7otu

7D–[–E•
D)t/[/qu}
BD*}

7D–M–E•
D)t/M/gu}
BD*}

7D–f–E

D)t/f/\u}
MMMM
BD*}


€oDt•y–l–u}

7Dtu}

MfMf
G=h
[ E••D)•WDD)•%.lƒg]\ƒ
M NO)6!w‡`N*O)6‰
i
A:)?@$)!(. 1 !"#7<)6#
7)E
 +@ 3-!/2)6?)
@$)(!(
 A;!("P!<%
`@-J)6#1GJ*3* *K"E
 ))(!(@$)I-0
 N0$(!(@ I-0
S):)?@$)?)(!(/†@ !'
<-*0$!'B57)@7<*0$C(!.
3A:)2C2 6!"#7)*@$)W*K
-! X†@!')!"#B2_!<C
) Œ)! †@!()<Š<
?!"#
`BI()0)7 /1B-!2B57)L
*0!1BB?n/!e.!
+1W_2P•
MlMl

×