| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectmath.geom2d.curve.AbstractContinuousCurve2D
math.geom2d.curve.AbstractSmoothCurve2D
math.geom2d.spline.CubicBezierCurve2D
public class CubicBezierCurve2D
A cubic bezier curve, defined by 4 control points. The curve passes through the first and the last control points. The second and the third control points defines the tangents at the extremities of the curve. From javaGeom 0.8.0, this shape does not extends java.awt.geom.CubicCurve2D.Double anymore
| Field Summary | 
|---|
| Fields inherited from interface math.geom2d.Shape2D | 
|---|
| ACCURACY | 
| Constructor Summary | |
|---|---|
| CubicBezierCurve2D() | |
| CubicBezierCurve2D(double[][] coefs)Build a new Bezier curve from its array of coefficients. | |
| 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. | |
| 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. | |
| 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. | |
| Method Summary | |
|---|---|
|  boolean | almostEquals(GeometricObject2D obj,
             double eps)Checks if the two objects are similar up to a given threshold value. | 
|  java.awt.geom.GeneralPath | appendPath(java.awt.geom.GeneralPath path)Append the path of the curve to the given path. | 
|  Polyline2D | asPolyline(int n)Converts this continuous curve to an instance of LinearCurve2D with the given number of edges. | 
|  Box2D | boundingBox()Returns the approximate bounding box of this curve. | 
|  CurveSet2D<? extends CubicBezierCurve2D> | clip(Box2D box)Clip the Bezier curve by a box. | 
|  CubicBezierCurve2D | clone()Overrides Object declaration to ensure Curve2D implementation are cloned as Curve2D. | 
|  boolean | contains(double x,
         double y)Checks if the shape contains the planar point defined by (x,y). | 
|  boolean | contains(Point2D p)Checks if the shape contains the given point. | 
| static CubicBezierCurve2D | create(Point2D p1,
       Point2D c1,
       Point2D c2,
       Point2D p2)Deprecated. since 0.11.1 | 
| static CubicBezierCurve2D | create(Point2D p1,
       Vector2D v1,
       Point2D p2,
       Vector2D v2)Deprecated. since 0.11.1 | 
|  double | curvature(double t)Returns the curvature of the Curve. | 
|  double | distance(double x,
         double y)Compute approximated distance, computed on a polyline. | 
|  double | distance(Point2D p)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. | 
|  boolean | equals(java.lang.Object obj) | 
|  Point2D | firstPoint()Returns the first point of the curve. | 
|  Point2D | getControl1() | 
|  Point2D | getControl2() | 
|  Point2D | getCtrlP1() | 
|  Point2D | getCtrlP2() | 
|  java.awt.geom.GeneralPath | getGeneralPath() | 
|  Point2D | getP1() | 
|  Point2D | getP2() | 
|  double[][] | getParametric()Returns the matrix of parametric representation of the line. | 
|  double | getT0()Deprecated. replaced by t0() (since 0.11.1). | 
|  double | getT1()Deprecated. replaced by t1() (since 0.11.1). | 
|  java.util.Collection<Point2D> | intersections(LinearShape2D line)Use approximation, by replacing Bezier curve with a polyline. | 
|  boolean | isBounded()Returns true, a cubic Bezier Curve is always bounded. | 
|  boolean | isClosed()The cubic curve is never closed. | 
|  boolean | isEmpty()Returns true if the shape does not contain any point. | 
|  boolean | isInside(Point2D pt)Returns true if the point is 'inside' the domain bounded by the curve. | 
|  Point2D | lastPoint()Returns the last point of the curve. | 
|  Point2D | point(double t)Returns the point located at the given position on the curve. | 
|  double | position(Point2D point)Computes position by approximating cubic spline with a polyline. | 
|  double | project(Point2D point)Computes position by approximating cubic spline with a polyline. | 
|  CubicBezierCurve2D | reverse()Returns the Bezier curve given by control points taken in reverse order. | 
|  double | signedDistance(double x,
               double y)The same as distanceSigned(Point2D), but by passing 2 double as arguments. | 
|  double | signedDistance(Point2D point)Returns the signed distance of the curve to the given point. | 
|  CubicBezierCurve2D | subCurve(double t0,
         double t1)Computes portion of BezierCurve. | 
|  double | t0()returns 0, as Bezier curve is parameterized between 0 and 1. | 
|  double | t1()Returns 1, as Bezier curve is parameterized between 0 and 1. | 
|  Vector2D | tangent(double t)Returns the tangent of the curve at the given position. | 
|  CubicBezierCurve2D | transform(AffineTransform2D trans)Returns the Bezier Curve transformed by the given AffineTransform2D. | 
|  double | windingAngle(Point2D point)Use winding angle of approximated polyline | 
| Methods inherited from class math.geom2d.curve.AbstractSmoothCurve2D | 
|---|
| isSingular, leftTangent, normal, rightTangent, singularPoints, smoothPieces, vertices | 
| Methods inherited from class math.geom2d.curve.AbstractContinuousCurve2D | 
|---|
| asAwtShape, continuousCurves, draw | 
| Methods inherited from class java.lang.Object | 
|---|
| getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Methods inherited from interface math.geom2d.curve.SmoothCurve2D | 
|---|
| normal | 
| Methods inherited from interface math.geom2d.curve.ContinuousCurve2D | 
|---|
| leftTangent, rightTangent, smoothPieces | 
| Methods inherited from interface math.geom2d.curve.Curve2D | 
|---|
| asAwtShape, continuousCurves, draw, isSingular, singularPoints, vertices | 
| Constructor Detail | 
|---|
public CubicBezierCurve2D()
public CubicBezierCurve2D(double[][] coefs)
coefs - the coefficients of the CubicBezierCurve2D.
public CubicBezierCurve2D(Point2D p1,
                          Point2D ctrl1,
                          Point2D ctrl2,
                          Point2D p2)
p1 - first pointctrl1 - first control pointctrl2 - second control pointp2 - last point
public CubicBezierCurve2D(Point2D p1,
                          Vector2D v1,
                          Point2D p2,
                          Vector2D v2)
p1 - first pointv1 - first tangent vectorp2 - position of last pointv2 - last tangent vector
public CubicBezierCurve2D(double x1,
                          double y1,
                          double xctrl1,
                          double yctrl1,
                          double xctrl2,
                          double yctrl2,
                          double x2,
                          double y2)
| Method Detail | 
|---|
@Deprecated
public static final CubicBezierCurve2D create(Point2D p1,
                                                         Point2D c1,
                                                         Point2D c2,
                                                         Point2D p2)
@Deprecated
public static final CubicBezierCurve2D create(Point2D p1,
                                                         Vector2D v1,
                                                         Point2D p2,
                                                         Vector2D v2)
public Point2D getControl1()
public Point2D getControl2()
public Point2D getP1()
public Point2D getP2()
public Point2D getCtrlP1()
public Point2D getCtrlP2()
public double[][] getParametric()
 [ 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
public double windingAngle(Point2D point)
windingAngle in interface OrientedCurve2Dpoint - a point of the plane
OrientedCurve2D.windingAngle(Point2D)public boolean isInside(Point2D pt)
isInside in interface OrientedCurve2Dpt - a point in the plane
public double signedDistance(Point2D point)
OrientedCurve2D
signedDistance in interface OrientedCurve2Dpoint - a point of the plane
public double signedDistance(double x,
                             double y)
OrientedCurve2D
signedDistance in interface OrientedCurve2Dx - x-coord of a pointy - y-coord of a point
OrientedCurve2D.signedDistance(Point2D)public Vector2D tangent(double t)
SmoothCurve2D
tangent in interface SmoothCurve2Dt - a position on the curve
SmoothCurve2D.normal(double)public double curvature(double t)
curvature in interface ContinuousCurve2Dt - the position on the curve
public boolean isClosed()
isClosed in interface ContinuousCurve2Dpublic Polyline2D asPolyline(int n)
AbstractContinuousCurve2D
asPolyline in interface ContinuousCurve2DasPolyline in class AbstractContinuousCurve2Dn - the number of line segments
n line segments.ContinuousCurve2D.asPolyline(int)public double t0()
t0 in interface Curve2D@Deprecated public double getT0()
getT0 in interface Curve2Dpublic double t1()
t1 in interface Curve2D@Deprecated public double getT1()
getT1 in interface Curve2Dpublic java.util.Collection<Point2D> intersections(LinearShape2D line)
intersections in interface Curve2DCurve2D.intersections(math.geom2d.line.LinearShape2D)public Point2D point(double t)
Curve2D
point in interface Curve2DCurve2D.point(double)public Point2D firstPoint()
firstPoint in interface Curve2DfirstPoint in class AbstractContinuousCurve2DCurve2D.t0(), 
Curve2D.point(double)public Point2D lastPoint()
lastPoint in interface Curve2DlastPoint in class AbstractContinuousCurve2DCurve2D.t1(), 
Curve2D.point(double)public double position(Point2D point)
position in interface Curve2Dpoint - a point belonging to the curve
Curve2D.point(double)public double project(Point2D point)
project in interface Curve2Dpoint - a point to project
public CubicBezierCurve2D reverse()
reverse in interface ContinuousCurve2Dreverse in interface Curve2Dreverse in interface SmoothCurve2Dreverse in interface ContinuousOrientedCurve2Dreverse in interface OrientedCurve2D
public CubicBezierCurve2D subCurve(double t0,
                                   double t1)
subCurve in interface ContinuousCurve2DsubCurve in interface Curve2DsubCurve in interface SmoothCurve2DsubCurve in interface ContinuousOrientedCurve2Dt0 - position of the start of the sub-curvet1 - position of the end of the sub-curve
public boolean contains(double x,
                        double y)
Shape2D
contains in interface Shape2Dpublic boolean contains(Point2D p)
Shape2D
contains in interface Shape2Dpublic double distance(Point2D p)
Shape2D
distance in interface Shape2DShape2D.distance(Point2D)
public double distance(double x,
                       double y)
distance in interface Shape2DShape2D.distance(double, double)public boolean isBounded()
isBounded in interface Shape2Dpublic boolean isEmpty()
Shape2D
isEmpty in interface Shape2Dpublic CurveSet2D<? extends CubicBezierCurve2D> clip(Box2D box)
clip in interface ContinuousCurve2Dclip in interface Curve2Dclip in interface SmoothCurve2Dclip in interface ContinuousOrientedCurve2Dclip in interface OrientedCurve2Dclip in interface Shape2Dbox - the clipping box
public Box2D boundingBox()
boundingBox in interface Shape2Dpublic CubicBezierCurve2D transform(AffineTransform2D trans)
transform in interface ContinuousCurve2Dtransform in interface Curve2Dtransform in interface SmoothCurve2Dtransform in interface ContinuousOrientedCurve2Dtransform in interface OrientedCurve2Dtransform in interface Shape2Dtrans - an affine transform
public java.awt.geom.GeneralPath appendPath(java.awt.geom.GeneralPath path)
ContinuousCurve2D
appendPath in interface ContinuousCurve2Dpath - a path to modify
public java.awt.geom.GeneralPath getGeneralPath()
public boolean almostEquals(GeometricObject2D obj,
                            double eps)
GeometricObject2D
almostEquals in interface GeometricObject2Dobj - the object to compareeps - a threshold value, for example the minimal coordinate difference
public boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic CubicBezierCurve2D clone()
Curve2D
clone in interface Curve2Dclone in class AbstractSmoothCurve2D| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||