本文整理汇总了C++中vector3::cross方法的典型用法代码示例。如果您正苦于以下问题:C++ vector3::cross方法的具体用法?C++ vector3::cross怎么用?C++ vector3::cross使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vector3
的用法示例。
在下文中一共展示了vector3::cross方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: origin
Scanline::Scanline(const vector3& origin, const vector3& direction, const vector3& lateral_dir, float timestamp) :
origin(origin), direction(direction), lateral_dir(lateral_dir), timestamp(timestamp) {
elevational_dir = lateral_dir.cross(direction);
// TODO: Should all vectors be normalized here?
if (!is_orthogonal()) throw std::runtime_error("Invalid Scanline: Not orthogonal unit vectors");
if (!is_normalized()) throw std::runtime_error("Invalid Scanline: Not unit length vectors");
}
示例2:
vector3<float> get_rotation_axis(vector3<float> u, vector3<float> v) {
u.normalize();
v.normalize();
// fix linear case
if (u == v || u == -v) {
v[0] += 0.1;
v[1] += 0.0;
v[2] += 0.1;
v.normalize();
}
return u.cross(v);
}