3d 如何测量边界定义为三维点的曲面上方的高度

3d 如何测量边界定义为三维点的曲面上方的高度,3d,geometry,3d,Geometry,我有一个有序的3D点列表,这些点定义了曲面的边界。关于这个表面的其他情况一无所知。理论上,这些点可以是任意复杂的,但是在实践中,有少量点主要定义具有一些坡道等的平面。给定x和y坐标在边界内的任意点,我想知道边界定义的曲面上对应点上方的高度。将点集合视为平面的一组定义(您能确定哪些点是对象的一部分吗?) 使用指向“向下”的向量(直线)从给定点定义一条直线 遍历这些平面,查看向量是否与其中任何一个相交。(x,y)和交点之间的距离是“高度”它取决于点定义曲面的方式和点排列的特征: 这些点是否定义了高度

我有一个有序的3D点列表,这些点定义了曲面的边界。关于这个表面的其他情况一无所知。理论上,这些点可以是任意复杂的,但是在实践中,有少量点主要定义具有一些坡道等的平面。给定x和y坐标在边界内的任意点,我想知道边界定义的曲面上对应点上方的高度。

将点集合视为平面的一组定义(您能确定哪些点是对象的一部分吗?)

使用指向“向下”的向量(直线)从给定点定义一条直线


遍历这些平面,查看向量是否与其中任何一个相交。(x,y)和交点之间的距离是“高度”

它取决于点定义曲面的方式和点排列的特征: 这些点是否定义了高度贴图? 这些点是否创建常规栅格? 要将曲面定义为多边形集还是等值面

我试着猜你有一个规则的高度图。 我认为您需要:

  • 定义对应点在顶点规则栅格的哪个四边形中

  • 将四边形分成两个三角形

  • 定义对应点在哪个三角形(三角形的XY投影)中

  • 找到四边形和向量(x,y,1)的交点,其中(x,y)-对应点 (谷歌“点三角形交点”)


  • 要做到这一点,我必须找到最近的两个相邻点,并将其视为一个三角形?如果你不能确定哪些点定义了一个对象,这是我唯一能想到的方法。如果你从两个不同的物体上得到点,你会得到一些额外的平面,并且可能会得到一些错误的点击。也许应该移动到点,这些点是一个不规则的边界,但它们几乎总是近似矩形的。我认为,如果我们能算出边界的端点,或多或少地按照这种方法在边界上的相对点之间创建三角形,那就足够了。