r - 使用 R 中的方位角划分 Voronoi 单元

标签 r voronoi

我使用 deldir R 包为 2D 空间中的 N 个点生成了 Voronoi 曲面分割。

Voronoi Tesselation

现在我想根据给定的方位角将每个 Voronoi 单元分成三个 Voronoi 单元,如下所示:

Voronoi Azimuth

方位角作为输入给出。例如:方位角 = 0 表示一个区域应以角度 = 0 到角度 = 120 的 2 条线分隔。下一个区域是角度 = 120 到角度 = 240 的区域,最后一个区域是余数。

方位角是该分离从北开始的角度,并且始终跨越 120 度。更详细地说,从每个点生成 Voronoi,精确地绘制三条线,将先前的 Voronoi 单元划分为三个 Voronoi 单元。

这可以使用 deldir 包来实现吗?如果没有,有人可以建议延期吗?

最佳答案

我不知道有什么简单/实现的方法可以做到这一点。但是,您可以尝试手动创建这些行。

我会尝试一些类似的事情:

  1. 使用 deldir() 访问 voronoi 多边形的边坐标
  2. 使用 sp 包将坐标转换为线对象
  3. 创建从“中心”点到绘图边界的线条对象(根据方位角计算端点)
  4. 查找 3 中创建的直线与 2 中创建的直线的交点(检查 How to get the intersection point of two vector? )
  5. 创建新的(较短的)线,从原始点开始,到第 4 步中检索到的交点结束。
  6. 绘制第 5 步中创建的线条。
  7. 循环每个多边形

这很可能是一个非常笨拙的解决方案,但这是我能想到的唯一解决方法;)

关于r - 使用 R 中的方位角划分 Voronoi 单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25485322/

相关文章:

R: mixdist 包中的 mix() 返回错误

r - 加入 3 个数据帧,其中可以存在重复的条目

r - 使用带有二项式族的 glm 更改引用组

javascript - 如何合并相邻的多边形

r - 使用来自 OpenStreetMap 的数据在 R 中构建 Voronoi 图

python - 着色 Voronoi 图

r - 在 R 中包含 zoo 包时出错

regex - R的环视lookbefore正则表达式

Python:根据 Scipy 的 3D Delaunay 三角剖分计算 Voronoi Tesselation

c++ - 如何获得 voronoi 细胞周围的点?