C# CAD2016 多边形顶点按方向重新排序

  多边形顶点按方向重新排序

  1. 初始化多边形顶点集合 outerPoints

    • 创建一个名为 outerPoints 的 List<Point2d>,用于存储多边形的所有顶点坐标。
  2. 计算多边形顶点集合的边界框(BoundingBox)

    • 使用LINQ的Aggregate方法遍历整个outerPoints列表,并逐个更新最小X、最大X、最小Y和最大Y值。
    • 初始化匿名对象,其中包含四个属性:MinX、MaxX、MinY、MaxY,分别设置为double的最大值和最小值。
    • 对于列表中的每个顶点,将当前顶点的X和Y坐标与匿名对象中对应的最小值或最大值进行比较并更新。
  3. 找到左上角(候选西北角)

    • 根据计算得到的边界框信息,创建一个新的Point2d对象topLeftCorner,其坐标分别为边界框的最小X值和最大Y值。这个点位于多边形顶点集合的左上角,作为候选的西北方向起始点。
  4. 查找最接近左上角(西北方向)的顶点索引

    • outerPoints中的所有顶点按照它们到左上角顶点的距离平方进行排序,距离越近排在越前面。
    • 调用IndexOf方法找出排序后序列的第一个元素(即最
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值