c - 查找多边形内侧的算法

标签 c math vector vector-graphics cad

<分区>

在我的类似 CAD 的应用程序中,我有不同种类的二维多边形。它们可以是凹的或凸的,可以顺时针或逆时针绘制。

现在我想找出这样一个多边形的内侧在哪里,这意味着在开始时我想添加一个 vector ,它与下一个 vector 成 90 度角但指向多边形的内侧。

那么:知道如何计算这个并找到这个额外 vector 的内侧吗?

谢谢!

最佳答案

给定多边形的 n 个边 vector v_1, ..., v_n,您可以按如下方式找到内侧:

  1. 对于 i 从 1 到 n 计算 v_i, v_(i+1) 之间的角度(对于 i=n 使用 v_n 和 v_1 代替)
  2. 总结这些角度

如果总和为 2pi/-2pi(或 360/-360 度),则内侧位于“向右/向左”

关于c - 查找多边形内侧的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53442195/

相关文章:

javascript - 获取下一个最接近小数的数字

matlab - 根据元胞数组中的内容查找列索引

c - 带指针的二维数组

c++ - 如何在 Visual Studio 调试器中显示动态分配的数组?

php - 试图在 PHP 中创建类似于近似子集和表的算法

java - 为什么 Math.floor 返回一个 double 值?

c++ - Isstringstream 不适用于整数

c++ - 在多维数组中对 .csv 进行排序

c - 在函数 block 外声明的 C 中的自动存储类变量

c - C语言找零需要多少分钱