- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我将使用包含数千个点的集合。我可以实现或使用 Fortunes Algorithm 的现有实现来生成点的 Voronoi 图,但我的应用程序还要求我了解每个 Voronoi 单元的邻接关系。
更具体地说,对于任何 Voronoi 单元,我需要知道与其相邻的单元。在这一点上,我不关心输出或存储方法,因为我可能会调整一个实现以对我有利。
有没有人知道一种算法,或者更好的是知道可以完成小区邻接确定的已实现算法?我将要做的工作是用 python,但任何东西都会很棒,因为我可以轻松翻译代码。
谢谢!
最佳答案
尽管这是一个老问题,但我一直在寻找相同的问题,并认为答案可能对某些人仍然有帮助。可以使用 scipy
模块中的 Delaunay
。
from scipy.spatial import Delaunay
from collections import defaultdict
import itertools
points=[[0.0, 0.0], [0.0, 1.0], [0.2, 0.5], [0.3, 0.6], [0.4, 0.5], [0.6, 0.3], [0.6, 0.5], [1.0, 0.0], [1.0, 1.0]]
tri = Delaunay(points)
neiList=defaultdict(set)
for p in tri.vertices:
for i,j in itertools.combinations(p,2):
neiList[i].add(j)
neiList[j].add(i)
for key in sorted(neiList.iterkeys()):
print("%d:%s" % (key,','.join([str(i) for i in neiList[key]])))
0:1,2,5,7
1:0,8,2,3
2:0,1,3,4,5
3:8,1,2,4,6
4:2,3,5,6
5:0,2,4,6,7
6:8,3,4,5,7
7:8,0,5,6
8:1,3,6,7
# This is for visualization
from scipy.spatial import Voronoi, voronoi_plot_2d
import matplotlib.pyplot as plt
vor = Voronoi(points)
voronoi_plot_2d(vor)
for i,p in enumerate(x):
plt.text(p[0], p[1], '#%d' % i, ha='center')
plt.show()
关于python - 确定和存储 Voronoi Cell Adjacency,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9651940/
我在R中有一个示例代码,如下所示: library(igraph) rm(list=ls()) dat=read.csv(file.choose(),header=TRUE,row.names=1,c
我有一组字符串,需要构建一个图,其中字符串是节点,任何一对相邻字符串之间都有边。 对于字符串 A 和 B 如果通过添加、删除或替换 A 的单个字符,则称其为 adjacent (在任何位置)你得到 B
在此代码中,我首先描述了 int a 并为其赋值 9,然后我声明了另一个 int b,然后我将值 3 赋给 *(&b-1) 所以 (&b-1) 指的是 &a然后我打印 a 的值然后它只打印 9 但是当
我有一个这样的文本文件: A B C 每个元素都有这样的子集: A = { a1, a2, a3 } B = { b1, b2 } C = { c1, c2, c3 } 我想生成这个: a1,
题目地址:https://leetcode.com/problems/flower-planting-with-no-adjacent/ 题目描述 Youhave N gardens, label
我有一个内部表,里面有 108 个条目。从 9 到 9 个条目重复条目,我想删除这些重复项。由于它们完全相同,我使用了 delete adjacent duplicates from itab com
我正在准备编码面试,并且正在刷新我对图表的看法。我想知道以下内容:在我所见过的所有地方,假设邻接列表比大型稀疏图的邻接矩阵的内存效率更高,因此在这种情况下应该是首选。此外,计算一个节点的出边数需要矩阵
我正在创建一个邻接矩阵来在 R 中进行空间分析。数据是美国大陆的所有县。我从美国人口普查老虎文件中获得了县空间多边形。 我能够创建邻居列表,并且它是对称的。但是当我将其转换为邻接矩阵时,它不是对称的。
这个问题在这里已经有了答案: Is there a "previous sibling" selector? (33 个答案) 关闭 6 年前。
需要一些关于 CSS 选择器的帮助,因为我还不确定如何在 CSS 中表达它。当 :invalid 伪类出现在 input 元素上时(当然在没有 时被隐藏),我如何让最后一个跨度“错误”显示出来:inv
我将使用包含数千个点的集合。我可以实现或使用 Fortunes Algorithm 的现有实现来生成点的 Voronoi 图,但我的应用程序还要求我了解每个 Voronoi 单元的邻接关系。 更具体地
我有一个表示为 Map> 的依赖关系图(在 Java 中,或 f(Node n) -> Collection[Node] 作为函数;这是从给定节点 n 到依赖于 n 的节点集合的映射)。该图可能是循环
题目地址:https://leetcode.com/problems/remove-all-adjacent-duplicates-in-string/ 题目描述 Given a string S
在Excel中,具有以下函数: =IF(AND(N3=1,ISNUMBER(D3),ISNUMBER(E3)),SUM(D3:E3)-2,IF(AND(N3=1,D3="",E3=""),G3,IF(
这个问题在这里已经有了答案: Is there a "previous sibling" selector? (32 个答案) 关闭 6 年前。 在下面的代码中,如果存在“subnav”类,我该如何
我需要检查数字是否在字母旁边,如果是,则添加下划线。 例如: Grapes23 --> Grapes_23 我已经尝试了很长时间,但我是正则表达式的新手。我试过这个但它不起作用: str=str.re
我有以下问题 给定一个字符串,返回一个“清理过”的字符串,其中相同的相邻字符已减少为单个字符。所以 "yyzzza" 产生 "yza"。 stringClean("yyzzza") → "yza"
我正在尝试对齐右侧的按钮以适合与电子邮件文本框相邻的位置。 但是,它对我不起作用。 fiddler : https://jsfiddle.net/Vimalan/mt30tfpv/4/
我真的找不到关于我的问题的任何信息,主要是因为我对 CSS 的了解不够,无法正确表达搜索查询,如果有人问我,我很抱歉。 我正在尝试按以下方式对相邻的同级选择器进行分组,以便任何其他元素后面的任何标题都
我得到的 Test 和 Hello 都是红色的,但是我只在第一个 div 上应用了 class2。 这是我的代码: .class1 { padding-top: 20px; } .class2 {
我是一名优秀的程序员,十分优秀!