美文网首页
003计算机图形学:圆的生成算法

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

作者: 夏大王2019 | 来源:发表于2016-12-08 16:33 被阅读113次

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

$(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 。

相关文章

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

    平面几何中园的方程可以描绘为: $(x-x_0)2+(y-y_{0})2=r^2$ 其中$(x_0,y_0)$ 是...

  • OpenGL DDA画线算法

    要求:构造完整的DDA画线算法程序 DDA算法:计算机图形学中基于直线的微分方程来生成直线的算法。 具体步骤:输入...

  • 计算机图形学基础重点

    计算机图形学基础重点 计算机图形学的定义:  计算机图形学(CG)是研究怎样利用计算机来显示、生成和处理图形的原理...

  • OpenGL:三维数学基础坐标系、向量、矩阵

    一、计算机图形学 计算机图形学(Computer Graphics)是一种使用数学算法将二维或三维图形转化为计算机...

  • grasshopper基于ORDRES系列(1974)–算法21

    生成艺术或算法艺术可以追溯到最早的计算机图形学时代,这一运动的一些主要先驱者甚至在计算机屏幕还没有成为现实之前就开...

  • 图形学1:图形生成算法

    这是图形学期末复习攻略噢 一、图形生成算法 直线段扫描转换:(DDA算法、Bresenham画线算法、中点画线法)...

  • 计算机图形学——001概论

    001.概论 内容:计算机图形学的概念、发展历程和应用 001.1 计算机图形学的研究内容 什么是计算机图形学(C...

  • 计算机图形学

    计算机图形学

    介绍 计算机图形学(Computer Graphics,...

  • 计算机图形学-绪论

    什么是计算机图形学? 利用计算机研究图形的表示、生成、处理、显示的学科 图形与图像? 图像是指计算机内以位图形式存...

  • 《计算机图形学》.pdf

    【下载地址】 《计算机图形学》与大多数传统的计算机图形学教材不同,它仅简要介绍交互式计算机图形学方面的基本知识,主...

网友评论

      本文标题:003计算机图形学:圆的生成算法

      本文链接:https://www.haomeiwen.com/subject/geesmttx.html