关于作者

网络推荐

圆的生成算法

上一篇 / 下一篇  2007-04-07 10:41:28 / 个人分类:还电脑一片纯洁

 

2.2 圆的生成算法

2.2.1 基础知识

给出圆心坐标xc, yc,和半径r,逐点画出一个圆周的公式有下列两种:电脑爱好者网5} ] ]zMT7Z

 电脑爱好者网 F*O&VI&nW9mJ

1、直角坐标法:电脑爱好者网iR$ST&Wwj6jj\

(x-xc)2+(y-yc)2=r2电脑爱好者网D~B:iI2?&Q

由上式导出

E$O @sPzckf0

y=

(a7h's6L},N0

x-xc从-r到r作加1递增时,就可以求出对应的圆周点的y坐标。但是这样求出的圆周上的点是不均匀的;|x-xc|越大,对应生成圆周点之间的圆周距离也就越长。因此,所生成的圆不美观。.

*Hy t!KSX n)shI0

2、极坐标法:电脑爱好者网 z!c']n.F$k?

x=xc+r·cosθ电脑爱好者网gn9s$k8[Z"~

y=yc+r·sinθ

iLH R){ x{R+XycM0

θ 从0 度到360 作加1递增时,由此式便可求出圆周上均匀分布的360个点的x, y坐标。利用圆周坐标的对称性,此算法还可以简化:将圆周分为8个象限(图2.2.1)。只要将第1a象限中的圆周光栅点求出,其余7部分圆周就可以通过对称法则计算出来。图2.2.1给出了圆心在0,0点时的对称变换法则。但即使作了如此简化,用上述公式每算一点,都要经过三角函数计算,仍有相当大的计算量。电脑爱好者网;t_ OfE&G nt"s,x

 

M'G P)P#c_aK {y0

  2_2_1.gif (3964 bytes)

,LSP;Z }T6T;t+}v C i0

图2.2.1 圆心在0,0点圆周生成时的对称变换电脑爱好者网G:|'k[&D7LNdfB%n

 电脑爱好者网g'V_ M J gM5{Q

在计算机中上述两个公式所示的方法生成圆周都颇费时,下面介绍的算法则要简捷得多。

ian{d3e#Y0

 电脑爱好者网#N%z7W$Q.D/q%X&Kz2vw#B


TAG: 还电脑一片纯洁

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)