本文整理汇总了C++中eigen::Ref::square方法的典型用法代码示例。如果您正苦于以下问题:C++ Ref::square方法的具体用法?C++ Ref::square怎么用?C++ Ref::square使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eigen::Ref
的用法示例。
在下文中一共展示了Ref::square方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
// convert kartesian to polar coordinates
Eigen::ArrayXd mpFlow::math::polar(Eigen::Ref<Eigen::ArrayXd const> const point) {
// calc radius
double angle = 0.0;
double radius = sqrt(point.square().sum());
// calc angle
if (point(0) > 0.0) {
angle = atan(point(1) / point(0));
}
else if ((point(0) < 0.0) && (point(1) >= 0.0)) {
angle = atan(point(1) / point(0)) + M_PI;
}
else if ((point(0) < 0.0) && (point(1) < 0.0)) {
angle = atan(point(1) / point(0)) - M_PI;
}
else if ((point(0) == 0.0) && (point(1) > 0.0)) {
angle = M_PI / 2.0;
}
else if ((point(0) == 0.0) && (point(1) < 0.0)) {
angle = - M_PI / 2.0;
}
else {
angle = 0.0;
}
Eigen::ArrayXd result(2);
result << radius, angle;
return result;
}