自学内容网 自学内容网

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));
}

原文地址:https://blog.csdn.net/wenwang88/article/details/142357103

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!