问题描述
我有 XYZ 的数据集作为坐标,V 作为每个点的值(100x4 矩阵).
I have dataset of XYZ as the coordinates and V as the value at each point (100x4 matrix).
我使用补丁绘制了 3D 表面.(通过面和顶点)
I plot the 3D surface using patch. (by faces & vertices)
如何在 3D 表面上绘制 V(非 Z)的等高线!?
How can I plot the contour lines of V (NOT Z) over the 3D surface !?
(Contour3 函数绘制 Z 的 3D 轮廓线;但我需要 V 的轮廓线.)
( The Contour3 function plots 3D contour lines of Z ; But I need contour lines of V. )
Actually I want something like this or this.
感谢十亿人的帮助.
其实我发现 isosurface 命令正是我想要的.
Well actually I found out that the isosurface command is exactly what I want.
但是,此命令要求 V 数据为 3D 矩阵.但我的 V 是一个向量.并且其中的数据是完全不均匀和不规则的.现在出现了一个新问题:
However, this command requires the V data to be a 3D matrix. But my V is a vector. And the data in it is completely non-uniform and irregular. Now here rises a new question :
如何将这个非均匀向量转换为 3D 矩阵,以便它可以与等值面命令一起使用!!?
请帮我解决这个问题.
推荐答案
来自 MathWorks FileExchange 的 >cont3d
并不是您正在寻找的内容,但它可能会给您一些想法.
cont3d
from MathWorks FileExchange is not exactly what you're looking for, but it may give you some ideas.
这篇关于如何在 MATLAB 中绘制 4D 等高线 (XYZ-V)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!