Trình bày thuật toán về Elipse Midpoint ứng dụng xây dựng và cài đặt chương trình - Pdf 15

GV : V TT THNG NHểM 25
Trờngđạihọcđiệnlựchànội

Báo cáo kỹ thuật đồ họa máy tính
Trình bày thuật toán vẽ Ellipse midpoint,
ứng dụng xây dựng và cài đặt
ch ơng trình vẽ ellipse
- 2012-
Giáo viên h ớng dẫn: Vũ Tất Thắng
Nhóm thực hiện : Nhóm 25
Lớp : D6LT CNTT
GV : VŨ TẤT THẮNG NHÓM 25
Mục lục
Mục lục 2
A. LỜI MỞ ĐẦU 3
B. PHẦN NỘI DUNG 4
1. Giải thuật Midpoint vẽ elip 4
2. Lưu đồ 6
3. Ứng dụng thuật giải midpoint vào xây dựng chương trình vẽ ellipse 7
4. Kết quả chạy chương trình 10
GV : VŨ TẤT THẮNG NHÓM 25
A. LỜI MỞ ĐẦU



     !"# $ %&  '  ()  
*    +, " -. */0.12


-2!'00-!31456%&-
2.   !' 7    &  8) 8)  * 

  A  >
0]*1
5  !"9  
J)  %^  A
 G"
$    S /
,  "D  =
A M
:  ,  !  J
&C  J
&PJ%"C
%,5)_
`a/)bH c;J>A
dbH ceJ
f
H
f
g
f
-
f
h
f
J
f
ea/)bH c;>A
ia/)bH c;J>A
*Ý tưởng của giải thuật:
AG,!jD!%:/)-/CA
J;klb\D%AJ;lcS,O$HJ/>D

f
b-

huc
f
h
f
J
f
bJ/Gc
g/)%

va)!t;!"9Q⇒!!"#L
x
T
S
O
y
x
i
x
i+1
y
i -1
y
i
U
V
Q
x

gl

glc
f
g
f
b-
gl
huc
f
h
f
J
f

wG>J/GJ"C_
%
gl
h%

eJ
f
xbH
gl
glc
f
hbH

glc
f

huc
f
hb-

huc
f
y
g/)!!"#Sb%

`ac=-
gl
e-


⇒%
gl
e%

gfJ
f
H
gl
gJ
f
b= d
i
+ fx + b
2
c
g/)!!"#Lb%

g
f
bJhuc
f
h
f
J
f
eJ
f
z
f
Jg
f
n{
•SGf_S2"D"Gloq1561H
!Y,!bH
|gl

|gl
cJ"C|glr6>}U<q~
)!}<~! ~;-;A5T8)-/!Y
!<-!}s/G!"#2J;Y
dbH c,!~"5)_
A
|
edbH
|
gu.-
|

hlceJ
f
bH
|gl
guc
f
g
f
b-
|gl
hlc
f
h
f
J
f

YJ/GJ"C>/_b0Z
-
|gl
e-

hlc
A
|gl
hA
|
eJ
f
xbH

-
|gl
g
f
g/)!!"#}$A
|
va=H
|gl
eH
|

⇒A
|gl
eA
|
hf
f
-
|gl
g
f
b= e
j
– fy + a
2
c
g/)!!"#<$A
|
`a=H
|gl

2
x+12B
2
;
(A
2
+B
2
)x
2
≤ A
4
p = 4B
2
– 4A
2
B + A
2
x = 0; y = B;
Put4pixel(x,y,color);
p < 0
p=p+8B
2
x – 8A
2
y+8A
2
+12B
2
;

N
o
N
o
LƯU ĐỒ ELLIP
GV : VŨ TẤT THẮNG NHÓM 25
A
l
edbH
*
gu.-
*
hlceJ
f
bH
*
gucg
f
b-
*
hlc
f
h
f
J
f

Chú ý: J/**/0Gl)-8)Gf0
A%•!%:/)-/CAA!,>GdH.d-"
!' "!'=)_

#dene ROUND(a) ((long)(a+0.5))
void plot(int xc, int yc, int x, int y, int color){
putpixel(xc+x, yc+y, color);
putpixel(xc-x, yc+y, color);
putpixel(xc+x, yc-y, color);
putpixel(xc-x, yc-y, color);
}
void Mid_ellipse(int xc, int yc, int a, int b, int color){
long x, y, fx, fy, a2, b2, p;
x = 0;
y = b;
a2 = a * a; //a2
b2 = b * b; // b2
fx = 0;
fy = 2 * a2 * y; // 2a2y
plot(xc, yc, x,y, color);
p = ROUND(b2-(a2*b)+(0.25*a)); // p=b2 - a2b + a2/4
GV : VŨ TẤT THẮNG NHÓM 25
while (fx < fy){
x++;
fx += 2*b2; //2b2
delay(50);
if (p<0)
p += b2*(2*x +3); // p=p + b2 (2x +3)
else{
y ;
p+= b2*(2*x +3) + a2*(-2*y +2); // p = p + b2(2x +3) + a2 (-2y
+2)
fy -= 2*a2; // 2a2
}


Hình ảnh 2:
GV : VŨ TẤT THẮNG NHÓM 25
Hình ảnh 3:


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status