从 matlab .fig 中提取曲面
Extract surface from matlab .fig
我有一个 matlab .fig 文件,其中包含一些点和适合它们的曲面。我想从图中提取表面,我想要顶点和面。您能否提供一些有关如何实现此目标的提示?
我的图可以在这里找到:https://drive.google.com/file/d/0By376R0mxORYU3JsRWw1WjllWHc/view?usp=sharing 我想提取没有蓝点的表面。
编辑:它不是重复的,请参阅下面我的评论以了解原因。
用于绘制表面和点的数据存储在图中。
因此您可以:
- 开图
- 从图中获取数据
- 获取图形的子项,在本例中为轴
- 从表面的轴、X、y 和 z 数据中提取
坐标轴实际包含两组数据:
- z(1)中存储的点的数据
XData
,YData
,ZData
- z(2)中存储的surface数据
XData
,YData
,ZData
这是代码("dot notation"):
% Open the figure
open('cubicinterp.fig')
% Get the data from the figure
x=gcf
% Get the children of the figure (in this case the axes)
y=x.Children
% Get the data used to plot on the axes
z=y.Children
figure
XX=z(2).XData;
YY=z(2).YData;
ZZ=z(2).ZData;
CCDD=z(2).CData;
surf(XX,YY,ZZ,CCDD)
return
这是没有 "dot notation" 的代码(R2014b 之前)
% Open the figure
open('cubicinterp.fig')
% Get the data from the figure
x=gcf
% Get the children of the figure (in this case the axes)
y_1=get(gcf,'children');
% Get the data used to plot on the axes
z_1=get(y_1,'children');
figure
XX=get(z_1(2),'xdata');
YY=get(z_1(2),'ydata');
ZZ=get(z_1(2),'zdata');
CCDD=get(z_1(2),'Cdata');
surf(XX,YY,ZZ,CCDD)
这是提取的表面:
希望这对您有所帮助。
Qapla'
我有一个 matlab .fig 文件,其中包含一些点和适合它们的曲面。我想从图中提取表面,我想要顶点和面。您能否提供一些有关如何实现此目标的提示?
我的图可以在这里找到:https://drive.google.com/file/d/0By376R0mxORYU3JsRWw1WjllWHc/view?usp=sharing 我想提取没有蓝点的表面。
编辑:它不是重复的,请参阅下面我的评论以了解原因。
用于绘制表面和点的数据存储在图中。
因此您可以:
- 开图
- 从图中获取数据
- 获取图形的子项,在本例中为轴
- 从表面的轴、X、y 和 z 数据中提取
坐标轴实际包含两组数据:
- z(1)中存储的点的数据
XData
,YData
,ZData
- z(2)中存储的surface数据
XData
,YData
,ZData
这是代码("dot notation"):
% Open the figure
open('cubicinterp.fig')
% Get the data from the figure
x=gcf
% Get the children of the figure (in this case the axes)
y=x.Children
% Get the data used to plot on the axes
z=y.Children
figure
XX=z(2).XData;
YY=z(2).YData;
ZZ=z(2).ZData;
CCDD=z(2).CData;
surf(XX,YY,ZZ,CCDD)
return
这是没有 "dot notation" 的代码(R2014b 之前)
% Open the figure
open('cubicinterp.fig')
% Get the data from the figure
x=gcf
% Get the children of the figure (in this case the axes)
y_1=get(gcf,'children');
% Get the data used to plot on the axes
z_1=get(y_1,'children');
figure
XX=get(z_1(2),'xdata');
YY=get(z_1(2),'ydata');
ZZ=get(z_1(2),'zdata');
CCDD=get(z_1(2),'Cdata');
surf(XX,YY,ZZ,CCDD)
这是提取的表面:
希望这对您有所帮助。
Qapla'