gpt4 book ai didi

c++ - 不同平面上的多边形之间的三角剖分

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:16:08 37 4
gpt4 key购买 nike

我想在两组多边形之间进行三角剖分。一组总是在另一组内,事实上,外部多边形是作为原始组的偏移量创建的。如果它们在同一平面上,三角测量会很容易,但我想通过将外部多边形移动到平行但不同的平面来增加深度。我使用的常用三角测量方法 (glu tesselator) 不起作用。有替代方案吗?

最佳答案

您是说您有一种适用于 2D 的三角测量方法。美好的。将两个轮廓放在同一平面上 z = 0,进行二维三角剖分,然后将外部轮廓顶点的 z 坐标设置为您需要的值。如您所说,将外轮廓移动到平行平面。

为什么这种方法不适合您?

是的,您最终可能会得到一些水平三角形,它们的三个顶点都具有相同的 z 坐标。如果您使用“真正的”3D 三角测量,您也可能会得到相同的水平三角形。这完全取决于轮廓的形状和算法。

如果不能接受这样的水平三角形,您可以添加第二遍以尝试消除它们:

找到一个水平三角形。它的两条边将属于原始内部或原始外部轮廓。第三条边将“短路”原始轮廓的顶点。找到与上述“第三条”边具有相同边的另一个三角形。这些三角形对形成一个菱形。只有两种方法可以对菱形进行三角剖分。你得到的那个是 Not Acceptable ,所以只需用不同的方式重新对菱形进行三角剖分。

没有图很难解释。

关于c++ - 不同平面上的多边形之间的三角剖分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27368677/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com