【发布时间】:2021-06-02 13:36:33
【问题描述】:
我有一条由多条线段组成的折线。这条线非常复杂,并且在 3D 中到处都是曲线,所以为了简单起见,我们假设它看起来像这样
我想用 3D 渲染它。目前,我做了一个非常简单的过程,只为每个段生成一个圆柱体:
这很不错,但在线路改变方向的地方看起来很糟糕。这也很浪费——每个方向变化都需要两倍于严格必要的顶点。我会更喜欢生成这样的形状的方法:
起初我并不认为这会太难,但我越是努力,我就越发现它令人惊讶地不平凡。我在 C# 中工作,如果是 2D,我只会使用 Clipper,但我找不到任何库或资源来解决如何在 3D 中解决这个问题。如果解决方案并不总是完美的,或者有时会导致自相交或类似性质的事情,那也没关系。有人有什么指导吗?
【问题讨论】:
-
你能否展示一些关于如何定义线段以及如何计算每个圆柱体的几何形状的代码。
-
@AndréPopovitch 这是一个非常聪明的代码,尽管生成的圆柱体是一个内接在圆柱体上的挤压 n 边形网格。下一步将是扩展/修剪网格的附加循环,以便两个段共享节点。这里的复杂性是 n 边形的方向是随机的(请参阅
normal向量),因此两个连续的“圆柱体”将彼此成任意角度,从而使两个 n 边形的交点更加复杂。