vanpersie 发表于 2008-1-9 09:48

请教三维曲面的实现问题

请问这个三维曲面要怎么实现?需要消参吗?直接用x,y轴绘制,画不出来
绘制由参数方程 表示的曲面

[ 本帖最后由 eight 于 2008-1-21 18:46 编辑 ]

sigma665 发表于 2008-1-9 10:22

回复 楼主 的帖子

给出角度的值,得到x,y,z的值
这样就有每个点的坐标了,然后再画

或许还有其他简单方法

xjzuo 发表于 2008-1-9 22:35

提示:给定两个变量(向量形式),meshgrid, 然后用mesh or surf 即可绘出你要的曲面。
--------很显然这是一个轮胎面(环面)

vanpersie 发表于 2008-1-10 21:25

回复 3楼 的帖子

a=(0:0.01:2*pi)
b=(0:0.01:2*pi)
=meshgrid(x,y);
x=cos(a).*(cos(b)+3)
y=sin(a).*(cos(b)+3)
z=sin(b)
mesh(x,y,a)
这样究竟是哪里有错呢?

eight 发表于 2008-1-10 21:32

原帖由 vanpersie 于 2008-1-10 21:25 发表 http://www.chinavib.com/forum/images/common/back.gif
a=(0:0.01:2*pi)
b=(0:0.01:2*pi)
=meshgrid(x,y);
x=cos(a).*(cos(b)+3)
y=sin(a).*(cos(b)+3)
z=sin(b)
mesh(x,y,a)
这样究竟是哪里有错呢?

mesh(x,y,z) 吧,不过应该还是错,你自己 help mesh 吧,估计用的是 X、Y

vanpersie 发表于 2008-1-10 21:37

不行啊...郁闷

sogooda 发表于 2008-1-12 09:04

原帖由 vanpersie 于 2008-1-10 21:25 发表 http://www.chinavib.com/forum/images/common/back.gif
a=(0:0.01:2*pi)
b=(0:0.01:2*pi)
=meshgrid(x,y);
                        ~~~~   
x=cos(a).*(cos(b)+3)
y=sin(a).*(cos(b)+3)
z=sin(b)
mesh(x,y,a)
这样究竟是哪里有错呢?
改成
=meshgrid(a,b);
试试

sigma665 发表于 2008-1-12 11:35

综合以上

a=(0:0.01:2*pi);
b=(0:0.01:2*pi);
=meshgrid(a,b);
x=cos(X).*(cos(Y)+3);
y=sin(X).*(cos(Y)+3);
z=sin(Y);
mesh(x,y,z);

得到图:

kokojojo99 发表于 2008-1-14 16:27

这里牛人挺多啊,以后要多来学习:@)
页: [1]
查看完整版本: 请教三维曲面的实现问题