我可以使用Lloyd算法将一个多边形划分为n个多边形。假设我使用上述算法将下面的多边形划分为5个多边形,得到如下结果:-
但我想进行锚定分区,这意味着我希望每个子多边形至少包含一个边界点,如下所示:
是否已经对算法进行了修改,可以帮助我实现这一点?如何确保锚定?
如果您可以引用一些现有的Matlab/python代码而不是伪代码,这将非常有用?我在上面使用的代码就是从这里开始的,它执行普通的实现。
只是一个建议:一个简单的尝试。在正方形上定义一个势函数U(x,y)
。像这样的。您可以选择参数,使其最小值为一个圆,该圆几乎是内接在正方形中的圆。或者可以自由选择不同的潜力。给定点p1=[x1;y1],p1=[x1;y1]。。。pn=[xn;yn]
,形成2 x n矩阵
P = [p1 p2 ... pn];
让Lloyd算法的一步函数是
P_out = LA(P_in)
i、 e.给定点P_in=[p1_in p2_in…pn_in]
它生成它们的Voronoi图,然后计算每个Voronoi单元的质心p1_out,p2_out。。。,pn_out
并将输入点移动到新输出,质心点P_out=[p1_out p2_out…pn_out]
然后您可以沿电势的负梯度应用重新定位,即。
function P_out = GR(P_in)
P_out = P_in - gradU(P_in);
end
其中GRAD=gradU(P_in)
是计算每个列向量的梯度向量P_in(:,j)
并生成2 x n矩阵梯度的函数。
所以你的算法实际上就是
P_out = LA(GR(P_in));
也许这些点会倾向于广场的外围,避开中间部分,从而最终让沃罗诺伊细胞接触边界?我选择了一个势,假设在这种情况下矢量梯度场是不旋转的,所以不会有某种循环动力学出现,但是算法会收敛到某种十六向平衡构型(听起来可信,但我不确定)。
我正在尝试使用angular与主播合作,我已经做了我的研究,但没有成功,所以我正在联系你们。 我有 3 个组件 {导航栏组件, 红色组件, 蓝色组件} 导航栏组件有 2 个锚点。我希望当我单击其中一个时,它实际上会将我引导到正确的组件 导航栏组件.ts 红色. component.ts blue.component.ts app.component.html 应用程序模块
关联分析 关联分析是一种在大规模数据集中寻找有趣关系的任务。 这些关系可以有两种形式: 频繁项集(frequent item sets): 经常出现在一块的物品的集合。 关联规则(associational rules): 暗示两种物品之间可能存在很强的关系。 相关术语 关联分析(关联规则学习): 从大规模数据集中寻找物品间的隐含关系被称作 关联分析(associati analysis) 或者
关联分析 关联分析是一种在大规模数据集中寻找有趣关系的任务。 这些关系可以有两种形式: 频繁项集(frequent item sets): 经常出现在一块的物品的集合。 关联规则(associational rules): 暗示两种物品之间可能存在很强的关系。 相关术语 关联分析(关联规则学习): 从大规模数据集中寻找物品间的隐含关系被称作 关联分析(associati analysis) 或者
介绍 CBA算法全称是Classification base of Association,就是基于关联规则进行分类的算法,说到关联规则,我们就会想到Apriori和FP-Tree算法都是关联规则挖掘算法,而CBA算法正是利用了Apriori挖掘出的关联规则,然后做分类判断,所以在某种程度上说,CBA算法也可以说是一种集成挖掘算法。 算法原理 CBA算法作为分类算法,他的分类情况也就是给定一些预先
问题内容: NumPy / SciPy或相关库中是否有类似Matlab的函数? 以供参考。Procrustes分析的目的是对齐2组点(换句话说,是2个形状),以通过消除缩放,平移和旋转扭曲分量来最小化它们之间的平方距离。 Matlab中的示例: NumPy中的相同任务: 注意:我只对对齐的形状感兴趣,因为平方误差(在Matlab代码中可变)很容易从2个形状中计算出来。 问题答案: 我不知道Pyth
在我正在开发的应用程序中,我需要知道一串单词是否是名词短语、动词短语等。我知道NP和VP既不是依赖项,也不是位置。我也知道要做到这一点,我可能需要某种分块工具,但我找不到任何开源工具。 在SyntaxNet输出的“她真的很喜欢可爱的黑狗”一句中: 我注意到NP“可爱的黑狗”已经放在了自己的树节点中: 所以我想知道是否有任何方法可以将SyntaxNet用作chunker?