【发布时间】:2010-05-11 20:33:40
【问题描述】:
我正在尝试以编程方式为 2D 多边形生成斜边。例如,给定一个由 4 个顶点组成的数组定义一个正方形,我想生成如下内容:
_________
|\ _____ /|
| | | |
| | | |
| |_____| |
|/_______\|
但是计算内部形状的顶点让我很困惑。
在一般情况下,简单地创建原始形状的副本并将其缩小是行不通的。 (想象一下尝试以这种方式对 N 形多边形进行斜切。)
到目前为止,我的算法涉及分析相邻边(顶点的三元组;例如,正方形的左下角、左上角和右上角顶点)。从那里,我需要找到它们之间的角度,然后在该角度的某处创建一个顶点,具体取决于我希望斜面的深度。
而且因为我没有太多的数学背景,这就是我被困的地方。我如何找到那个中心角?还是有更简单的方法来解决这个问题?
【问题讨论】:
-
您是否总是有 4 个顶点,或者您需要一个适用于任意数量的解决方案?
-
在什么情况下简单地缩小它不起作用?
-
@Skywalker 我需要一个适用于任何凸面或凹面多边形的通用解决方案。
-
@mathmike 考虑一个 C 形多边形。缩小版不能很好地融入原版。当然斜面不会是均匀的。