最容易实现的 Voronoi 图算法? [关闭]

2024-04-16

实现 Voronoi 图的简单算法有哪些?

我找不到任何专门以伪形式出现的算法。请分享一些 Voronoi 图算法、教程等链接。


计算点集 Delaunay 三角剖分的简单算法是翻转边缘 http://www.cise.ufl.edu/~ungor/delaunay/delaunay/node5.html。由于 Delaunay 三角剖分是 Voronoi 图的对偶图,因此您可以在线性时间内根据三角剖分构造该图。

不幸的是,翻转方法的最坏情况运行时间是 O(n^2)。存在更好的算法,例如 Fortune 的线扫描,它需要 O(n log n) 时间。但这实施起来有些棘手。如果您很懒(像我一样),我建议您寻找 Delaunay 三角剖分的现有实现,使用它,然后计算对偶图。

一般来说,关于该主题的一本好书是计算几何 https://rads.stackoverflow.com/amzn/click/com/3540779736德伯格等人。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最容易实现的 Voronoi 图算法? [关闭] 的相关文章

  • 贪心算法的使用示例?

    贪心算法有什么用 一个真实的例子 最小生成树 Prim http en wikipedia org wiki Prim s algorithm的算法和克鲁斯卡尔的 http en wikipedia org wiki Kruskal s a
  • 如何在代码生成过程中简化包含变量的 C 风格算术表达式?

    我正在尝试优化编译器中的表达式求值 算术表达式都是C风格的 并且它们可以包含变量 我希望尽可能简化表达 例如 3 100 A B 100 3 100可以简化为409 300 A B 主要取决于分配律 结合律和交换律 我遇到的主要困难是如何将
  • 如何检查一个盒子是否适合另一个盒子(允许任何旋转)

    假设我有两个盒子 每个盒子都是一个长方体 http en wikipedia org wiki Rectangular cuboid aka长方体 我需要编写一个函数来决定盒子是否具有尺寸 一 二 三 可以装入具有尺寸的盒子中 甲 乙 丙
  • C# 计算LRC(纵向冗余检查)

    我一直在到处研究这个问题 所有 LRC 实现似乎都没有给我正确的答案 花了几天时间后 我决定将我的代码放在这里 看看其他人是否可以发现问题 这是代码 C Input Data 31303030315E315E31303030325E315E
  • 为无向无权图实现推重标签算法 s-t 最小割边

    我正在寻找一个好的解决方案来在无向和未加权图中找到 s t 最小切割边 我想使用推送重新标记算法 但我不确定如何实现它以在无向和未加权图上找到最小割 在每对顶点之间有两条反向边 并在所有边上赋予相同的权重 并应用推送重新标记算法 我可以用这
  • 4 x 3 锁图案

    我遇到了这个 它要求计算在 4x3 网格中可以制作特定长度的锁定图案的方式数 并遵循规则 可能有些点不能包含在路径中 有效的模式具有以下属性 图案可以使用第一次接触的点序列来表示 与绘制图案的顺序相同 从 1 1 到 2 2 的图案与图案不
  • 我想优化这个短循环

    我想优化这个简单的循环 unsigned int i while j 0 j is an unsigned int with a start value of about N 36 000 000 float sub 0 i 1 unsig
  • Bellman-Ford 算法检测什么?负重还是负循环?

    如果给定一个图 现在我们要从源头计算最短路径 现在 如果一条边具有负权重 但在到达目的地时有边到后边返回到该边 我的意思是如果没有循环 那么我们就没有负循环 但是here http en wikipedia org wiki Bellman
  • 如何设置K-means openCV c++的初始中心

    我正在尝试使用 OpenCv 和 Kmeans 对图像进行分割 我刚刚实现的代码如下 include opencv2 objdetect objdetect hpp include opencv2 highgui highgui hpp i
  • 在无向图中查找强连通分量

    我想在无向图中找到强连接的组件 即如果我从节点开始A然后我会回到节点A并且每条边都被恰好访问一次 对于有向图可以使用Tarjan算法来寻找强连通分量 但是对于无向图怎么办 我认为您错过了强连通分量的含义 强连接组件 如果所有顶点对之间都存在
  • 哪种数据聚类算法适合检测时间序列事件中未知数量的聚类?

    这是我的场景 考虑在不同地点和时间发生的一组事件 例如 考虑有人在高空记录暴风雨期间城市中的雷击 就我的目的而言 闪电是瞬时的 只能击中某些位置 例如高层建筑 还可以想象每次雷击都有一个唯一的 ID 以便以后可以参考该雷击 这个城市大约有1
  • Java:如何实现3和?

    我正在研究 3 Sum 来自己实现它 并遇到了以下规则的实现 给定一个由 n 个整数组成的数组 S S 中是否存在满足 a b c 0 的元素 a b c 查找数组中所有总和为零的唯一三元组 注意 三元组 a b c 中的元素必须按非降序排
  • 基于时间的算法评分

    我们希望创建一种评分算法 在更短的时间内获得更高的分数 在更长的时间内获得更少的分数 需要注意的是 没有实际范围 因此时间范围可以从 100 毫秒到长达 10 分钟或更长时间 点范围为 0 到 50 谢谢你的帮助 你可以简单地把它变成一个线
  • 用 Java 创建迷宫求解算法

    我被分配了用 Java 创建迷宫求解器的任务 这是任务 Write an application that finds a path through a maze The maze should be read from a file A
  • Exposé 布局算法

    我正在制作一些项目 其布局类似于 Mac OS X 在 Expos 中对窗口所做的操作 它适应项目的长宽比和可用区域的长宽比 基本上 可用区域分为行和列 每个单元格 行和列的交集 中放置一个项目 这些项目必须保持其纵横比 此处width h
  • 在 Java 中实现排列算法的技巧

    作为学校项目的一部分 我需要编写一个函数 该函数将接受整数 N 并返回数组 0 1 N 1 的每个排列的二维数组 该声明看起来像 public static int permutations int N 该算法描述于http www usn
  • 线性代数如何在算法中使用?

    我的几个同行都提到 学习算法时 线性代数 非常重要 我研究了各种算法并学习了一些线性代数课程 但我没有看到其中的联系 那么线性代数如何应用在算法中呢 例如 图的连接矩阵可以带来哪些有趣的事情 三个具体例子 线性代数是现代 3D 图形的基础
  • 在 O(n) 时间内找到 n x n 矩阵中的局部最小值

    所以 这不是我的家庭作业问题 而是取自 coursera 算法和数据结构课程的未评分作业 现已完成 You are given an n by n grid of distinct numbers A number is a local m
  • 使用C标准数学库精确计算标准正态分布的CDF

    标准 C 数学库不提供计算标准正态分布 CDF 的函数 normcdf 然而 它确实提供了密切相关的函数 误差函数 erf 和互补误差函数 erfc 计算 CDF 的最快方法通常是通过误差函数 使用预定义常量 M SQRT1 2 来表示 d
  • 如何从一组重叠的圆计算多边形集?

    这个问题是一些计算细节的扩展这个问题 https stackoverflow com questions 1667310 combined area of overlapping circles 假设有一组 可能重叠的 圆 并且希望计算这组

随机推荐

  • 动画受面板限制

    有点难以描述 但我会尽力 我有一个带有图像和标签的控件 它需要有 2 个状态 大 和 小 在 大 状态下 图像应位于控件顶部中心 标签应位于下方中心 就像带有图像和标签停靠在顶部的停靠栏一样 在 小 状态下 图像应该较小并且位于控件的左上角
  • 无法在 std::variant 中采用相同类型

    我正在使用 c 17 并且想编写这样的代码 include
  • Magento 1.7.0.0 上的 SOAP V2 url 是什么

    1 7 0 0 版本中访问 Magento SOAP V2 的 url 是否已更改 当我尝试访问 上的服务 时http www somedomain com api v2 soap wsdl 1 http www somedomain co
  • 从 Web 服务下载文件 - 在 ASP.NET 站点中

    我想使用网络服务将文件从网站推送到浏览器 我当前正在将文件读入 base64 字节数组 并从 Web 服务返回该文件 这个网络服务是从网站调用的 我一直在思考如何将其作为原始文件推送到浏览器 理想情况下 我想将字节数组读入内存流 然后如果可
  • 当超过两次下载正在进行时 HttpSendRequest 阻塞

    在我们的程序中 每次需要发出HTTP请求时都会创建一个新线程 并且可以有多个线程同时运行 我遇到的问题是 如果我已经有两个线程正在运行 它们在读取时循环InternetReadFile 打电话后HttpSendRequest 任何后续尝试调
  • pandas.to_json 以特定形式输出日期格式

    数据框中日期的原始形式是 Date 2018 09 17 12 83 12 92 12 38 12 65 12 65 1937329 0 2018 09 10 12 92 13 12 12 81 12 83 12 83 1150470 0
  • C++ boost enable_if问题

    我有什么办法可以简化以下陈述吗 可能 使用boost enable if 我有一个简单的类结构 Base基类 Derived1 Derived2继承自Base 我有以下代码 template
  • 嵌套启动 --watch 更改后不重新加载(嵌套启动 --watch 不工作)

    我安装了 Nest js 当我运行 npm run start dev 运行 start watch 时 一切正常并且出现绿色日志 问题是 当我更新代码中的某些内容时 nest 不再更新 并且卡在下图中 我确信这不是我的代码的问题 因为我在
  • Dojo 拖放:如何检索项目的顺序?

    我创建了一个 Source 对象并进行配置 通过创建者 以便它呈现一组数据供我的用户根据需要进行排序 这一切工作正常 但是 我无法弄清楚如何在用户重新排序后检索数据 getAllNodes 返回 dom 节点 我需要原始数据对象 这真的很简
  • java - 文件lastModified与读取文件

    我正在使用一个文件 并且需要在修改文件时更新 java 中的值 所以 我想使用检查修改时间lastModified of File类 如果修改 则读取文件并更新文件中的单个属性 我的疑问是 是lastModified与从文件中读取单个属性
  • 从 C# .net 调用 python.py

    我在从 C 调用 python 脚本时遇到问题 我的 python 脚本根据参数 1 和参数 2 计算一个值并发送计算出的值 我无法获得计算值 比如说 我正在使用一个简单的 python 类并调用 C 以下是 python py impor
  • C库函数获取活动线程数

    我正在用 C 语言开发一个多线程 Unix 应用程序 有没有一种简单的方法来获取同时活动线程的数量 如果库已经可以为我完成的话 我不想编写代码来跟踪活动线程的数量 我正在使用 POSIX pthreads 并且我正在尝试为 Unix 和类
  • 重命名字典中的键

    我想重命名字典的键是整数 并且我需要它们是带有前导零的整数 以便它们正确排序 例如我的钥匙是这样的 1 101 11 我需要它们是 001 101 011 这就是我现在正在做的事情 但我知道有更好的方法 tmpDict for oldKey
  • 如何在 ES6 中使用所有默认值解构选项参数?

    我将 ES6 功能与 babel 编译器一起使用 我有一个将选项对象作为参数的函数 function myFunction option1 true option2 whatever console log option1 option2
  • 如何在使用支持库时构建带有 ListView 的 AppWidget?

    我想在早期版本的 Android 上的 AppWidget 中使用 ListView 拉格纳的回答在这个问题中 https stackoverflow com questions 8846743 app widget with listvi
  • 如何删除供应商代码插入的回调?

    我正在使用的 gem 插入了一个我想删除的 after save 回调 在我看来 从数组中删除符号比用猴子补丁解决问题更干净 如何访问回调数组 class UserSession lt Authlogic Session Base Don
  • symfony 2 中相同的 url 需要多个角色

    这是我的 security yml 的访问控制列表的样子 access control path admin roles IS AUTHENTICATED FULLY path admin roles ROLE ADMIN 我想要做的是 用
  • 为什么最多 4 个元素的集合是有序的,而更大的元素则不是?

    Given val xs1 Set 3 2 1 4 5 6 7 val ys1 Set 7 2 1 4 5 6 3 xs1 and ys1两者都导致scala collection immutable Set Int Set 5 1 6 2
  • 如何使用 Homebrew cask 安装 Sublime Text 3

    如何使用 Homebrew cask 安装 Sublime Text 3 当使用 Homebrew 的搜索时 我只看到 Sublime Text 2 我什至尝试点击自制软件 版本 https github com Homebrew home
  • 最容易实现的 Voronoi 图算法? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 实现 Voronoi 图的简单算法有哪些 我找不到任何专门以伪形式出现的算法 请分享一些 Vorono