我在3-D轴上有一个坐标为x,y,z的对象。我想在对象上移动指针。我知道有一个未记录的函数称为moveptr,但不幸的是它不支持3-D轴。我试图将3D坐标投影到轴的2D坐标上,但是感觉不对,结果是错误的,即将指针移动到错误的位置。
mvpt= view * [x y z 1]'
mvpt=mvpt(1:2)
moveptr(handle(gca),'init')
moveptr(handle(gca),'move',mvpt(1),mvpt(2))
还有其他建议吗?
最佳答案
我认为您应该在2D轴上覆盖3D对象投影的同一图。这不完全是您在这里所做的事情,而且我不知道视图的单个输出是什么(我在3D工作中始终使用方位角和高程...)
在其他地方已经说明了如何将3D结构投影到2D:http://www.mathworks.com/matlabcentral/newsreader/view_thread/169417
然后,您可以在新轴上使用moveptr,然后删除2D图和轴。它有点脏,但是应该可以。
关于matlab - 将指针移到对象上(MATLAB),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13235056/