本文整理汇总了C++中vec3::length_sq方法的典型用法代码示例。如果您正苦于以下问题:C++ vec3::length_sq方法的具体用法?C++ vec3::length_sq怎么用?C++ vec3::length_sq使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vec3
的用法示例。
在下文中一共展示了vec3::length_sq方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
quat::quat(const vec3 &from,const vec3 &to)
{
float len=sqrtf(from.length_sq() * to.length_sq());
if(len<0.0001f)
{
w=1.0f;
return;
}
w=sqrtf(0.5f*(1.0f + from.dot(to)/len));
v=vec3::cross(from,to)/(len*2.0f*w);
}
示例2: line_sphere_intersect
inline bool line_sphere_intersect(const vec3 &start, const vec3 &end, const vec3 &sp_center, const float sp_radius)
{
const vec3 diff = end - start;
const float len = nya_math::clamp(diff.dot(sp_center - start) / diff.length_sq(), 0.0f, 1.0f);
const vec3 inter_pt = start + len * diff;
return (inter_pt - sp_center).length_sq() <= sp_radius * sp_radius;
}