本文整理汇总了C++中Coordinate::angleTo方法的典型用法代码示例。如果您正苦于以下问题:C++ Coordinate::angleTo方法的具体用法?C++ Coordinate::angleTo怎么用?C++ Coordinate::angleTo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Coordinate
的用法示例。
在下文中一共展示了Coordinate::angleTo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createArcBulge
Arc Arc::createArcBulge(const Coordinate &p1, const Coordinate &p2, const double bulge) {
auto isCCW = bulge>0.;
auto delta = atan(bulge) * 4.0;
auto middle = p1.mid(p2);
auto dist = p1.distanceTo(p2)/2.0;
auto radius = std::abs(dist / std::sin(delta/2.0));
auto wu = std::abs(std::pow(radius, 2.0) - std::pow(dist, 2.0));
auto h = std::sqrt(wu);
auto angle = p1.angleTo(p2);
if (isCCW) {
angle -= M_PI/2.0;
}
else {
angle += M_PI/2.0;
}
if (std::abs(delta) < M_PI) {
h*=-1.0;
}
auto center = geo::Coordinate(angle) * h + middle;
return Arc(center, radius, center.angleTo(p1), center.angleTo(p2), isCCW);
}