You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于每条边带指定坡度的简单多边形生成屋顶几何?

多边形屋顶几何生成算法需求与问题

给定条件

  • A) 定义2D平面上简单多边形(可为凹形)的点列表;
  • B) 范围在[0, ∞)的坡度列表,每个坡度对应(A)中定义的一条边:
    • “边”指(A)中连续点对,包括最后一个点与第一个点之间的边;
    • 坡度单位为英寸,表示每12英寸水平距离对应的垂直上升高度;
    • 坡度为0代表平屋顶(水平),∞代表垂直。

构造目标

通过生成延伸至第三维度(垂直于多边形所在平面)的新多边形网格,构造该多边形的“屋顶”几何,使得屋顶每条边的坡度与(B)中定义的坡度一致(坡度朝向多边形内部向上)。

具体需求

为自研软件开发可靠生成该几何的算法,输出为一组简单多边形列表。

已尝试的无效方法

  • 半空间结合布尔运算:仅对凸多边形有效,不适用于凹多边形,且无法将半空间组合结果转换为多边形网格;
  • 梯度组合生成高度图:对凸多边形效果良好,但不适用于凹多边形,且难以转换为多边形网格;
  • 类Voronoi方法:虽有前景,但会产生非预期曲线,仍需解决转换为多边形网格的问题。

正确解决方案示例(非按比例)

(短横线代表坡度为∞)

  • 顶部示例:边2的坡度与边1、3相同;
  • 中部示例:边2的坡度比边1、3更缓;
  • 底部示例:边2的坡度比边1、3更陡;

内容的提问来源于stack exchange,提问作者JonnyV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 12:22:44