我想知道如何在C ++中有效地标准化向量。到目前为止,这就是我所拥有的。有没有一种方法可以使其更高效和/或一次通过。
getListFact
答案 0 :(得分:1)
有很多方法可以优化此算法的实现,具体取决于问题的具体情况。
此外,通过将操作与规范化融合,可以更快地获得快得多的代码。假设您要添加两个向量并将结果标准化。您可以一次计算它们的总和及其大小,然后在一秒钟内进行缩放。
答案 1 :(得分:0)
如何一次完成。很明显,您不需要使用所有项目来计算public Image image;
public void WheelClicker()
{
image.gameObject.transform.DORotate(new Vector3(0, 0, image.gameObject.transform.rotation.z + 90), 1);
}
,并且在更新项目之前必须已经计算了它?
由于除法可能要比乘法更多,因此可能的优化方法是添加:
mag
然后您可以将类似的项目相乘:
double mag_inv = 1.0 / mag;
如果向量已经被归一化的可能性相对较高,则可能要检查output[i] = arr[i] * mag_inv;
是否等于1.0。