rotate3d not working properly with matlab GUI and pcshow function

3 vues (au cours des 30 derniers jours)
Lennart Hinz
Lennart Hinz le 19 Avr 2018
Commenté : Joel Berkson le 3 Juil 2024
Hey! I'm trying to create a GUI to visualize and postprocess some data (ASCII pointcloud). Unfortunately the rotate3d function does not work the intended way when dealing with GUI elements and pcshow. There seems to be an issue with the button up callback. On one hand, the rotation of the axis is somehow buggy (everytime I klick again, it jumps to another view) and on the other hand, the cursor does not change when leaving the axis.
I tried this on several machines. It occours on r2017b and r2016b. On r2015b, the rotation works perfect, but the cursor still does not change.
plot3 and scatter3 are working fine but are not suitable for my application.
I added two files with an mwe to help spotting the issue.
Thank you for your help.
  2 commentaires
Louise Clark
Louise Clark le 24 Oct 2018
I also have this same issue on r2018b, in my GUI I am loading a .ply file using pcshow() but again, the axis wont rotate 3D.
I have tried
rotate3d(axis_handle, 'on');
which stops the error messages showing when I try to rotate, but otherwise I get the same issue with the button up callback.
Did you manage to solve this issue?
Veronica Taurino
Veronica Taurino le 2 Mai 2022
Modifié(e) : Veronica Taurino le 3 Août 2022
Did someone manage to solve this? In particular ''everytime I click again, it jumps to another view''

Connectez-vous pour commenter.

Réponses (1)

Adam Danz
Adam Danz le 26 Avr 2024
Modifié(e) : Adam Danz le 6 Juin 2024
> ...the rotation of the axis is somehow buggy (everytime I klick again, it jumps to another view) and ... the cursor does not change when leaving the axis.
R2024a Update
The following improvements were made to rotation with point clouds in R2024a:
  • Rotation now requires clicking within the axes. Previously, you could click and rotate from anywhere in the figure which does not work nicely when the figure has sub plots.
  • The above eliminates the jump in rotation when the mouse clicks outside of the axes within the figure.
The cursor behavior has not changed.
  3 commentaires
Adam Danz
Adam Danz le 6 Juin 2024
Hello @Joel Berkson. I just tested the following in R2024a and I have no problem with rotation.
To access xyzPoints.mat, call openExample('vision/CreatePointCloudObjectAndInspectPropertiesExample')
load("xyzPoints");
ptCloud = pointCloud(xyzPoints);
tiledlayout(2,2)
ax = nexttile();
pcshow(ptCloud)
If you're calling rotate3d, that may be toggling the rotation interaction off. If you're having trouble rotating the point cloud using this demo, please contact tech support.
Joel Berkson
Joel Berkson le 3 Juil 2024
I am only experienceing this problem in App Designer. Using 'Parent' as UIAxes creates this problem, I instead create an axes(app.Panel) in my app startupFcn and that seems to work. But, when I am in rotate mode, the cursor is in rotate mode across the entire app, not just in the axes.

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by