我试着用下面的代码来模拟3D圆柱体的体素:
import math
import numpy as np
R0 = 500
hz = 1
x = np.arange(-1000, 1000, 1)
y = np.arange(-1000, 1000, 1)
z = np.arange(-10, 10, 1)
xx, yy, zz = np.meshgrid(x, y, z)
def density_f(x, y, z):
r_xy = math.sqrt(x ** 2 + y ** 2)
if r_xy <= R0 and -hz <= z <= hz:
return 1
else:
return 0
density = np.vectorize(density_f)(xx, yy, zz)
它花了很多分钟来计算。
等价的次优Java代码运行10-15秒。
如何让Python以相同的速度计算体素?在哪里进行优化?
https://stackoverflow.com/questions/53016634
复制相似问题