4

考虑在 3D 图上放置一些文本:

membrane
xlabel('x'); ylabel('y'); zlabel('z');
view(3);
grid on
text(0,-1,.5,'Test','FontSize',20,'Units','data');

在此处输入图像描述

在 y 方向稍微移动文本

text(0,-0.7,.5,'Test','FontSize',20,'Units','data');

在此处输入图像描述

如图所示,文本被表面截断(隐藏)。是否可以将最后一个位置 (0,-0.7,.5) 转换为 2D 归一化位置?(因为在标准化坐标中绘制文本不受表面的影响(隐藏))。假设归一化位置是(x,y),那么我可以使用

text(x,y,'Test','FontSize',20,'Units','normalized');

在 3D 图形上绘制文本。

所以我的问题是:如何将 3D 数据点转换为 2D 归一化图形点?

4

1 回答 1

0

看起来像以下作品:

h=text(0,-.7,.5,'Test','FontSize',20,'Units','data','visible','off');
set(h,'Units','normalized');
P=get(h,'Position');
x=P(1); y=P(2);
delete(h);
text(x,y,'Test','Color','r','FontSize',20,'Units','normalized');
于 2013-10-08T11:00:32.560 回答