matlab 3D sphere err bar 在3D的球上显示对应点的误差

豆豆最近真的是挺粘我,好。好。好。



在论坛回答了一个问题,觉得图还是挺好看的。

记录下来。

clear all
clc
clf


R=10;

n_p = 50;
n_er=15;

[x,y,z]=sphere(n_p);
x=x*R;
y=y*R;
z=z*R;

tm=randperm(n_p*n_p);
ind_er=tm(1:n_er);

x_er=x(ind_er);
y_er=y(ind_er);
z_er=z(ind_er);

val_er=10*(rand(size(x_er))-0.5);

[theta,phi,r]=cart2sph(x_er,y_er,z_er);
[x_er_new,y_er_new,z_er_new]=sph2cart(theta,phi,r+val_er);

hold on
% mesh(x,y,z);
h=surf(x,y,z,ones(size(x)),'edgecolor','none');
mesh(x,y,z)
hidden off
alpha(h,0.3)
axis equal


plot3(x(ind_er),y(ind_er),z(ind_er),'ko','MarkerFaceColor','k')

for i=1:length(ind_er)
    if val_er(i) > 0
    plot3([x_er(i) x_er_new(i)],...
          [y_er(i) y_er_new(i)],...
          [z_er(i) z_er_new(i)],'b-','linewidth',5)
    else
    plot3([x_er(i) x_er_new(i)],...
          [y_er(i) y_er_new(i)],...
          [z_er(i) z_er_new(i)],'r-','linewidth',4)
    end
end


axis tight
view(30,40)




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值