Documentation of 'math.geom2d.spline.CubicBezierCurve2D' Java class
CubicBezierCurve2D
math.geom2d.spline

Class CubicBezierCurve2D

    • Constructor Detail

      • CubicBezierCurve2D

        public CubicBezierCurve2D()
      • CubicBezierCurve2D

        public CubicBezierCurve2D(double[][] coefs)
        Build a new Bezier curve from its array of coefficients. The array must have size 2*4.
        Parameters:
        coefs - the coefficients of the CubicBezierCurve2D.
      • CubicBezierCurve2D

        public CubicBezierCurve2D(Point2D p1,
                                  Point2D ctrl1,
                                  Point2D ctrl2,
                                  Point2D p2)
        Build a new Bezier curve of degree 3 by specifying position of extreme points and position of 2 control points. The resulting curve is totally contained in the convex polygon formed by the 4 control points.
        Parameters:
        p1 - first point
        ctrl1 - first control point
        ctrl2 - second control point
        p2 - last point
      • CubicBezierCurve2D

        public CubicBezierCurve2D(Point2D p1,
                                  Vector2D v1,
                                  Point2D p2,
                                  Vector2D v2)
        Build a new Bezier curve of degree 3 by specifying position and tangent of first and last points.
        Parameters:
        p1 - first point
        v1 - first tangent vector
        p2 - position of last point
        v2 - last tangent vector
      • CubicBezierCurve2D

        public CubicBezierCurve2D(double x1,
                                  double y1,
                                  double xctrl1,
                                  double yctrl1,
                                  double xctrl2,
                                  double yctrl2,
                                  double x2,
                                  double y2)
        Build a new Bezier curve of degree 3 by specifying position of extreme points and position of 2 control points. The resulting curve is totally containe in the convex polygon formed by the 4 control points.
    • Method Detail

      • getControl1

        public Point2D getControl1()
      • getControl2

        public Point2D getControl2()
      • getCtrlP1

        public Point2D getCtrlP1()
      • getCtrlP2

        public Point2D getCtrlP2()
      • getParametric

        public double[][] getParametric()
        Returns the matrix of parametric representation of the line. Result has the form :

        [ x0 dx dx2 dx3]

        [ y0 dy dy2 dy3]

        Coefficients are from the parametric equation : x(t) = x0 + dx*t + dx2*t^2 + dx3*t^3 y(t) = y0 + dy*t + dy2*t^2 + dy3*t^3

      • isInside

        public boolean isInside(Point2D pt)
        Returns true if the point is 'inside' the domain bounded by the curve. Uses a polyline approximation.
        Specified by:
        isInside in interface OrientedCurve2D
        Parameters:
        pt - a point in the plane
        Returns:
        true if the point is on the left side of the curve.
      • signedDistance

        public double signedDistance(Point2D point)
        Description copied from interface: OrientedCurve2D
        Returns the signed distance of the curve to the given point. The distance is positive if the point lies outside the shape, and negative if the point lies inside the shape. In both cases, absolute value of distance is equals to the distance to the border of the shape.
        Specified by:
        signedDistance in interface OrientedCurve2D
        Parameters:
        point - a point of the plane
        Returns:
        the signed distance to the curve
      • signedDistance

        public double signedDistance(double x,
                                     double y)
        Description copied from interface: OrientedCurve2D
        The same as distanceSigned(Point2D), but by passing 2 double as arguments.
        Specified by:
        signedDistance in interface OrientedCurve2D
        Parameters:
        x - x-coord of a point
        y - y-coord of a point
        Returns:
        the signed distance of the point (x,y) to the curve
        See Also:
        OrientedCurve2D.signedDistance(Point2D)
      • curvature

        public double curvature(double t)
        Returns the curvature of the Curve.
        Specified by:
        curvature in interface ContinuousCurve2D
        Parameters:
        t - the position on the curve
        Returns:
        the curvature of the curve for position t
      • isClosed

        public boolean isClosed()
        The cubic curve is never closed.
        Specified by:
        isClosed in interface ContinuousCurve2D
      • t0

        public double t0()
        returns 0, as Bezier curve is parameterized between 0 and 1.
        Specified by:
        t0 in interface Curve2D
      • getT0

        @Deprecated
        public double getT0()
        Deprecated. replaced by t0() (since 0.11.1).
        Specified by:
        getT0 in interface Curve2D
      • t1

        public double t1()
        Returns 1, as Bezier curve is parameterized between 0 and 1.
        Specified by:
        t1 in interface Curve2D
      • getT1

        @Deprecated
        public double getT1()
        Deprecated. replaced by t1() (since 0.11.1).
        Specified by:
        getT1 in interface Curve2D
      • point

        public Point2D point(double t)
        Description copied from interface: Curve2D
        Returns the point located at the given position on the curve. If the parameter lies outside the definition range, the parameter corresponding to the closest bound is used instead. This method can be used to draw an approximated outline of a curve, by selecting multiple values for t and drawing lines between them.
        Specified by:
        point in interface Curve2D
        See Also:
        Curve2D.point(double)
      • position

        public double position(Point2D point)
        Computes position by approximating cubic spline with a polyline.
        Specified by:
        position in interface Curve2D
        Parameters:
        point - a point belonging to the curve
        Returns:
        the position of the point on the curve
        See Also:
        Curve2D.point(double)
      • project

        public double project(Point2D point)
        Computes position by approximating cubic spline with a polyline.
        Specified by:
        project in interface Curve2D
        Parameters:
        point - a point to project
        Returns:
        the position of the closest orthogonal projection
      • contains

        public boolean contains(double x,
                                double y)
        Description copied from interface: Shape2D
        Checks if the shape contains the planar point defined by (x,y).
        Specified by:
        contains in interface Shape2D
      • contains

        public boolean contains(Point2D p)
        Description copied from interface: Shape2D
        Checks if the shape contains the given point.
        Specified by:
        contains in interface Shape2D
      • distance

        public double distance(Point2D p)
        Description copied from interface: Shape2D
        Returns the distance of the shape to the given point, or the distance of point to the frontier of the shape in the case of a plain shape.
        Specified by:
        distance in interface Shape2D
        See Also:
        Shape2D.distance(Point2D)
      • isBounded

        public boolean isBounded()
        Returns true, a cubic Bezier Curve is always bounded.
        Specified by:
        isBounded in interface Shape2D
      • isEmpty

        public boolean isEmpty()
        Description copied from interface: Shape2D
        Returns true if the shape does not contain any point. This is the case for example for PointSet2D without any point.
        Specified by:
        isEmpty in interface Shape2D
        Returns:
        true if the shape does not contain any point.
      • boundingBox

        public Box2D boundingBox()
        Returns the approximate bounding box of this curve. Actually, computes the bounding box of the set of control points.
        Specified by:
        boundingBox in interface Shape2D
        Returns:
        the bounding box of the shape.
      • appendPath

        public java.awt.geom.GeneralPath appendPath(java.awt.geom.GeneralPath path)
        Description copied from interface: ContinuousCurve2D
        Append the path of the curve to the given path.
        Specified by:
        appendPath in interface ContinuousCurve2D
        Parameters:
        path - a path to modify
        Returns:
        the modified path
      • getGeneralPath

        public java.awt.geom.GeneralPath getGeneralPath()
      • almostEquals

        public boolean almostEquals(GeometricObject2D obj,
                                    double eps)
        Description copied from interface: GeometricObject2D
        Checks if the two objects are similar up to a given threshold value. This method can be used to compare the results of geometric computations, that introduce errors due to numerical computations.
        Specified by:
        almostEquals in interface GeometricObject2D
        Parameters:
        obj - the object to compare
        eps - a threshold value, for example the minimal coordinate difference
        Returns:
        true if both object have the same value up to the threshold
      • equals

        public boolean equals(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.