Unity坐标系求向量的模长
Unity坐标系求向量的模长 public float sqrMagnitude;
返回该向量的平方长度。(只读)
向量 v
的大小以 Mathf.Sqrt(Vector3.Dot(v, v)) 方式进行计算。 但是,Sqrt 计算相当复杂, 执行时间比普通算术运算要长。 计算平方数代替使用 magnitude 属性要快得多 - 计算基本相同,只是消除了执行缓慢的 Sqrt 调用。 如果您只将大小用于比较距离的目的,则也可以将平方数与距离的平方进行比较, 因为这种比较也会给出相同的结果。
inline float MagnitudeSqr(glm::vec3 v)//模长平方
{
return Dot(v, v);// q.x*q.x+q.y*q.y+q.z*q.z
}
inline float Magnitude(glm::vec3 v)//模长
{
return glm::sqrt(MagnitudeSqr(v));
}
inline float MagnitudeSqr(glm::vec3 v)//模长平方 { return Dot(v, v);// q.x*q.x+q.y*q.y+q.z*q.z } inline float Magnitude(glm::vec3 v)//模长 { return glm::sqrt(MagnitudeSqr(v)); }
inline float MagnitudeSqr(glm::vec3 v)//模长平方 { return Dot(v, v);// q.x*q.x+q.y*q.y+q.z*q.z } inline float Magnitude(glm::vec3 v)//模长 { return glm::sqrt(MagnitudeSqr(v)); }