非圆曲线的逼近 讲解.pdf

非圆曲线的逼近 讲解.pdf

ID:54018400

大小:731.95 KB

页数:19页

时间:2020-04-28

非圆曲线的逼近 讲解.pdf_第1页
非圆曲线的逼近 讲解.pdf_第2页
非圆曲线的逼近 讲解.pdf_第3页
非圆曲线的逼近 讲解.pdf_第4页
非圆曲线的逼近 讲解.pdf_第5页
资源描述:

《非圆曲线的逼近 讲解.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计任务用计算机高级编程语言(如VB,VC++等)来实现非圆曲线的逼近,可任选直线逼近(等间距法、等弦长法、等误差法等)或圆弧逼近.要求在满足允许误差的前提下,使得逼近的直线段或圆弧段数的数量最少(即最优解).要求如下:(1)列出一般的直线或圆弧逼近的算法(流程图).(2)列出改进的直线或圆弧逼近的算法(流程图)—即优化算法.比较改进前与改进后的两种算法结果.(3)针对任意给定的某一由非圆曲线所构成的平面轮廓,根据指定的走刀方向、起刀点,自动生成CNC代码.(4)在屏幕上显示该非圆曲线所构成的平面轮廓.软件设计过程非圆曲线的逼近算法及程序设计

2、111.1..等间距的直线逼近的节点.等间距的直线逼近的节点算法已知方程y=f(x),根据给定的△x求出xi,将xi代入y=f(x)即可求得一系列yi.xi、yi即为每个线段的终点坐标,并以该坐标值编制直线程序段.△x的大小取决于曲线的曲率和允许误差δ.一般先取△x=0.1试算并校验.误差校验方法如下:如图,MN为试算后的逼近线段,作MN--1--平行于MN且两直线距离为δ允.Yy=f(x)N’NM’MX△X△X图1等间距逼近根据节点的坐标可求得MN方程:ax+by+c=0则ax+by=c±δ允√a⌒2+b⌒2求解联立方程:δ允=(ax+by-c

3、)/±√a⌒2+b⌒2y=f(x)如果无解,即没有交点,表示逼近误差小于δ允;如果只有一个解,即等距线与轮廓线相切,表示逼近误差等于δ允;如果有两个或两个以上的解,表示逼近大于δ允,这时应缩小等间距坐标的增量值,重新计算节点和验算逼近误差,直至最大的逼近误差小于或等于δ允.--2--算法:1、给定的△x=0.1求出xi,将xi代入y=f(x)即可求得一系列yi.xi2、求允许误差δ.3、Ifδ<=精度值0.001?a)是,if达到终点?i.是,gotoStep4:ii.否,i=i+1,gotoStep1;b)否,△x=0.5*△x,gotoSte

4、p14、End非圆曲线非圆曲线数学处理的一般方法数控系统一般只有直线和圆弧插补的功能,对于非圆曲线轮廓,只有用直线或圆弧去逼近它,“节点”就是逼近线段与非圆曲线的交点。一个已知曲线的节点数主要取决于逼近线段的形状(直线段还是圆弧段),曲线方程的特性以及允许的逼近误差。将这三者利用数学关系求解,即可求得一系列的节点坐标,并按节点划分程序段。以下简介常用的直线逼近及圆弧逼近的数学处理方法。222.2...1111常用非圆曲线直线逼近方法常用非圆曲线直线逼近方法2.1.1等间距的直线逼近的节点计算这是一种最简单的算法。如图2.1所示,已知方程y=f(x

5、),根据给定的∆x求出x,求x代入y=f(x)即可求得一系列y,即为每个线段的终点坐标,并以该坐标值iii编制直线程序段。--3--y=f(x)YN'NM'M∆x∆xX图2.1等间距逼近方法的原理图∆x取值的大小取决于曲线的曲率和允许误差δ。一般先取∆x=1.0试算并校验。误差校验方法如图2.1中的右图所示,MN为试算后的逼近线段,作M'N'平行于MN且两直线的距离为δ。根据节点的坐标可求得允22MN方程:ax+by+c=0,则M'N'的方程为ax+by=c±δa+b允求解联立方程:ax+by−cδ=允±a2+b2(2-1)y=f(x)如果无解,

6、即没有交点,表示逼近误差小于δ;如果只有一个解,即等间距与允轮廓线相切,表示逼近误差等于δ;如果有两个或两个以上的解,表示逼近误差大允于δ,这时应缩小等间距坐标的增量值,重新计算节点和验算逼近误差,直至最大允的逼近误差小于等于δ。允等间距法计算简单,但由于取定值∆x应保证曲线曲率最大处的逼近误差允许值,所以程序可能过多。用此种方法进行数学处理,它的逼近曲线与轮廓线的逼近误差参差不齐,程序明显增多,影响机床的加工效率,不适合大批量的加工,成本也比较高。2.1.2等弦长直线逼近的节点计算就是使所有逼近线段的长度相等,如图2.2所示。计算步骤如下:--

7、4--y=f(x)YlBCδ允DAX图2.2等弦长逼近方法的原理图(1)确定允许的弦长:由于曲线各处的曲率不等,等弦长逼近后,最大误差δmax必在R处(设为图中的CD段),则l为min22l=2R−(R−δ)≈22Rδminmin允min允(2)求R。曲线y=f(x)任一点的曲率半径为min23/2R=(1+y')/y"(2-2)取dR/dx=0,即223y'y"−1(+y')y'"=0(2-3)根据y=f(x)求得y'、y"、y'",并由式(2-3)求得x值代入式(2-2)即得R。min(3)以曲线起点A为圆心,作半径为l的圆交y=f(x)曲线

8、于B点,联立求解222(x−x)+(y−y)=laay=f(x)得x、y。BB(4)顺序以B、C…圆心,重复步骤(3),即可求得其余各节

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

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

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