多边形边缘算法问题
|
我有2D多边形,其顶点位于局部多边形空间中。我正在尝试计算新的顶点,这些顶点将在多边形内部周围形成均匀长度的边。
目前,要计算边缘,我基本上是在缩小原始顶点。对于每个多边形顶点,我计算求反的单位矢量,并将其乘以恒定的边长因子。然后,将其添加到原始多边形顶点。
伪代码:
const float edgeLength = 0.5;
for each vertex v
vec2 n = -v.unit();
vec2 edgeVertex = v + n * edgeLength;
结果在常规多边形上工作正常:
屏幕截图1
但是,在其他多边形(例如矩形)上,边长不一致:
屏幕截图2
我已经尝试了许多不同的尝试,但到目前为止似乎没有任何效果,非常感谢您的帮助!
(请忽略以3D渲染多边形,实际的多边形数据为2D)。
没有找到相关结果
已邀请:
1 个回复
娠侈脚惮顽