我正在尝试生成一个有效的代码,用于生成许多随机位置向量,然后使用这些位置向量来计算成对的相关函数。我想知道是否有直接的方法来限制放置在我的盒子中的任何两个点之间允许的最小距离。
我目前的代码如下:
def pointRun(number, dr):
"""
Compute the 3D pair correlation function
for a random distribution of 'number' particles
placed into a 1.0x1.0x1.0 box.
"""
## Create array
在python中是否有任何有效的库函数来查找一对最近/最远的点?输入是一个位于k维立方体边大小为1的点的列表。为了找到最近的点,下面的代码花费了太多的时间。TC: O( n**2 *k),其中n是输入的大小。在我的例子中,输入n约为4000,k值约为300。
def euclid_dist( p1, p2 ):
val = 0
for i in range(len(p1)):
val += (p1[i]-p2[i])**2
return val
def find_close_cluster( points ):
ans1 = 0
ans
我有200个数据点,每个点都是代表位置的3个数字的列表。我想从这个3D空间中采样N=100点,但有一个约束,即每两个点之间的最小距离必须大于0.15。下面的脚本是我采样点的方式,但它一直在运行,永远不会停止。此外,如果我设置了一个大于某个值的N,代码将无法找到所有N个点,因为我随机采样每个点,它会到达一个点,在这个点上,不能对不太靠近当前点的点进行采样,但实际上,如果点分布非常“密集”(但仍然满足大于0.15的最小距离),N可能会比这个值大得多。有没有更有效的方法来做到这一点? import numpy as np
import random
import time
def get_ran
我在txt文件中有一个三维点云(x,y,z)。我想要计算每个点与点云中所有其他点之间的3d距离,并保存距离小于一个阈值的点数。在显示的代码中,我已经在python中这样做了,但是它花费了太多的时间。我想要一个比我现在更快的。
from math import sqrt
import numpy as np
points_list = []
with open("D:/Point cloud data/projection_test_data3.txt") as chp:
for line in chp:
x, y, z = line.split()
又是一年一度的云+峰会,在昨天的腾讯云+未来峰会上,Pony提出了很多重磅消息:打造“超级大脑”,语音版微信,再次提出“三网”设想,另外还给出了一个AI全免费开放的消息,可以看出“AI in All”不只是谈谈而已,而是整个社会的趋势走向,那么如何理解“超级大脑”?云计算又如何助力实现“AI in All”呢?
我试图用python创建N个随机点(x,y,z)的列表,方法是每个点至少离任何其他点都有一段距离。
我对编程非常陌生,到目前为止,我只能单独生成x、y和z(然后将它们放在一起)
import random
def RandX(start, end, num):
res = []
for j in range(num):
res.append(random.randint(start, end))
return res
num = N
start = 0
end = 100
print(RandX(start, end, num))
但我
在Python中,我有三个包含x和y坐标的列表。每个列表包含128点。如何有效地找到最接近的三点呢?
这是我正在工作的python代码,但它不够高效:
def findclosest(c1, c2, c3):
mina = 999999999
for i in c1:
for j in c2:
for k in c3:
# calculate sum of distances between points
d = xy3dist(i,j,k)
我目前正在尝试迭代随机游动的数组,并且当数组的每个元素有多个数字时,我可以使用for循环。我似乎很难将math.dist函数应用到每个元素都有一个数字的一维数组中。
下面是有问题的代码:
origin = 0
all_walks1 = []
W = 100
N = 10
list_points = []
for i in range(W):
x = 2*np.random.randint(0,2,size=N)-1
xs = cumsum(x)
all_walks1.append(xs)
list_points.append(xs[-1])
list