コード例 #1
0
 public static void subdivide(QuadCurve2D src, QuadCurve2D left, QuadCurve2D right)
 {
     double x1 = src.getX1();
     double y1 = src.getY1();
     double cx = src.getCtrlX();
     double cy = src.getCtrlY();
     double x2 = src.getX2();
     double y2 = src.getY2();
     double cx1 = (x1 + cx) / 2.0;
     double cy1 = (y1 + cy) / 2.0;
     double cx2 = (x2 + cx) / 2.0;
     double cy2 = (y2 + cy) / 2.0;
     cx = (cx1 + cx2) / 2.0;
     cy = (cy1 + cy2) / 2.0;
     if (left != null) {
     left.setCurve(x1, y1, cx1, cy1, cx, cy);
     }
     if (right != null) {
     right.setCurve(cx, cy, cx2, cy2, x2, y2);
     }
 }
コード例 #2
0
        public static void subdivide(QuadCurve2D src, QuadCurve2D left, QuadCurve2D right)
        {
            double x1  = src.getX1();
            double y1  = src.getY1();
            double cx  = src.getCtrlX();
            double cy  = src.getCtrlY();
            double x2  = src.getX2();
            double y2  = src.getY2();
            double cx1 = (x1 + cx) / 2.0;
            double cy1 = (y1 + cy) / 2.0;
            double cx2 = (x2 + cx) / 2.0;
            double cy2 = (y2 + cy) / 2.0;

            cx = (cx1 + cx2) / 2.0;
            cy = (cy1 + cy2) / 2.0;
            if (left != null)
            {
                left.setCurve(x1, y1, cx1, cy1, cx, cy);
            }
            if (right != null)
            {
                right.setCurve(cx, cy, cx2, cy2, x2, y2);
            }
        }