Getting camera viewing data in real time

조회 수: 3(최근 30일)
Pelajar UM
Pelajar UM 2022년 3월 18일
편집: Konrad 2022년 3월 18일
Is there a way to get the following data from a 3D plot in real time as I move the view?
app.UIAxes.View;
app.UIAxes.CameraPosition;
app.UIAxes.CameraTarget;
app.UIAxes.CameraUpVector;
app.UIAxes.CameraViewAngle;
Basically I want to adjust the view on a single plot and then pass the data to other plots. So that I don't have to adjust them one by one.

채택된 답변

Konrad
Konrad 2022년 3월 18일
편집: Konrad 2022년 3월 18일
Hi,
you can link the Camera-properties of the axes:
figure; ah(1) = axes;
figure; ah(2) = axes;
plot3(ah(1),rand(10,1),rand(10,1),rand(10,1),'*');
plot3(ah(2),rand(10,1),rand(10,1),rand(10,1),'*');
linkprop(ah,{'CameraPosition','CameraTarget','CameraUpVector','CameraViewAngle'});
EDIT:
It seems that zooming behaves odd using the above code (with 'CameraUpVector' and 'CameraViewAngle'). To synchronize zooming better use:
linkprop(ah,{'CameraPosition','CameraTarget','Xlim','Ylim','ZLim'});
Best, Konrad

추가 답변(0개)

범주

Find more on Visual Exploration in Help Center and File Exchange

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by