椭圆弧生成的新算法

椭圆弧生成的新算法

ID:21444307

大小:52.50 KB

页数:4页

时间:2018-10-22

椭圆弧生成的新算法_第1页
椭圆弧生成的新算法_第2页
椭圆弧生成的新算法_第3页
椭圆弧生成的新算法_第4页
资源描述:

《椭圆弧生成的新算法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、椭圆弧生成的新算法摘要:针对椭圆的传统生成算法,提出了一种建立在椭圆的参数方程形式上的椭圆弧的新生成算法,该算法基于椭圆弧表达式的特点,将椭圆的点坐标迭代关系转化为几个简单的线性迭代关系的组合,计算过程中除了初始赋值处需要运算一次三角函数外,每步仅需进行4次简单的乘法运算。该算法用C语言经验证有较好的效果。  关键词:椭圆算法象素  :TP391:A:1007-9416(2011)01-0084-02    计算机辅助几何设计是一门应用型学科。曲线的生成及其应用为该学科的基础。直线、圆、椭圆是图形中的基本图形,因此其生成算法具有重

2、要的意义。本文就参数方程表示的椭圆弧的逐点绘制进行研究,建立了新的迭代公式,给出了一种绘制椭圆弧的逐点生成算法。迭代过程避免了三角函数运算,计算简单、方便。    1、算法原理  椭圆的参数形式的方程为:  其中和的单位为象素,,分别是长轴和短轴的长度。  首先我们讨论步长的选择问题[6]。步长的确定是非常重要的。确定步长的原则是使曲线前进的幅度不超过一个象素的前提下,选择尽量大的步长(即尽量小的值),以提高算法速度。如果步长选的太小,在绘制曲线时将导致采样过密,由于根据曲线的走向,确定下一个点的几个位置,并从中找出离曲线最近的位

3、置的点的坐标不适合参数形式,我们选取根据曲线的平滑度,利用参数方程的导数确定步长。  对椭圆的坐标方程,设整数,限定取,则由lagrange中值定理可得  同理,对于坐标方程,设整数,  因此,为了保证所绘制的曲线的连续性,同时提高算法的速度,需找到满足  的最小值,由于  (由于)  (由于)  令满足条件:  令,即的增量,为对应于点的角度。假设满足条件的已经求得,下面求。  由(1)式知;  令,,则;  由(1)式知  记,,则;  即通过简单的4次乘法和2次加减,可以由以前的一个点得到下一个点,。依次类推,直到整个图形完

4、成。  2、算法描述  基于上述讨论,可建立如下生成椭圆的逐点生成算法。  step1.确定和;  step2.令,;  step3.变量的初始化m1=m0=1;n1=n0=0;x=a*m1;y=b*n1;画点(x,y);  step4.for(i=1;i<=10*n;i++){  m1=m0*c-n0*s;n1=n0*c+m0*sx=a*m1;  y=b*n1;画点(x,y);m0=m1;n0=n1;}  step5.算法结束  算法实现时,需要给出所需生成的椭圆弧的初始角和终止角,并且使初始条件中的为初始角所对应的点的坐标,循

5、环中的循环条件为是否大于终止角,如果大于则跳出循环,画弧结束,否则继续画弧。  笔者在计算机上用C语言实现了上述算法,运行结果证明了算法的正确性,当初始角为0,终止角360时,所生成的图形如图1所示。  3、算法评价  该算法的时间复杂度是,循环次数为次,涉及到4次乘法运算以及2次加减法运算,迭代过程中避免了三角函数运算。并且根据曲线参数方程的特点,将其迭代关系分解成几个简单迭代关系的线性组合,简单直观,减少了计算量。  本算法使用了新的步长计算方法,使得生成的图形在选点的准确性上得到了极大提高,选点的误差较低,不易产生多余点甚至

6、错误点,这样就会减少在图形上生成锯齿。  该算法思想有利于扩展应用到其他二次曲线的生成,为进一步研究自由型曲线的生成以及自由曲线的拼接提供了新的思路。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。