马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
看过论坛上的这篇帖子http://forum.vibunion.com/thread-76746-1-1.html
可是不知道自己的程序哪里参数不对,请大侠指教;
function pointandnihe(R)
alpha=0:pi/50:2*pi;%角度[0,2*pi]
num=1;
a=zeros(87,4);%其中87是根据R=5时得到的点数,a(:,1)是用来记着序号的,后面的a(:,2),a(:,3),a(:,4)是x,y,z三个坐标
for angle=0:pi/(2*R):pi
z=R+R*cos(angle);
r=R*sin(angle);
num=(num-1);
for n=0:round(2*r+2)
x=r*cos(alpha);
y=r*sin(alpha);
hold on;
x1=r*cos(n*2*pi/round(2*r+2));
y1=r*sin(n*2*pi/round(2*r+2));
num=(num+1);
%arrayfun(@(num)text(x1,y1,z,num2str(num)),num)
a(num,1)=round(num);
a(num,2)=x1;
a(num,3)=y1;
a(num,4)=z;
plot3(x1,y1,z,'.')
end
end
a
axis equal
x1=a(:,2);
y1=a(:,3);
z1=a(:,4);
%load aaa
%x1=a(:,2); y1=a(:,3); z1=a(:,4);
ti =0:.1:1; [XI,YI] = meshgrid(ti,ti); ZI = griddata(x1,y1,z1,XI,YI);
mesh(XI,YI,ZI), hold;
plot3(x1,y1,z1,'o'); xlabel('x'); ylabel('y'); zlabel('z'); hold off
R=5时 plot3(x1,y1,z,'.')得到的图像如图所示,不知可否将图中得到的点用三角形连接起来,谢谢大侠们了。
|