![](http://tiebapic.baidu.com/forum/w%3D580/sign=ceb784941e24ab18e016e13f05fbe69a/4b0362d0f703918f3c3d5c78463d269758eec4bc.jpg?tbpicau=2025-02-24-05_e82033a965c5794b3737d8c07a2ac392)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=a30ae27f4566d0167e199e20a72ad498/81c88a13632762d06dd2c50db7ec08fa503dc6bc.jpg?tbpicau=2025-02-24-05_5efbc0d8c59f51d50764ad0df66973f9)
上图是我画的,下图是想要的,不知道做什么修改可以完成,有空的大佬帮帮忙
function MICRO_real(WorkRadus,xFeedVel,N,w,ToolR,B,C,D,ctrl)
%900,50,3600,1,1500,520,140,140,1
%900,50,3600,1,1500,520,140,60,1
%900,50,3600,1,1500,200,100,50, 1
%典型参数
%工件半径
%WorkRadus=900; %um
%进给速度
%xFeedVel=50; %um/s
%每一圈的采样点数
%N=3600;
%主轴转速
%w=1; %r/s
M=N*(WorkRadus/xFeedVel)*w;
%刀尖圆弧半径
%ToolR=1500;
% Wave length and the applitude
% The unit is micro meter
%WaveLength = 500; Amplitude = 1.0;
theta=(0:0.01:2*pi);
phi=(0:0.5:WorkRadus);
[THETA,PHI]=meshgrid(theta,phi);
x=PHI.*cos(THETA);
y=PHI.*sin(THETA);
M=sign(x).*floor(0.5+abs(x)./B);
N=sign(y).*floor(0.5+abs(y)./B);
d=sqrt((x-M.*B).^2+(y-N.*B).^2);
rm=sqrt(C.^2-(C-D).^2);
z=x.*0;
z(d<rm)=C-D-sqrt(C.^2-d(d<rm).^2);
switch ctrl
case 0 %产生一个名为“_guitest1_”的不可见窗口
figure('NumberTitle','Off','Name','平面微透镜阵列','Visible','Off');
case 1 %将figure设置为可见
h=gcf; % gcf返回当前Figure对象的句柄值
set(h,'Visible','On');
end
mesh(x,y,z)
xlabel('x/μm');
ylabel('y/μm');
zlabel('z/μm');
shading interp
axis equal
figure;plot3(x,y,z)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end