大比例尺绘图_第1页
大比例尺绘图_第2页
大比例尺绘图_第3页
大比例尺绘图_第4页
大比例尺绘图_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

逐点比较法逐点比较法的基本原理是,在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进给方向,使刀具向减小偏差的方向进给(始终只有一个方向)。一般地,逐点比较法插补过程有四个处理节拍,如图4-1:(1)偏差判别。判别刀具当前位置相对于给定轮廓的偏差状况;(2)坐标进给。根据偏差状况,控制相应坐标轴进给一步,使加工点向被加工轮廓靠拢;(3)重新计算偏差。刀具进给一步后,坐标点位置发生了变化,应按偏差计算公式计算新位置的偏差值;(4)终点判别。若已经插补到终点,则返回监控,否则重复以上过程。

图4-1处理节拍

图4-2第一象限直线插补规律1.直线插补图4-2为第一象限直线,其终点坐标为(Xe,Ye),现分析其插补规律。刀尖点位置不外乎3种情况:轮廓线上方(点A),轮廓线上(B点),轮廓线下方(点C)。显然,在点A处,为使刀尖点向轮廓直线靠拢,应+X向走一步;C点处,应+Y向走一步;至于B点,看来两个方向均可以,但考虑汇编编程时的方便,现规定往+X向走一步。A(X,Y)点处有:Y/X>Xe/Ye

XeY-XYe>0B(X,Y)点处有:Y/X=Xe/Ye

XeY-XYe=0C(X,Y)点处有:Y/X<Xe/Ye

XeY-XYe<0F=XeY-XYe为原始的偏差计算公式(X,Y为当前插补点动态坐标),F称为偏差,每走一步到达新位置点,就要计算相应这个F值。显然,F≥0时,须+X向走一步;F<0时,须+Y向走一步。为方便汇编编程和提高计算速度,现对偏差F的计算公式加以简化:插补点位于A、B点时,走完下一步(+X):动态坐标变为(X=X+1,Y=Y),新偏差变为F=XeY-(X+1)Ye=XeY-XYe-Ye=F-Ye。这个公式比F=XeY-XYe计算要方便。图4-3逐点比较法第一象限直线插补软件框图插补点位于C点时,走完下一步(+Y):动态坐标变为(X=X,Y=Y+1),新偏差变为F=Xe(Y+1)-XYe=XeY-XYe+Xe=F+Xe。因此,走完+X后:偏差计算公式为F=F-Ye;走完+Y后:偏差计算公式为F=F+Xe。数值微分法数值微分(numericaldifferentiation)根据函数在一些离散点的函数值,推算它在某点的导数或高阶导数的近似值的方法。通常用差商代替微商,或者用一个能够近似代替该函数的较简单的可微函数(如多项式或样条函数等)的相应导数作为能求导数的近似值。例如一些常用的数值微分公式(如两点公式、三点公式等)就是在等距步长情形下用插值多项式的导数作为近似值的。此外,还可以采用待定系数法建立各阶导数的数值微分公式,并且用外推技术来提高所求近似值的精确度。当函数可微性不太好时,利用样条插值进行数值微分要比多项式插值更适宜。如果离散点上的数据有不容忽视的随机误差,应该用曲线拟合代替函数插值,然后用拟合曲线的导数作为所求导数的近似值,这种做法可以起到减少随机误差的作用。数值微分公式还是微分方程数值解法的重要依据。举例说明编辑根据函数在一些离散点的函数值,推算它在某点的导数或某高阶导数的近似值。通常用差商代替微商,或用一能近似代替该函数的较简单的函数(如多项式、样条函数)的相应导数作为所求导数的近似值。例如,对带余项的插值公式ƒ(x)=I(x)+R(x)取k阶导数就得到带余项的数值微分公公式1,这里插值函数I(x)的k阶导数I(k)(x)即为所求k阶导数ƒ(k)(x)的近似值,而插值函数余项R(x)的k阶导数R(k)(x)则给出此近似值的截断误差。通常利用多项式插值进行数值微分。设函数ƒ(x)在n+1个等距点xv=α+vh(v=0,1,…,n)上的值ƒv=ƒ(xv)为已知,则通过低次插值可导出一些最基本和常用的数值微分公式,例如,两点公式三点公式等等。此外,利用具有n+1个等距节点的拉格朗日插值公式,还可导出在节点xj(i=0,1,…,n)上的较为一般的数值微分公式这里Ai,v、Bi,v仅与n、i、v有关,而相应的截断误差可分别表成式中因此,当节点的个数n+1固定时,间距h愈小,公式则截断误差也愈小。但是这时系数绝对值之和随h的变小而剧增,所以函数值ƒv的舍入误差对近似导数的影响也随h的变小而剧增。因此,h并非愈小愈好,而是要适中,这是数值微分不同于某些插值之处。如果函数ƒ(x)有很好的可微性,即存在绝对值不太大的较高阶导数,则宁取间距稍大而个数稍多的节点。当ƒ(x)在节点分布的整个区间上的可微性不太好时,利用样条插值进行数值微分比利用多项式插值更适宜,只是计算量要大得多。如果数据ƒv带有不容忽视的随机误差,而其对应的自变量分布甚密,就应该用曲线拟合代替上述函数插值,然后用拟合曲线的导数作为函数ƒ(x)的导数的近似值。这样求得的导数叫做磨光的导数。bresenham算法Bresenham算法是计算机图形学领域使用最广泛的直线扫描转换方法。其原理是:过各行、各列像素中心构造一组虚拟网格线,按直线从起点到终点的顺序计算直线各垂直网格线的交点,然后确定该列像素中与此交点最近的像素。该算法的优点在于可以采用增量计算,使得对于每一列,只要检查一个误差项的符号,就可以确定该列所求的像素。算法编辑voidIntegerBresenhamlin(intx0,inty0,intx1,inty1,intcolor){intx,y,dx,dy,unitx,unity,fabs_dx,fabs_dy,e;dx=x1-x0;dy=y1-y0;fabs_dx=(int)fabs(dx);fabs_dy=(int)fabs(dy);unitx=dx/fabs_dx;unity=dy/fabs_dy;bresenham算法x=x0;y=y0;if(fabs_dx>fabs_dy){e=-fabs_dx;for(i=0;i<=fabs_dx;i++){drawpixel(x,y,color);x+=unitx,e=e+2*fabs_dy;if(e>=0){y+=unity;e=e-2*fabs_dx;}}//forend}else{e=-dy;for(i=0;i<=fabs_dy;i++){drawpixel(x,y,color);y+=unity,e=e+2*fabs_dx;if(e>=0){x+=unitx;e=e-2*fabs_dy;}}//forend}//ifend}//:~Bresenham改进算法编辑原理:bre算法在计算直线斜率与误差项时用到了小数与除法,可以改用整数以避免除法。由于算法中用到误差项的符号,因此可以做如下替换:e'=2*e*dx.以下是C++语言方式描述的,在MFC下的核心绘图代码(画圆的算法){CDC*pDC=GetDC();intp,r,x,y,c,i;r=50;p=3-2*r;c=RGB(0,0,0);x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论