資源簡介
bresenham畫圓理論并介紹了一種改進的畫圓方法及matlab實現

代碼片段和文件信息
%%改進的bresenham畫圓方法,給定半徑,畫圓
%bresenham_improving(r)
%初始值
r=input(‘r=‘);
x=0;y=r;c=[xy];
p=2*r-3;px=-6;py=4*r-4;
while(x ????if(p>=0)
????????x=x+1;y=y;
????????p=p+px;
????????px=px-4;
????????c=[c;xy];
????else
????????x=x+1;y=y-1;
????????p=p+px+py;
????????px=px-4;
????????py=py-4;
????????c=[c;xy];
????end
????
end
cs=size(c1);
ct=[];c1=[];
if?(c(cs2)==0)
????ct=[];
elseif(c(cs1)>=c(cs2))
????ct=c(1:cs-1:);
else
????ct=c;
end
cts=size(ct1);
for?i=1:cts
????c1(i1)=c(cts-i+12);
????c1(i2)=c(cts-i+11);
end
cw=[c;c1];
as=size(cw1);
if(cw(as2)==0)
????b_sec=zeros(as-22);d_for=zeros(as-22);
????for?m=1:as-2
????b_sec(m1)=-cw(as-m1);?b_sec(m2)=cw(as-m2);
????d_for(m1)=cw(as-m1);??d_for(m2)=-cw(as-m2);
????end
else
????b_sec=zeros(as-12);d_for=zeros(as-12);
????for?n=1:as-2
????b_sec(n1)=-cw(as-n1);?b_sec(n2)=cw(as-n2);
????d_for(n1)=cw(as-n1);??d_for(n2)=-cw(as-n2);
????end
end
????c_th=zeros(as2);
????mr=[];
????
????c_th(:1)=-cw(:1);??c_th(:2)=-cw(:2);
???
????mr=[cw;d_for;c_th;b_sec];?
????plot(mr(:1)mr(:2));hold?on;
????y11=[];
????y22=[];
????x1=[];
????for?x=0:0.1:r
????????x1=[x1;x];
????????y1=sqrt(r^2-x^2);y11=[y11;y1];
????????y2=-sqrt(r^2-x^2);y22=[y22;y2];
????end
????plot(x1y11‘r‘);hold?on;
????plot(-x1y11‘r‘);hold?on;
????plot(x1y22‘r‘);hold?on;
????plot(-x1y22‘r‘);hold?on;
????
????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????191034??2009-11-02?14:36??畫圓\3種畫圓算法的優劣分析.pdf
?????文件???????1462??2010-01-06?18:09??畫圓\bresenham_circle_improving.m
?????文件??????46080??2009-11-05?11:12??畫圓\bresenham畫圓思想.doc
?????文件?????164519??2009-11-09?10:49??畫圓\Bresenham畫圓算法的改進.pdf
?????文件?????501342??2009-11-05?10:02??畫圓\計算機圖形學-編程?-?docin_com豆丁網.mht
?????目錄??????????0??2010-03-24?10:05??畫圓
-----------?---------??----------?-----??----
???????????????904437????????????????????6
- 上一篇:matlab演奏天空之城
- 下一篇:LMS算法自適應濾波器的Matlab仿真分析
評論
共有 條評論