huxw 发表于 2010-10-29 14:15:13

请问如何将三维图绘制(转换)成平面等值线图?

现用mesh(A,B,C)命令得到图1.(如下图Mesh3D.png)

请问用何种方法可以将其 变换 或 扩展 而得到 类似图2(如下图Plane-isoline.png)的图形呢?


从原理上来说,图2是将图1的等高(值)线投影到AB平面而得到的。

那么这样的过程该如何实现呢?哪位做若过这样的图,就请您指点一下。若没做过也欢迎探讨,给我一个思路也是好的。我将感激不尽!

liushuangq05 发表于 2010-10-29 14:22:56

楼主,用contour2,contour2和view来操作,不能满足你的要求吗?

huxw 发表于 2010-10-29 14:39:06

2# liushuangq05
非常感谢,以前没有用过这两个命令。先学习学习。

我的想法是,最好能得到图2 各条曲线的数据,这样可以导出到别的软件绘图。

huxw 发表于 2010-10-29 15:18:36

2# liushuangq05
非常感谢你!

已经可以绘出图形了!
用contour(x,y,z,v)命令。但是还是不知道怎么将这些数据输出。

qibbxxt 发表于 2010-10-29 16:01:47

4# huxw
帮助文件里

= contour(...)

huxw 发表于 2010-10-29 20:58:06

5# qibbxxt
谢谢!
刚开始看了帮助文档contour 和 contourc,还是没明白输出矩阵c 是什么意思。
运行了命令 = contour(x,y,z,v)之后,得到 2Xn 的矩阵 c ,若按点画出里面的图形(第一行为x,第二行为y ),看不出什么规律,但按'o' 画出图形与原曲线重重叠后发现,点全在曲线上,说明c包含了曲线上的数据点。
原来矩阵 c 被按列分为若干组,每一组表示了一条曲线。并且每一组开始由z值和线号组成。在网上才找到了对矩阵 c 的说明(帮助文档里实在看不清):
C = [value1 xdata(1) xdata(2) ... xdata(dim1) value2 xdata(1) xdata(2) ... xdata(dim2)...
      dim1 ydata(1) ydata(2) ... ydata(dim1) dim2 ydata(1) ydata(2) ... ydata(dim2)];

终于有点明白了。
谢谢上面所有人的帮助!

Wong10 发表于 2010-11-21 21:09:34

交流为目的,不是为了虚拟币!

bainhome 发表于 2010-11-21 21:58:33

楼上在发什么神经?这个帖子哪个回复问你要钱了?
页: [1]
查看完整版本: 请问如何将三维图绘制(转换)成平面等值线图?