yqchenlolo 发表于 2005-12-30 16:21

[求助]画图(用mesh和plot3的问题)

下面两种画z=x^2+y^2的方法
一:用画网格方法
=meshgrid(-1:0.1:1,-1:0.1:1); z=x.^2+y.^2;
mesh(z);

二:用plot3方法描点
x=-1:0.1:1; y=-1:0.1:1;
for k1=1:length(x), for k2=1:length(y)
   plot3(x(k1),y(k2),x(k1)^2+y(k2)^2,'r*'); hold on;
end; end

这两个图实际上都是z=x^2+y^2在[-1,1]×[-1,1]上的形状
但是用第一种画网格的方法可以很明显的看出大概形状
而用第二种方法就只能看到哪些离散点,看不出空间结构
由于我具体的问题里只能给出三维空间曲面上的离散点集合,
无法用画网格的方法来画。
我用plot3画点,有什么方法可以得到象用mesh方法画图那样的效果?
3x

[ 本帖最后由 ChaChing 于 2009-7-24 15:36 编辑 ]

sorry 发表于 2005-12-30 16:40

回复:(yqchenlolo)[求助]画图(用mesh和plot3的问题...

你给出的空间离散点坐标有规律吗?

yqchenlolo 发表于 2005-12-30 16:52

我是用自己定义的函数x(u,v),y(u,v),z(u,v),u1<=u<=u2,v1<=v<=v2
求出来的,本来想是不是有画图的函数可以直接画这种形式的函数的,
比如*****(x(u,v),y(u,v),z(u,v),,)这种形式的函数画
但是我暂时找不到:),也许没有这样的函数??
所以只好求出值描点了

yqchenlolo 发表于 2005-12-30 17:12

找到了
ezsurf('(1-s)*(3+cos(t))*cos(4*pi*s)', '(1-s)*(3+cos(t))*sin(4*pi*s)', ...
'3*s + (1 - s)*sin(t)', )
但是现在对于我自己的问题来说:
我定义的x(u,v),y(u,v),z(u,v)关于u和v都是分段的,
这样好像很麻烦
页: [1]
查看完整版本: [求助]画图(用mesh和plot3的问题)