gpt4 book ai didi

c# - 从数组中创建形状的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:01:22 27 4
gpt4 key购买 nike

我正在寻找一种可以创建基于形状的算法在有坐标的数组上。我有两个 50x50 数组:一个是 x 坐标,第二个是 y 坐标。

总有 2500 点。然后我有另一个 50x50 数组,其中包含我的坐标值。

我根据值创建 3 到 6 个区域(例如 0-100、200-300 和 300-500)。具有特定值的点创建区域。

我需要一种算法来计算区域中是否只有一个形状或多个形状并用颜色填充形状。我需要它,因为我必须为每个区域填充特定颜色的形状。语言是 C#。

  1. 示例点。
  2. 预期的边缘。
  3. 预期结果

Example picture

最佳答案

基本上,您可以使用层次聚类来查找聚类。

  1. 每个点都是自己的簇
  2. 找到距离最近的两个簇并合并它们
  3. 重复直到满足结束条件

一些细节:在第 2 步中,您可以使用许多指标来查找最近的集群。所有点对的平均距离或最小距离可能是最佳选择

在第 3 步中,您可以在剩余簇数为 2(或其他数字)时停止。或者当距离超过阈值时停止。

为了找到实际的轮廓,我建议提出一些优化函数,在最小化轮廓面积的同时最小化轮廓的长度。以及一些优化功能的启发式方法。

类似于面积 - 常量*长度。

关于c# - 从数组中创建形状的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36967082/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com