复制轴位置和摄像机属性

时间:2017-03-28 13:55:48

标签: matlab rendering matlab-figure surface point-clouds

我有一个点云和一系列单元格,我使用以下命令显示:

showPointCloud(RawCoors,repmat(PointValues([1,3]));
hold on
for jj=1:5
    %... calculate x,y,z for each one of 5 tracks
    surface([x;x],[y;y],[z;z],[Colors(1:ii);Colors(1:ii)],'facecol','no','edgecol','interp','linew',5,'EdgeAlpha',1);  
end

这导致了一个subpar渲染:

showpointcloud(...) hold on surface(...)

作为一种快速解决方法,我想显示点云并覆盖轨道。为此,我需要从点云中获取所有相机位置和缩放属性:

just showpointcloud(...)

并将其应用于曲目:

just surface(...)

但是,我无法像这样设置these parametersview()的正确组合

C=ax1.CameraPosition;
ax2.CameraPosition=C;

获取正确的曲目视图。

有没有办法复制所有轴属性以获得正确大小的轨道?

你有更好的方法来解决这个渲染问题吗?

1 个答案:

答案 0 :(得分:0)

来自@ Suever评论加上view()的以下参数的组合解决了这个问题:

C=Ax1.Projection;Ax2.Projection=C;
C=Ax1.CameraTarget;Ax2.CameraTarget=C;
C=Ax1.CameraPosition;Ax2.CameraPosition=C;
C=Ax1.CameraViewAngle;Ax2.CameraViewAngle=C;
C=Ax1.DataAspectRatio;Ax2.DataAspectRatio=C;
C=Ax1.PlotBoxAspectRatio;Ax2.PlotBoxAspectRatio=C;