c++ - 多边形 C++ 的凸性?

标签 c++ algorithm polygon computational-geometry convex

<分区>

我如何才能通过知道多边形的点来测试多边形是否是 与他们在 C++ 中的坐标?

最佳答案

对于多边形的每一边,计算线方程 (Ax+By+C=0) 并检查(将 xy 放入方程并得到它的符号),所有点都来自它的一侧。

编辑: 如果旅行凸多边形,您将始终在每个点上向一个方向(向左或向右)旋转。 使用叉积,您可以简单地推断出下一回合您将旋转到哪一侧(负或正)。如果三个连续点的所有叉积都具有等号,那么您的多边形是凸的。

关于c++ - 多边形 C++ 的凸性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15190810/

相关文章:

c# - 挑战 - Ninjascript C# 接口(interface)与 C++ dll

algorithm - OpenCV线拟合算法

python - 统一成本解决方案中的算法问题

vb.net - 帮助加速这个算法?埃拉托色尼筛法

javascript - 如何监听用户在 Google Maps v3 中绘制多边形的开始?

用于绘制具有透明度的 2d 的 C++ 快速库

c++ - 为什么 vsperfmon 告诉我被调用函数的包含时间比根函数的包含时间长?

c++ - 搜索/迭代 boost::spirit::qi::symbols

matlab - 按顺时针顺序检测非凸多边形的角坐标 MATLAB

c++ - 尽管有错误,glDebugMessageCallback 不会被调用