在python3中,距离立方体中其他n个点最远的点

2024-03-28 13:36:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想找出一个三维立方体中距离n个其他点最远的点。我试着到处玩科学空间沃罗诺,但我想不通(我得到的答案在立方体外面)。我对这类数学不是很在行,如果你能给我介绍一个做大部分数学的图书馆或一些我可以复制的代码,我将不胜感激。你知道吗

编辑:我知道申请图书馆是多么离题,当然,所有有用的答案都将不胜感激!多亏了马修的回答,我想我对我的问题有了更好的理解。你知道吗

我尝试的是:

import numpy as np
from scipy.spatial import Voronoi

def get_points(points)
    np_points = np.array(points)
    vor = Voronoi(np_points)
    fartest_point = None
    fartest_point_length = np.inf
    for vertex in vor.vertices:
        min_length = np.inf
        for p in points:
            length = norm(p-vertex)
            if length < min_length:
                min_length = length
        if min_length < fartest_point_length:
            fartest_point = vertex
            fartest_point_length = min_length
    return fartest_point

points = [[2, 3, 5], [8, 2, 6], [10, 3, 5], [2, 3, 2], ...]
point = get_points(points)

问题是我在立方体外得到点。我想问题是我没有得到区域与立方体边缘接触的点。你知道吗


Tags: 答案importget图书馆np数学minlength
1条回答
网友
1楼 · 发布于 2024-03-28 13:36:11

我没有一些代码可以提供给您,但我可以分享我对您的问题的理解:

find the point[s] farthest away from n other points within a three dimensional cube

我也相信Voronoi是一个很好的方法来解决你的问题,但它并不像Voronoi图的顶点那样简单。你知道吗

首先,正如你在wikipedia的例子中看到的那样,即使所有的点都在一个正方形内,Voronoi图中的一些顶点也会在正方形外(例如右上角的紫色区域会有一个顶点在外),所以立方体外的一些顶点是正常的。你知道吗

在您的问题中,有两种顶点是距离最远的候选顶点:

  1. 立方体内部的Voronoi顶点
  2. 区域之间相交的顶点超出 立方体和立方体的边界:在维基百科的例子中 这将是所有的点,分开的地区和接触 边界

然后需要计算这些候选点与最近点之间的距离,然后推断出最远点。你知道吗

祝你好运解决你的问题,希望对你有帮助

NB:最大的空球问题是不同的,如果你取一个正方形和两点,一个顶点和正方形的中心,你想返回相反的顶点

相关问题 更多 >