zoukankan      html  css  js  c++  java
  • GPC:使用GPC计算intersection容易出现的问题

         在使用GPC计算多边形的交的时候,出现问题

         //1.2. 另一种方法,判断新的多边形是否和老多边形相交
         Poly cross = (PolyDefault) Clip.intersection( filed, polyNig );   

         若filed 为两个分离的多边形,则出现计算问题:

         catch (Exception exception) {

                    exception.printStackTrace();
                }

         不知道如何解决!!!


    后记:

       没办法,只能修改掉,使用遍历方式

      // 对一个复合多边形判断交
        public static Poly intersection(Poly poly, Poly p2) {
            Poly p0 = new PolyDefault();
            List<Poly> p1 = new ArrayList<>();
            int num = poly.getNumInnerPoly();
            if (num > 1) {
                for (int i = 0; i < num; ++i) {
                    Poly psin = (PolyDefault) poly.getInnerPoly(i);
                    p1.add(psin);
                }
                p0 = intersection(p1, p2);
            } else {
                p0 = (PolyDefault) Clip.intersection(poly, p2);
            }
            return p0;
        }

  • 相关阅读:
    POJ 3093 Margaritas on the River Walk(背包)
    BZOJ 2287 【POJ Challenge】消失之物(DP+容斥)
    WC2017 Day1
    WC2017 Day0
    WC2017 Conclusion
    WC2017 Day6
    UOJ #58 糖果公园
    WC2017 Day5
    codevs 1946 阿狸的打字机
    HDU 2457 DNA_repair
  • 原文地址:https://www.cnblogs.com/wishchin/p/9199828.html
Copyright © 2011-2022 走看看