/// <summary>
/// 扩展或收缩
/// </summary>
/// <param name="polygon">多边形顶点</param>
/// <param name="expand">扩展大小,为负则收缩</param>
/// <returns>扩展或收缩后的多边形</returns>
public static List<LitMath.Vector2> Expand(List<LitMath.Vector2> polygon, double expand)
{
List<LitMath.Vector2> new_polygon = new List<LitMath.Vector2>();
int len = polygon.Count;
for (int i = 0; i < len; i++)
{
LitMath.Vector2 p = polygon[i];
LitMath.Vector2 p1 = polygon[i == 0 ? len - 1 : i - 1];
LitMath.Vector2 p2 = polygon[i == len - 1 ? 0 : i + 1];
double v1x = p1.x - p.x;
double v1y = p1.y - p.y;
double n1 = norm(v1x, v1y);
v1x /
存一下,闭合多边形求收缩或扩展多边形
最新推荐文章于 2022-09-29 21:26:58 发布
本文介绍了如何使用C#编程语言处理几何问题,特别是针对闭合多边形进行收缩和扩展操作的方法。通过算法实现,可以有效地改变多边形的边界,从而达到预期的几何形状变化效果。
摘要由CSDN通过智能技术生成