相关疑难解决方法(0)

Python,Pairwise'distance',需要一种快速的方法来实现它

对于我博士的侧面项目,我参与了使用Python建模一些系统的任务.效率明智,我的程序遇到了以下问题的瓶颈,我将在最小工作示例中公开.

我处理由其3D起点和终点编码的大量段,因此每个段由6个标量表示.

我需要计算成对最小的段间距离.在该源中找到两个段之间的最小距离的解析表达式.致MWE:

import numpy as np
N_segments = 1000
List_of_segments = np.random.rand(N_segments, 6)

Pairwise_minimal_distance_matrix = np.zeros( (N_segments,N_segments) )
for i in range(N_segments):
    for j in range(i+1,N_segments): 

        p0 = List_of_segments[i,0:3] #beginning point of segment i
        p1 = List_of_segments[i,3:6] #end point of segment i
        q0 = List_of_segments[j,0:3] #beginning point of segment j
        q1 = List_of_segments[j,3:6] #end point of segment j
        #for readability, some definitions
        a = np.dot( p1-p0, p1-p0)
        b = np.dot( p1-p0, q1-q0)
        c = np.dot( q1-q0, q1-q0) …
Run Code Online (Sandbox Code Playgroud)

python binary performance distance

7
推荐指数
1
解决办法
2610
查看次数

标签 统计

binary ×1

distance ×1

performance ×1

python ×1