【发布时间】:2020-02-20 14:43:24
【问题描述】:
所以我一直在编写一些代码来从点云网格中获取地板。到目前为止,我已经获得了构成这个地板网格的三角形,但现在我想创建一个平面来覆盖这些点以表示一个平坦的地板。
好的,只是为了让它更清楚一点。现在我有这个网格。 (三角形、顶点和法线)。我想创建一个平面或类似的东西来覆盖这个网格来代表地板(因为这个地板不像实际地板应该那样平坦)。
It should create 1 or multiple planes to cover the encapsulated area
我知道有一个库可以根据一些关键点计算一个区域应该是什么。因此,如果我能够从网格中获取例如这些点(见下文),它将创建以下对象(见下文)。这也会给我想要的结果。
如果有人以前做过类似的事情或知道如何解决这个问题,我将非常感激:)。
(我正在使用 Unity 和 C# 顺便说一句)
关于这个网格最后要注意的一点是,并不是所有的三角形都可以很好地相互连接。所以网格中间有一些点会突出一点。这使得检查三角形是否在角上变得更加困难。
【问题讨论】:
-
当你说你试图“代表地板”时,你的意思是你试图用平面填充网格中的大洞?
-
嗨@LLSv2.0,很抱歉造成混乱。由于这是由 HoloLens 的点云网格制成的,因此我希望能够使用 HoloLens 显示“新地板”。我现在能够从点云中提取地板网格,但由于噪声,它看起来并不像地板。我猜更像是由柏林噪声创建的区域?所以我想确实有一些东西来覆盖大洞,同时也覆盖这个网格的其他部分。我希望这能解释得更好一点?
-
所以你想得到一个近似点云的完美平面?