本文主要是介绍matlab三维空间中画不同分类点程序_使用matlab画三维空间中的平面~,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天想用球面来模拟一个数据,就想到了用matlab来画图。但是刚开始不会啊,就询问别人,别人说也没怎么用过,就去百度搜索啦,结果还真搜到一个画整个球的小段code,是这样的:
给定球心和直径,画出一个球。
x0=4/3;y0=4/3;z0=0;%球心
r=sqrt(41)/3;%半径
%下面开始画
[x,y,z]=sphere;
mesh(r*x+x0,r*y+y0,r*z+z0)
axis equal
在这里用到了mesh函数,不知道mesh函数是怎么个意思,大致是画一个网格状的吧,再百度之吧:一句话:
mesh(x,y,z):以z矩阵列、行下标为x,y轴自变量,画网线图.
仅仅画出球并不是我想要的,我只是想给定x,y,画出Z的平面图,用球面来模拟一个凹的面。在同学的提示下,最后终于成功绘制:code是这样写的~
x=0:0.1:3;//x坐标 x=[0,3]
y=x;
z=zeros(31,31);//对于每个(x,y)pair,都会有个z的值,这个值是通过公式计算出来的啦。
for i=1:1:31
for j=1:1:31
z(i,j)=19/2-sqrt(361/4-(x(i)-3).^2-(y(j)-3).^2);(给定直径和球心的球)
end
end
surf(x,y,z);//根据x,y,z画出平面
最后的图是这样的~~:
这篇关于matlab三维空间中画不同分类点程序_使用matlab画三维空间中的平面~的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!