8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

是否可以仅根据点到区域划分曲线的最小距离将点划分为区域?

Ozkan 1月前

31 0

我有一组平面上已知坐标的散点(见示意图),以及将整个平面划分为区域(R1-R5)的四条曲线(C1-C4)。我还知道最小距离......

我有一组平面上已知坐标的散点(见示意图),以及将整个平面划分为区域(R1-R5)的四条曲线(C1-C4)。我还知道 每个点到每条曲线的最小距离 。有没有办法仅基于这些信息来估计该点属于哪个区域?我想用 Python 编写代码来做到这一点。我的想法是,首先找出每个点的最小距离 - 这会缩小该点属于哪个区域的选项范围。但那么我怎么知道点落在曲线的哪一侧?例如,点 A 和点 B 到曲线 C3 的最小距离 d1 和 d2 均最小,这意味着它们要么在区域 R3 要么在 R4,但有没有办法缩小哪个区域?好奇想知道这里是否有任何解决方案,或者是否需要更多信息来解决这个问题。enter image description here

编辑:这是一个示例代码。我稍微简化了一下。数据存储在数据框中:

columns = ['Point', 'x', 'y', 'd1','d2','R']
data = [("A",1.5, 3.5, 1.2, 2.8, "NA"), ("B",3.5, 2.5, 0.8, 0.7, "NA"), ("C", 3.0, 0.5, 2.1,0.5,"NA")]
df = pd.DataFrame(data, columns=columns)

区域名称如下:

regions=["R1","R2","R3"]

输出数据框应该是:

output_columns = ['Point', 'x', 'y', 'd1','d2','R']
output_data = [("A",1.5, 3.5, 1.2, 2.8, "R1"), ("B",3.5, 2.5, 0.8, 0.7, "R2"), ("C", 3.0, 0.5, 2.1,0.5,"R3")]
output_df = pd.DataFrame(output_data, columns=output_columns)

enter image description here

帖子版权声明 1、本帖标题:是否可以仅根据点到区域划分曲线的最小距离将点划分为区域?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Ozkan在本站《algorithm》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我认为您无法使用提供的数据来做到这一点,因为曲线 C4(在彩色图上)可能非常远,使得 A 离这个 C4 非常远,并且更靠近 C2。

    我认为您需要生成一个新点,即 C3 上最接近 A 的点,将此点称为 D。

    Addition of point D

    然后您可以找到 D->C4 的距离,将其与 A->C4 进行比较以确定 A 的区域。

    更一般地,我认为您需要从基于 A 创建的点增加至少一个距离。

    编辑:我确信这是不可能的,因为这个

    与此距离相同

    enter image description here

    但不同地区

  • 这些曲线是否受到任何限制?例如,它们是同心圆的部分,甚至可能是半径相等的增量?或者这些是任意曲线,包括“波浪形”曲线(即像正弦曲线一样曲折)?

  • 有趣的问题!您能否添加一些代码来显示每条曲线和每个点之间的最小距离是如何存储的?否则,涉及的决策太多,因此这对于 SO 来说不是一个可行的编程问题。数据示例和预期结果也会有所帮助。

返回
作者最近主题: