Matlab 在同一个坐标系下画颜色不相同的多个球体

多个位置不同,半径大小不同球体的同坐标系绘制

注意到 Matlab自带了一个用于画球体的函数,其他球体都可以通过这个函数生成的数据变换而来。
这个函数就是sphere。
sphere用于生成一个球心在原点的单位球。通过坐标球心变换即可获得任意球心位置任意半径大小的球。

function h = drawSphere(r, centerx, centery, centerz, N)

if nargin == 5
    [x,y,z] = sphere(N);
else
    [x,y,z] = sphere(50);
end

h = surf(r*x+centerx, r*y+centery, r*z+centerz);
h.EdgeColor = rand(1,3);
h.FaceColor = h.EdgeColor;

r – 半径
centerx centery centerz – 球心坐标
N – 网格密度,不写此参数的话默认为50

drawSphere绘制一个球心在[centerx, centery, centerz]处,半径为r的球。且给定任意颜色。

=========================================

Example1:

clear;clc;clf;
h1 = drawSphere(5, 4, 3, 6);
hold on;
h2 = drawSphere(3, -1, -1, -1);
axis equal

这里写图片描述

也可以通过后续的颜色指定改变球体的颜色

Example2:

clear;clc;
h1 = drawSphere(5, 4, 3, 6);
hold on;
h1.EdgeColor = [1, 0, 0]
h1.FaceColor = [1,0,0]
h2 = drawSphere(3, -1, -1, -1);
h2.EdgeColor = [0,1,0];
h2.FaceColor = [0,1,0];
axis equal

这里写图片描述

  • 11
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值