本文整理汇总了C++中vector3::dot方法的典型用法代码示例。如果您正苦于以下问题:C++ vector3::dot方法的具体用法?C++ vector3::dot怎么用?C++ vector3::dot使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vector3
的用法示例。
在下文中一共展示了vector3::dot方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: slerp
static vector3 slerp(vector3 start, vector3 end, T percent) {
T dot = start.dot(end);
dot = vector3::clamp(dot, -1.0f, 1.0f);
T theta = acos(dot) * percent;
vector3 relative = end - start*dot;
relative.normalize();
return ((start * cos(theta)) + (relative*sin(theta)));
}
示例2: get_rotation_angle
double get_rotation_angle(vector3<float> u, vector3<float> v) {
u.normalize();
v.normalize();
double cosine_theta = u.dot(v);
// domain of arccosine is [-1, 1]
if (cosine_theta > 1) {
cosine_theta = 1;
}
if (cosine_theta < -1) {
cosine_theta = -1;
}
double angle = acos(cosine_theta);
return angle;
}