声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1479|回复: 2

[图像处理] 球状图

[复制链接]
发表于 2009-2-8 22:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
曲线是画在球的表面的,想问一下,思路是不是 ,首先用sphere画出球,视角是从正上方向下看(问一下,这个用什么语句实现),然后把要画的曲线在球形坐标系的数据转化成x,y,z坐标系,即用[X,Y,Z] = SPH2CART(TH,PHI,R) 最后hold on再用plot3(x,y,z)在球面上继续画曲线呢?高手指导一下思路和牵涉到的语句!推荐个例题也行啊!

[ 本帖最后由 SPUR0645 于 2009-2-9 00:13 编辑 ]
Unbenannt.jpg
回复
分享到:

使用道具 举报

发表于 2009-2-11 10:18 | 显示全部楼层

回复 楼主 SPUR0645 的帖子

视角是从正上方向下看(问一下,这个用什么语句实现)  -- view

评分

1

查看全部评分

发表于 2009-3-4 21:32 | 显示全部楼层
这是我自己编的程序,跟你的思路有点像
function plot3d(k)                %k是球的个数
% this function is used to draw the balls in the three dimensions


guliaozuobiao_3d;       % 调用脚本M文件(各个球的直角坐标和直径)
nop=30;                 % 用30个点来控制画球
m=ones(nop,1);          % 生成nop*1维的元素为1的矩阵
n=ones(1,nop);          % 生成1*nop维的元素为1的矩阵
theta=m*linspace(-pi,pi,nop);       % 形成球坐标里的theta方阵,其中linspace(-pi,pi,nop)是在(-pi,pi)之间均匀插值
phi=(linspace(-pi/2,pi/2,nop))'*n;  %形成球坐标里的phi方阵,其中linspace(-pi/2,pi/2,nop)是在(-pi/2,pi/2)之间均匀插值
axis([0 150 0 150 0 150]);             %设定绘图坐标
for i=1:k                     
  r1=ones(nop)*r(i);               %形成球半径方阵
  [x1,y1,z1]=sph2cart(theta,phi,r1);   %将球坐标值转换到直角坐标下的x,y,z值
  x2=x1+x(i);                       
  y2=y1+y(i);                      % 调整球心坐标
  z2=z1+z(i);
  mesh(x2,y2,z2);                  %画球
  hold on;                        %开启figure保留功能,即在同一张figure上画球
  grid on;                        %开启网格功能
  axis equal;                     
end

这就是在483个球的图,我课题要用到的。

这就是在483个球的图,我课题要用到的。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-18 08:45 , Processed in 0.063437 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表