声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: yifeng

[绘图技巧] 请教过三点作球面的问题,在线等

[复制链接]
发表于 2007-6-12 22:31 | 显示全部楼层
不是球面,这是由于球心是随着高度变化的.
回复 支持 反对
分享到:

使用道具 举报

 楼主| 发表于 2007-6-12 22:44 | 显示全部楼层

回复 #16 w89986581 的帖子

哦,什么意思

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

你的意思是不是画半径随高度变化的圆弧来合成这个曲面?
发表于 2007-6-12 23:09 | 显示全部楼层

回复 #14 yifeng 的帖子

如果还是按照画一部分球面的思路,我觉得可以这样:
(1)求出球心位置;
(2)按照球心位置和半径用sphere(经过旋转平移)生成整个球面的数据;
(3)算出球面和似锥体的交线;
(4)按照上面的z值删去球面数据中无用的部分。
 楼主| 发表于 2007-6-12 23:15 | 显示全部楼层
另外,我的图里面Z轴始终都只能是0:1,怎么让z的高度与似锥体的实际高度相联系?
或者说怎么改变z轴的坐标?
 楼主| 发表于 2007-6-12 23:17 | 显示全部楼层
这个方法倒是可以试试,
发表于 2007-6-12 23:17 | 显示全部楼层
试下zlim

评分

1

查看全部评分

 楼主| 发表于 2007-6-12 23:28 | 显示全部楼层
怎么用matlab语言来实现呢?
 楼主| 发表于 2007-6-12 23:31 | 显示全部楼层
除了手算的方法以外,有没有什么用matlab语言快速生成的方法?
 楼主| 发表于 2007-6-12 23:32 | 显示全部楼层
具体那个zlim怎么用呢?
发表于 2007-6-12 23:36 | 显示全部楼层
才写了一部分,后面2步,没有你的似锥体的数据,暂时没有写,今天就讨论这里吧,困了.
[x0,y0,z0]=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);
[x,y,z]=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);
发表于 2007-6-12 23:39 | 显示全部楼层

回复 #24 yifeng 的帖子

set(gca,'zlim',[minZ, maxZ]);
minZ,maxZ是Z轴的上下限
已经给出了命令,一般的就别问怎么用了,这都可以自己help查询用法的。这样才能学到东西
发表于 2013-4-17 23:24 | 显示全部楼层
学习了,正在思考这些东西
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-23 00:19 , Processed in 0.067501 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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