w89986581 发表于 2007-6-12 22:31

不是球面,这是由于球心是随着高度变化的.

yifeng 发表于 2007-6-12 22:44

回复 #16 w89986581 的帖子

哦,什么意思

所需截面上理论是球体滚过产生的,

你的意思是不是画半径随高度变化的圆弧来合成这个曲面?

spano 发表于 2007-6-12 23:09

回复 #14 yifeng 的帖子

如果还是按照画一部分球面的思路,我觉得可以这样:
(1)求出球心位置;
(2)按照球心位置和半径用sphere(经过旋转平移)生成整个球面的数据;
(3)算出球面和似锥体的交线;
(4)按照上面的z值删去球面数据中无用的部分。

yifeng 发表于 2007-6-12 23:15

另外,我的图里面Z轴始终都只能是0:1,怎么让z的高度与似锥体的实际高度相联系?
或者说怎么改变z轴的坐标?

yifeng 发表于 2007-6-12 23:17

这个方法倒是可以试试,

spano 发表于 2007-6-12 23:17

试下zlim

yifeng 发表于 2007-6-12 23:28

怎么用matlab语言来实现呢?

yifeng 发表于 2007-6-12 23:31

除了手算的方法以外,有没有什么用matlab语言快速生成的方法?

yifeng 发表于 2007-6-12 23:32

具体那个zlim怎么用呢?

spano 发表于 2007-6-12 23:36

才写了一部分,后面2步,没有你的似锥体的数据,暂时没有写,今天就讨论这里吧,困了.
=solve('(x0-1)^2+(y0-3)^2+(z0-6)^2=15^2',...
            '(x0-2)^2+(y0-6)^2+(z0-10)^2=15^2',...
            '(x0-8)^2+(y0-1)^2+(z0-4)^2=15^2');
x1=x0(1);%随便选的一个坐标
y1=y0(1);
z1=z0(1);
=sphere(50);
set(gca,'xlim',[-10 20]);
axis equal;

x=x+x1;
y=y+y1;
z=z+z1;
r=3;%球半径
xyz1=r*x;
xyz2=r*y;
xyz3=r*z;
surf(xyz1,xyz2,xyz3);

spano 发表于 2007-6-12 23:39

回复 #24 yifeng 的帖子

set(gca,'zlim',);
minZ,maxZ是Z轴的上下限
已经给出了命令,一般的就别问怎么用了,这都可以自己help查询用法的。这样才能学到东西

kangq180 发表于 2013-4-17 23:24

学习了,正在思考这些东西
页: 1 [2]
查看完整版本: 请教过三点作球面的问题,在线等