In 3D plot, how do I set the vertical axis to be y-axis down, z-axis forward and x-axis right?
27 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
My hybrid 3D curves and images were drawn together, and I initially succeeded in drawing the result I wanted below, but the only thing missing was the y-axis and z-axis orientation. how do I set the vertical axis to be y-axis down, z-axis forward and x-axis right?(i.e. the physical coordinate system of the camera),your answer would be great appreciately!
%% x,y,z axis is located origin
% https://ww2.mathworks.cn/matlabcentral/answers/386936-change-x-y-z-axes-position-in-a-3d-plot-graph
hAxis = gca;
hAxis.XRuler.FirstCrossoverValue = 0; % X crossover with Y axis
hAxis.XRuler.SecondCrossoverValue = 0; % X crossover with Z axis
hAxis.YRuler.FirstCrossoverValue = 0; % Y crossover with X axis
hAxis.YRuler.SecondCrossoverValue = 0; % Y crossover with Z axis
hAxis.ZRuler.FirstCrossoverValue = 0; % Z crossover with X axis
hAxis.ZRuler.SecondCrossoverValue = 0; % Z crossover with Y axis
hAxis.Parent.Color=[1,1,1];
view(3);
box off;grid off;hold on;
%% space curve
t = -300:.1:400;
y = 200*sin(t/30);
z = 200*ones(size(t));
plot3(hAxis,t,y,z)
axis([-300,600,-300,600,0,200])
%% space image
img = imread("peppers.png");
image(hAxis,img)
%% adjust to show axes label
xlabel("x");ylabel("y");zlabel("z")
hAxis.YDir="reverse";
hAxis.ZDir = "reverse";
hAxis.XAxis.Label.Position=[hAxis.XLim(end),0,0];
hAxis.YAxis.Label.Position=[0,hAxis.YLim(end),0];
hAxis.ZAxis.Label.Position=[0,0,hAxis.ZLim(end)];
hAxis.LabelFontSizeMultiplier=3;
NOTES:
The following rendering should be oriented like the red arrow I drew by hand,not black,(The default rotation has the z-axis facing forward instead of the default z-axis vertical, just like matlab's built-in functions pcshow, pcplayer, etc. have the verticalAxis property to control the axis orientation)
6 Kommentare
Antworten (0)
Siehe auch
Kategorien
Mehr zu Title finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!