繁体   English   中英

计算 3D 点之间的长度

[英]Calculating length between 3D points

我在 Abaqus 中创建了一个样条,现在我想计算该样条的长度。 样条由 19 个点组成[CoGX_Init, CoGY_Init, CoGZ_Init] 我想用以下公式确定每个点之间的距离; (sqrt((x2-x1)**2+(y2-y1)**2+(z2-z1)**2))然后计算这些点以找到样条的完整长度。

这是我的代码;

N = np.zeros((1, len(CoGZ_Init)))
for j in range(0, len(CoGZ_Init)-1):
    x1 = CoGX_Init[j]
    x2 = CoGX_Init[j+1]
    y1 = CoGY_Init[j]
    y2 = CoGY_Init[j+1]
    z1 = CoGZ_Init[j]
    z2 = CoGZ_Init[j+1]
    N[j] = sqrt((x2-x1)**2+(y2-y1)**2+(z2-z1)**2)

print(sum[N])

当我运行它时,我收到以下错误行N[j]错误:
index 1 is out of bounds for axis 0 with size 1

你的数组N是一个像[[0., 0., 0., ... 0.]]这样的数组——所以你需要改变

N = np.zeros((1, len(CoGZ_Init)))

N = np.zeros(len(CoGZ_Init))

改变

N[j] = sqrt((x2-x1)**2+(y2-y1)**2+(z2-z1)**2)

N[0][j] = sqrt((x2-x1)**2+(y2-y1)**2+(z2-z1)**2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM