沿法线投影三维点到三角形网格的Python算法

2024-05-15 03:49:29 发布

您现在位置:Python中文网/ 问答频道 /正文

简介

假设我有一个三维点,一个法线和一个三角形网格的四分体:

pt = np.array([0,0,0.5])
normal = np.array([1,1,0])
vertices_tetr = np.array([0,0,0],[0,1,1],[1,0,1],[1,1,0])
faces_tetr = np.array([0,1,2],[0,2,3],[0,1,3],[1,2,3]) 

可以找到到tetraeder的.ply文件的链接here

问题

沿给定法线将3D点投影到网格的好方法是什么

其他信息

如果解决方案不太复杂,效率是值得赞赏的。如果有一个很好的库,那么这也是一个选择

额外澄清:我不是在寻找网格的最近点,而是3D点沿给定法线在网格的一个面上的投影。因此,如下图所示,p为原点,n为法线,p'为投影点

tetraeder with unprojected and projected point


Tags: 文件pt网格链接nparray投影normal

热门问题