提高两点之间的几何角度
Posted
技术标签:
【中文标题】提高两点之间的几何角度【英文标题】:boost geometry angle between two points 【发布时间】:2020-11-02 02:36:11 【问题描述】:我正在使用增强几何 (1.74),并且有很多使用 distance
算法的示例,这很棒。我一直在努力寻找计算两点之间角度(方位角)的示例。
看起来 atan2 函数在 details/azimuth.hpp 中使用,但没有像距离算法一样在 API 上公开。
所以我的问题是,如何使用 boost 几何来计算两点之间的角度?
提前致谢。
布赖恩
【问题讨论】:
【参考方案1】:关于details/azimuth.hpp
中的atan2
函数,您说得很对。
两点之间的角度(方位角)通常称为方位角。
它在文件中定义:您引用的<boost/geometry/algorithms/detail/azimuth.hpp>
,但不幸的是它没有在boost algorithms的文档中列出。
您应该可以在此处将其称为distance
:https://www.boost.org/doc/libs/1_74_0/libs/geometry/doc/html/geometry/quickstart.html
但是,由于它是在 detail
命名空间中定义的,您可能必须使用 boost::geometry::detail
命名空间或显式调用它,例如:
auto bearing = boost::geometry::detail::azimuth<double>(a, b);
【讨论】:
我会犹豫宣传未记录的实现细节(不是公共 API 的一部分),因为它们可能具有同样未记录的限制/前置/后置条件,并且不必在版本上保持稳定。仍然 +1 @sehe 你对azimuth
算法的状态提出了一个很好的观点。我刚刚提出了以下问题:github.com/boostorg/geometry/issues/771 关于它。感谢您的支持。【参考方案2】:
Boost v1.76 现在公开了方位角。谢谢大家!
【讨论】:
以上是关于提高两点之间的几何角度的主要内容,如果未能解决你的问题,请参考以下文章