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