如何将任意长度的径向矢量更改为某个固定长度矢量(半径长或1长),仅保留其角度? 给出的是鼠标光标X,Y; radius是一个已知的常数。
我的问题是 - 我有一个鼠标拖动拨盘控制,我需要输出角度,如果是顺时针0到360,如果是逆时针,从0到-360,从鼠标点击或旋转方向改变时刻开始。 为了使其完全按照我的要求工作 - 它需要考虑仅在其圆形表盘周围移动鼠标,必须忽略鼠标移动/到圆心。
要有 - 我需要使用Vector.AngleBetween和Vector.CrossProduct,但是: 参数向量必须具有相同的长度。如何使它们长度相同?
答案 0 :(得分:0)
您可以使用Vector.Normalize()
方法获取长度为1的向量。
标准化向量保持其方向但其长度变为1。 得到的矢量通常称为单位矢量。矢量是 通过将矢量除以其自身的长度来归一化。
顺便说一句,静态Vector.AngleBetween()
方法不要求两个作为参数提供的向量具有相同的长度。