提高两点之间的几何角度

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 现在公开了方位角。谢谢大家!

【讨论】:

以上是关于提高两点之间的几何角度的主要内容,如果未能解决你的问题,请参考以下文章

Interstellar … Fantasy (计算几何)

Interstellar … Fantasy (计算几何)

Interstellar … Fantasy (计算几何)

几何角度理解线性插值和双线性插值

初中几何最短路径绝招现学现用

初中数学几何推理大梳理