python x,y,z坐标如何实现两两循环计算距离,如下图?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python x,y,z坐标如何实现两两循环计算距离,如下图?相关的知识,希望对你有一定的参考价值。

参考技术A

import itertools as it,pandas as pd

txt='''-2.50873 -4.4332 -0.35205

-1.38969 -5.18877 -0.27308

-0.11028 -4.56514 -0.25273

-0.00122 -3.21829 -0.32876

-1.1643 -2.38933 -0.43087

-2.42733 -3.00607 -0.42163

-3.6058 -2.19928 -0.47079

-3.54854 -0.84289 -0.4884

-2.24876 -0.21977 -0.47352

-1.09262 -0.95155 -0.49488

0.225891 -0.21499 -0.52048

1.184216 -0.40293 -1.57996

2.394314 0.310171 -1.53629

2.643742 1.20664 -0.45223

1.729159 1.421257 0.527241'''

txt=[list(map(float,x.split('\\t'))) for x in txt.split('\\n')]

data=list(it.combinations(txt,2))

def distance(p1,p2):

return ((p1[0] - p2[0]) ** 2 + (p1[1] - p2[1]) ** 2 + (p1[2] - p2[2]) ** 2) ** 0.5

df=pd.DataFrame(data,columns=['点1','点2'])

df['距离']=df.apply(lambda x:distance(*x),axis=1)

print(df)

参考技术B

两两循环是指要计算这15个原子点两两之间的距离?

可以参考以下代码,P为原子点列表,你可以将你截图中的数据输入进来即可


参考技术C 河南新华专注互联网教育三十二年 到校参观路费报销 免费试听课程! 参考技术D 这是数学问题 不是python问题

THREE.js如何实现在x,y,z轴上的拖拽

不是平面上的拖拽,是在一个三维空间里拖拽。如图那样。希望能求一个详细的相关代码,谢谢各位

  全选这个模型,使用Move (移动)工具,在模型最低处点取第一点(起点),然后从键盘输入[0,0,0],按Enter键。就能把模型快速的移动到当前的坐标原点位置。追问

我想问的是如果我用THREE.js创建了一个模型,那该用什么代码才能实现像上述那样可以选取那个模型并且拖拽移动它呢

参考技术A 在three的源码里面有一个编辑器,里面实现了这个功能,目前没有研究明白,可以去看一下。这是目前我发现唯一实现这个功能的。 参考技术B three.js官网下载源码
three.js-master->examples->js->controls->TransformControls.js
我也在研究

以上是关于python x,y,z坐标如何实现两两循环计算距离,如下图?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Python 从地理数据中提取 x、y 和 z 坐标?

知道两个点的坐标X,Y,如何计算出两点间的距离以及角度,公式是啥

python有没有哪个库能实现三维曲面的拟合?该如何实现?

在 Yolo v3 Darknet 中测量检测到的对象的 X、Y、Z 坐标

计算在 X 和 Y 和 Z 方向上具有一个坐标 + 距离的新坐标

matlab用3个for循环画三变量函数图,如f=x+y+z,xyz是三个坐标轴,f是因变量,在xyz空间中用颜色表示大小