插补算法——圆弧插补.pdf

插补算法——圆弧插补.pdf

ID:47997507

大小:344.04 KB

页数:18页

时间:2020-01-11

插补算法——圆弧插补.pdf_第1页
插补算法——圆弧插补.pdf_第2页
插补算法——圆弧插补.pdf_第3页
插补算法——圆弧插补.pdf_第4页
插补算法——圆弧插补.pdf_第5页
资源描述:

《插补算法——圆弧插补.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、17-6-16上午10:16H:MatlabDo...demo.m第1页,共1页%%初始化clear,clccloseallwarningofffeaturejitoff%%主程序%R代表所插补的圆的半径R=10;%ThetaAround代表所要插补的角度范围ThetaAround=[135,90;90,0;0,-45];;%Use_SN代表所在控制的插补方向%Use_S表示进行顺向插补Use_N表示进行逆向插补Use_SN='Use_S';%通过OCT_MControl函数进行插补并返回插补信息%Dat

2、a是切削刀头的移动坐标数据%MovePosition是切削刀头的移动方向信息[Data,MovePosition]=OCT_MControl(ThetaAround,R,Use_SN);%%作图,动态演示插补过程holdongridonaxisequalezplot(strcat('x^2+y^2=',num2str(R^2)),[-R,R]);mycomet(Data.X,Data.Y)17-6-16上午10:19H:...OCT_MControl.m第1页,共1页function[Data,MoveP

3、osition]=OCT_MControl(ThetaAround,O_R,Use_SN)%插补过程的总控制函数%对于跨过几个象限的圆弧,程序可以分段对其每个象限圆弧进行插补Data.X=[];Data.Y=[];Data.Fm=[];%确定插补段数forn=1:size(ThetaAround,1)%将半径及角度信息转换为插补的起始与终止点坐标Position.X_FirstPosition=O_R*cosd(ThetaAround(n,1));Position.Y_FirstPosition=O_R*si

4、nd(ThetaAround(n,1));Position.X_EndPosition=O_R*cosd(ThetaAround(n,2));Position.Y_EndPosition=O_R*sind(ThetaAround(n,2));%对每一象限的圆弧进行单独插补并返回数据TmpData{n,1}=OCT_GetData(OCT_Function(Position,Use_SN));%记录移动方向信息MovePosition{n,1}=TmpData{n,1}.MovePosition;%记录坐标及误

5、差等数据信息Data.X=[Data.X;TmpData{n,1}.X];Data.Y=[Data.Y;TmpData{n,1}.Y];Data.Fm=[Data.X;TmpData{n,1}.Fm];end17-6-16上午10:17H:Matlab...mycomet.m第1页,共3页functionmycomet(varargin)[ax,args,nargs]=axescheck(varargin{:});ifnargs<1error(message('MATLAB:narginchk:notEn

6、oughInputs'));elseifnargs>3error(message('MATLAB:narginchk:tooManyInputs'));endifnargs<2,x=args{1};y=x;x=1:length(y);endifnargs==2,[x,y]=deal(args{:});endifnargs<3,p=0.10;endifnargs==3,[x,y,p]=deal(args{:});endif~isscalar(p)

7、

8、~isreal(p)

9、

10、p<0

11、

12、p>=1error(mess

13、age('MATLAB:comet:InvalidP'));endax=newplot(ax);if~ishold(ax)[minx,maxx]=minmax(x);[miny,maxy]=minmax(y);axis(ax,[minxmaxxminymaxy])endco=get(ax,'colororder');m=length(x);k=round(p*m);ifsize(co,1)>=3colors=[co(1,:);co(2,:);co(3,:)];lstyle='-';elsecolors=rep

14、mat(co(1,:),3,1);lstyle='--';endhead=line('parent',ax,'color',colors(1,:),'marker','o','linestyle','none',...'xdata',x(1),'ydata',y(1),'Tag','head');body=matlab.graphics.animation.AnimatedLine('color',

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

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

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