问题描述
笔者在用MATLAB画箭头的时候,发现quiver3指令画出的箭头长度与实际不符,具体表现如下:
我们先画一个从(0,0,0)到(10,10,10)的箭头,
quiver3(0,0,0,10,10,10);
运行结果如下:
这里可以发现,实际显示中箭头的末端并不是在(10,10,10)的位置,而是在(9,9,9)的位置。
解决方法
解决方法很简单,在代码的后面加个“1”即可,表示缩放比例为1,即无缩放,具体效果如下:
还是画一个从(0,0,0)到(10,10,10)的箭头,但是在代码后面加上“1”,
quiver3(0,0,0,10,10,10,1);
运行结果如下:
可以看到,这次运行的结果就变正常了,箭头的末端处于(10,10,10)的位置。
个人猜测,发生此现象的原因是quiver3代码在不进行设置时,默认会自动缩放,从而使生成的箭头与实际代码不符。