首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >003计算机图形学:圆的生成算法

003计算机图形学:圆的生成算法

作者头像
上善若水.夏
发布2018-09-28 11:15:56
5880
发布2018-09-28 11:15:56
举报
文章被收录于专栏:上善若水上善若水

平面几何中园的方程可以描绘为:

$(x-x_0)2+(y-y_{0})2=r^2$

其中$(x_0,y_0)$ 是圆心坐标,r为半径。为了简化可以先考虑圆心和坐标原点重合的情况,其他情况可以在此基础上平移得到。

由于圆的八分对策性,因此若已知圆弧上一点P(x,y),则可以得到另外7个对称点:(x,-y) (-x,y) (-x,-y) (-y,x) (-y,-x) (y,x) (y,-x) 。

中点画圆算法的步骤

决策参数取决于下一点$(x_k+1,y_k-1/2)$ 是在圆内还是圆外,如果圆内,则$y_k$更接近圆周边界,否则是$y_k-1$

  1. 输入圆半径r和圆心$(x_c,y_c)$,并得到圆周(圆心在原点)上的第一个点: $(x_0,y_0)=(0,r)$
  2. 计算决策参数的初始值: $p_0 = 5/4-r$
  3. 在每个$x_k$位置,从k=0开始,假设$p_k$<0,圆心在(0,0)的圆的下一个点为$(x_{k+1},y_k)$,并且 $p_{k+1} = p_k + 2x_{k+1}+1$ 否则,圆的下一点是$(x_k+1,y_k-1)$,并且 $p_{k+1} =p_k+2x_{k+1}+1-2y_{k+1}$ 其中 $2x_{k+1}=2x_k+2$且$2y_{k+1}=2y_k-2$。
  4. 确定在其他七个八分圆中的对称点。
  5. 将每个计算出的像素位置(x,y)移动到圆心在$(x_c,y_c)$的圆的路径上,并画坐标值: $x=x+x_c$, $y=y+y_c$
  6. 重复步骤3到步骤5,直至x>=y 。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.12.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 中点画圆算法的步骤
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档