已知圆心和半径,如何在matlab中绘制实心球体

matlab绘制三维球体的四种方法

[u,v,w] = sphere(56);

subplot(2,2,1)
plot3(u,v,w);
title('plot()')

subplot(2,2,2)
surf(u,v,w)
title('surf')

subplot(2,2,3)
surfl(u,v,w)
title('surfl')

subplot(2,2,4)
mesh(u,v,w)
title('mesh')

运行结果如下:
在这里插入图片描述
以上引用于: https://blog.csdn.net/chongqianman/article/details/111139230)
以上四种方法不足之处:

  1. 圆心和半径无法指定
  2. 显示为网格状, 不直观,例如用于sphere障碍物包围盒,看起来不太形象。

已知圆心和半径,在matlab中绘制实心球体

首先来了解一个函数 ellipsoid(x,y,z,x1,y1,z1),该函数的作用是在三维空间画椭球体。其中 x,y,z代表了椭球的中心;x1,y1,z1代表了x,y,z方向的分量。若果要画球体的话,将x1,y1,z1设置为半径即可。
代码如下:

[x,y,z]  = ellipsoid(8,9,10,2,2,2); %指定圆心、半径
re=[0 0 1];                         %改数字 改变颜色、数字为0-1
colormap(re)                        % colormap(map) 用map矩阵映射当前图形的色图
surf(x,y,z)                         %画出球体
shading interp                      %对曲面或图形对象的颜色着色进行色彩的插值处理,使色彩平滑过渡

运行结果如下:
在这里插入图片描述

在这里插入图片描述


版权声明:本文为w02240128原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。