我有3个向量,x
,y
,z
。三个不同的向量元素表示空间中点的位置(例如x(1)
,y(1)
,z(1)
包含有关第一个点位置的信息。)
现在我需要实现整个点集的3D表示,它应该如下所示:
有人能帮助我吗?什么功能有用?
答案 0 :(得分:4)
您可以使用以下功能:
不要忘记设置hold on
和hold off
。
以下是一个例子:
%# Generate random data
x = sin(0:0.01:2*pi);
y = cos(0:0.01:2*pi);
n = numel(x);
z = x + rand(1,n)*0.05 + 1;
%# Plot track line
plot3(x,y,z,'LineWidth',2)
%# Plot lines to XY projection for every 5th point
hold on
stem3(x(1:5:end),y(1:5:end),z(1:5:end),'Marker','none','color','c')
hold off
%# Set axes invisible
set(gca,'Visible','off')
答案 1 :(得分:1)
您需要创建从3D世界(x,y,z)到图像(X,Y)的投影变换。这可以是平面投影或透视投影。
完成投影后,您可以执行以下操作:
对于每个分支,从四个点中的每个点创建一个多边形:
T(x [n],y [n],z [n])
T(X [n]的,Y [N],0)
T(X [N + 1],Y [N + 1],0)
T(X [N + 1],Y [N + 1],Z [N + 1])
通过更改z的渐变为多边形着色以获得上述效果。
希望这会让你开始。