本文整理汇总了C++中Quaterniond::vec方法的典型用法代码示例。如果您正苦于以下问题:C++ Quaterniond::vec方法的具体用法?C++ Quaterniond::vec怎么用?C++ Quaterniond::vec使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Quaterniond
的用法示例。
在下文中一共展示了Quaterniond::vec方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: v
/*! Return the angular velocity at the specified time (TDB). The default
* implementation computes the angular velocity via differentiation.
*/
Vector3d
RotationModel::angularVelocityAtTime(double tdb) const
{
double dt = chooseDiffTimeDelta(*this);
Quaterniond q0 = orientationAtTime(tdb);
Quaterniond q1 = orientationAtTime(tdb + dt);
Quaterniond dq = q1.conjugate() * q0;
if (std::abs(dq.w()) > 0.99999999)
return Vector3d::Zero();
return dq.vec().normalized() * (2.0 * acos(dq.w()) / dt);
#ifdef CELVEC
Vector3d v(dq.x, dq.y, dq.z);
v.normalize();
return v * (2.0 * acos(dq.w) / dt);
#endif
}