【问题标题】:multi-edge bevel on half-edge structure半边结构上的多边斜角
【发布时间】:2016-05-24 12:48:56
【问题描述】:

我正在寻找半边数据结构上的多边斜角的示例实现或伪代码。单边斜角很容易 - 但一次有多个边缘......我现在尝试了几个小时但没有成功。我只是在与拓扑变化作斗争,正确地推动顶点看起来并不难。 基本上,我正在寻找一种关于如何在半边数据结构上从左网格到右网格的算法:

谁能给我指出一篇论文、一本书或多边斜角的示例实现?

【问题讨论】:

    标签: algorithm graph 3d computational-geometry mesh


    【解决方案1】:

    我们可以将操作分为两个概念步骤。首先,将红色边缘加倍。其次,将与至少一条红边相交的顶点爆炸。

    第一步可以一次完成一个边缘。给定一条红色边 e,创建另一个边 e'。对于 e 的半边,按顺时针顺序插入 e' 的半边作为具有相同头部的下一个半边。对于e的另一半边,逆时针插入e'的另一半边作为下一个同头的半边。

    第二步可以一次完成一个顶点。给定一个顶点 v 至少与一条红色边相连,将半边与头部 v 分组如下。在每对相邻的白色边之间(相邻意味着两个半边按顺时针/逆时针顺序排列在下一个/上一个) .对于每个中断,创建一个新边。将所有东西拼接在一起。 (这涉及到对断片和新边缘的末端进行操作。我认为在此答案中详细程度的详细描述将无济于事。)

    【讨论】:

    • 您好,谢谢。然而,到目前为止,它对我来说并没有多大意义。我同意第一步是插入重复的边缘。例如,对我来说没有意义的是“对于 e 的另一半边,以逆时针顺序插入 e' 的另一半边作为具有相同头部的下半边。”对我来说,e 和 e' 的“内部”半边相互指向,创建一个圆形的 ahlfedge 对 - 但为什么是“外部”半边?此外,“将所有东西拼接在一起”是我主要在努力解决的问题。
    • 也许没有很清楚地解释这个答案是可靠的。本质上:通常当您对顶点进行倒角(David 称之为爆炸)时,会在每个辐条边之间创建一条新边。而在这种情况下,在添加初始的新红色边缘后,您只想在两条红色和两条白色辐条边缘之间创建一条边缘,而不是在红色和白色辐条边缘之间创建一条边缘。在实践中,首先创建删除顶点函数,一个连接顶点函数(在 2 个顶点之间创建边),可用于创建倒角顶点函数。后者应该跳过在红色和白色辐条之间创建边缘。
    猜你喜欢
    • 2023-03-16
    • 2012-09-03
    • 2018-09-25
    • 1970-01-01
    • 2020-11-08
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    相关资源
    最近更新 更多