【发布时间】:2023-04-05 16:49:02
【问题描述】:
希望一切顺利。我有两个 numpy 数组,都是空间中的一些点。使用 python,我想首先找到通过第一个数据集 (surface_maker) 的曲面,然后在创建的曲面上找到第二个数组 (contact_maker) 的投影相邻点的 x、y 和 z。 surface_maker 总是创建平面。对于投影,我只想要从相邻点到表面的垂直方向。实际上,我在这两组中都有很多要点,但我在这里复制一个简单的案例:
surface_maker=np.array([[50., 15., 46.04750574],
[50., 5., 45.56400925],
[44.83018398, 5., 25.],
[44.76296902, 15., 25.],
[50., 25., 45.56400925],
[44.83018398, 25., 25.],
[59.8336792, 5., 75.],
[59.71483707, 15., 75.],
[59.8336792, 25., 75.]])
contact_maker=np.array([[10., 5., 70.00014782],
[10., 15., 70.00018358],
[10., 25., 70.0001955 ],
[30., 5., 69.99981105],
[30., 15., 69.99982297],
[30., 25., 69.99985874],
[70., 5., 50.00000298],
[70., 15., 50.00002682],
[70., 25., 50.00005066],
[90., 5., 49.99996871],
[90., 15., 49.99999255],
[90., 25., 50.00001788]])
我尝试了几种解决方案,例如1、2 等。但我成功地解决了我的问题。
对我来说,将投影位置设置为 x、y 和 z 很重要。该图还显示了我想要的(如图所示,我只需要在surface_maker 创建的表面上投影contact_maker 的六个相邻点):
在此先感谢您的帮助。
【问题讨论】:
-
所有第一个设定点是否都属于同一个平面(完全正确)?
-
@MBo,是的,他们创造了一个表面。
标签: python numpy geometry surface