Rotating an entire axes in Matlab Guide
106 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am currently trying to rotate an entire axes named axes1.
imr=imrotate(img,30);
axes(this.gui_h.axes1);
imshow(imr,'Parent',this.gui_h.axes1);
The code above initiates a rotation of 30 degrees. However, the image is rotated but not the entire axes1. I have tested guide tools such as the rotate3D, however rotate3D does not work successfully for 2d images. I have also tried
set(handles.axes1,'Rotation',-25); ,
which has no effect. It simply overlooks the statement and continues with the other tasks. Is there a way to rotate the entire axes?
0 Kommentare
Antworten (2)
Jan
am 26 Feb. 2017
Bearbeitet: Jan
am 26 Feb. 2017
image(rand(100, 100, 3));
view(30, 90);
This rotates the "view", the camera the user "is looking through". Alternative:
AxesH = gca;
UpVector = [-sind(30), cosd(30), 0];
DAR = get(AxesH, 'DataAspectRatio');
set(AxesH, 'CameraUpVector', DAR .* UpVector);
For set(gca, 'Rotation', -25) I get an error message:
Error using matlab.graphics.axis.Axes/set
There is no Rotation property on the Axes class.
2 Kommentare
Jan
am 27 Feb. 2017
Images are displayed in the standard view only. You can use some of this tools, to display images even in 3D:
Siehe auch
Kategorien
Mehr zu Animation 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!