|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object math.geom2d.curve.CurveSet2D<T> math.geom2d.curve.CurveArray2D<T> math.geom2d.domain.BoundarySet2D<HyperbolaBranch2D> math.geom2d.conic.Hyperbola2D
public class Hyperbola2D
An Hyperbola, which is represented as a curve set of two boundary curves which are instances of HyperbolaBranch2D.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface math.geom2d.conic.Conic2D |
---|
Conic2D.Type |
Field Summary | |
---|---|
protected double |
a
first focal parameter |
protected double |
b
second focal parameter |
protected HyperbolaBranch2D |
branch1
The negative branch of the hyperbola |
protected HyperbolaBranch2D |
branch2
The positive branch of the hyperbola |
protected boolean |
direct
a flag indicating whether the hyperbola is direct or not |
protected double |
theta
angle of rotation of the hyperbola |
protected double |
xc
Center of the hyperbola |
protected double |
yc
|
Fields inherited from class math.geom2d.curve.CurveSet2D |
---|
curves |
Fields inherited from interface math.geom2d.Shape2D |
---|
ACCURACY |
Constructor Summary | |
---|---|
Hyperbola2D()
Assume centered hyperbola, with a = b = 1 (orthogonal hyperbola), theta=0 (hyperbola is oriented East-West), and direct orientation. |
|
Hyperbola2D(double xc,
double yc,
double a,
double b,
double theta)
|
|
Hyperbola2D(double xc,
double yc,
double a,
double b,
double theta,
boolean d)
Main constructor |
|
Hyperbola2D(Point2D center,
double a,
double b,
double theta)
|
|
Hyperbola2D(Point2D center,
double a,
double b,
double theta,
boolean d)
|
Method Summary | |
---|---|
Hyperbola2D |
clone()
Overrides Object declaration to ensure Curve2D implementation are cloned as Curve2D. |
boolean |
contains(double x,
double y)
Returns true if one of the curves contains the point |
boolean |
contains(Point2D point)
Returns true if one of the curves contains the point |
static Hyperbola2D |
create(Point2D center,
double a,
double b,
double theta)
|
static Hyperbola2D |
create(Point2D center,
double a,
double b,
double theta,
boolean d)
|
void |
draw(Graphics2D g)
Throws an UnboundedShapeException |
boolean |
equals(Object obj)
Tests whether this hyperbola equals another object. |
double |
getAngle()
Returns the angle made by the first direction vector with the horizontal axis. |
Collection<StraightLine2D> |
getAsymptotes()
Returns the asymptotes of the hyperbola. |
Collection<HyperbolaBranch2D> |
getBranches()
|
Point2D |
getCenter()
Returns the center of the Hyperbola. |
double[] |
getConicCoefficients()
Returns the coefficient of the Cartesian representation of the conic. |
Conic2D.Type |
getConicType()
|
double |
getEccentricity()
Returns the eccentricity of the conic. |
Point2D |
getFocus1()
Returns the focus located on the positive side of the main hyperbola axis. |
Point2D |
getFocus2()
Returns the focus located on the negative side of the main hyperbola axis. |
Collection<Point2D> |
getIntersections(LinearShape2D line)
Returns the intersection points of the curve with the specified line. |
double |
getLength1()
Returns a |
double |
getLength2()
Returns b |
HyperbolaBranch2D |
getNegativeBranch()
|
HyperbolaBranch2D |
getPositiveBranch()
|
Hyperbola2D |
getReverseCurve()
Returns the curve with same trace on the plane with parametrization in reverse order. |
Vector2D |
getVector1()
|
Vector2D |
getVector2()
|
boolean |
isDirect()
|
static Hyperbola2D |
reduceCentered(double[] coefs)
Creates a new Hyperbola by reducing the conic coefficients, assuming conic type is Hyperbola, and hyperbola is centered. |
Point2D |
toGlobal(Point2D point)
transform a point in local coordinate (ie orthogonal centered hyberbola with a=b=1) to global coordinate system. |
Point2D |
toLocal(Point2D point)
|
Hyperbola2D |
transform(AffineTransform2D trans)
Transforms this Hyperbola by an affine transform. |
static Hyperbola2D |
transformCentered(Hyperbola2D hyper,
AffineTransform2D trans)
Transforms an hyperbola, by supposing both the hyperbola is centered and the transform has no translation part. |
Methods inherited from class math.geom2d.domain.BoundarySet2D |
---|
clip, create, create, fill, getBoundaryCurves, getDomain, getSignedDistance, getSignedDistance, getSubCurve, getWindingAngle, isInside |
Methods inherited from class math.geom2d.curve.CurveArray2D |
---|
addCurve, clearCurves, containsCurve, getAsAWTShape, getBoundingBox, getContinuousCurves, getCurve, getCurveIndex, getCurveNumber, getCurves, getDistance, getDistance, getFirstCurve, getFirstPoint, getGeneralPath, getGlobalPosition, getChildCurve, getLastCurve, getLastPoint, getLocalPosition, getPoint, getPosition, getSingularPoints, getT0, getT1, isBounded, isEmpty, isSingular, iterator, project, removeCurve |
Methods inherited from class math.geom2d.curve.CurveSet2D |
---|
fromUnitSegment, toUnitSegment |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface math.geom2d.conic.Conic2D |
---|
clip |
Methods inherited from interface math.geom2d.domain.Boundary2D |
---|
fill, getBoundaryCurves, getDomain, isInside |
Methods inherited from interface math.geom2d.domain.OrientedCurve2D |
---|
getSignedDistance, getSignedDistance, getWindingAngle |
Methods inherited from interface math.geom2d.curve.Curve2D |
---|
getAsAWTShape, getContinuousCurves, getFirstPoint, getLastPoint, getPoint, getPosition, getSingularPoints, getSubCurve, getT0, getT1, isSingular, project |
Methods inherited from interface math.geom2d.Shape2D |
---|
getBoundingBox, getDistance, getDistance, isBounded, isEmpty |
Field Detail |
---|
protected double xc
protected double yc
protected double a
protected double b
protected double theta
protected boolean direct
protected HyperbolaBranch2D branch1
protected HyperbolaBranch2D branch2
Constructor Detail |
---|
public Hyperbola2D()
public Hyperbola2D(Point2D center, double a, double b, double theta)
public Hyperbola2D(Point2D center, double a, double b, double theta, boolean d)
public Hyperbola2D(double xc, double yc, double a, double b, double theta)
public Hyperbola2D(double xc, double yc, double a, double b, double theta, boolean d)
Method Detail |
---|
public static Hyperbola2D create(Point2D center, double a, double b, double theta)
public static Hyperbola2D create(Point2D center, double a, double b, double theta, boolean d)
public static Hyperbola2D reduceCentered(double[] coefs)
coefs
- an array of double with at least 3 coefficients containing
coefficients for x^2, xy, and y^2 factors. If the array is
longer, remaining coefficients are ignored.
public static Hyperbola2D transformCentered(Hyperbola2D hyper, AffineTransform2D trans)
hyper
- an hyperbolatrans
- an affine transform
public Point2D toGlobal(Point2D point)
public Point2D toLocal(Point2D point)
public Point2D getCenter()
public double getAngle()
public double getLength1()
public double getLength2()
public boolean isDirect()
public Vector2D getVector1()
public Vector2D getVector2()
public Point2D getFocus1()
public Point2D getFocus2()
public HyperbolaBranch2D getPositiveBranch()
public HyperbolaBranch2D getNegativeBranch()
public Collection<HyperbolaBranch2D> getBranches()
public Collection<StraightLine2D> getAsymptotes()
public double[] getConicCoefficients()
Conic2D
a*x^2 + b*x*y + c*y^2 + d*x + e*y + f
The length of the array is then of size 6.
getConicCoefficients
in interface Conic2D
public Conic2D.Type getConicType()
getConicType
in interface Conic2D
public double getEccentricity()
Conic2D
getEccentricity
in interface Conic2D
public Hyperbola2D getReverseCurve()
Curve2D
getReverseCurve
in interface Conic2D
getReverseCurve
in interface Curve2D
getReverseCurve
in interface Boundary2D
getReverseCurve
in interface OrientedCurve2D
getReverseCurve
in class BoundarySet2D<HyperbolaBranch2D>
public Collection<Point2D> getIntersections(LinearShape2D line)
Curve2D
getIntersections
in interface Curve2D
getIntersections
in class CurveArray2D<HyperbolaBranch2D>
public boolean contains(Point2D point)
CurveArray2D
contains
in interface Shape2D
contains
in class CurveArray2D<HyperbolaBranch2D>
public boolean contains(double x, double y)
CurveArray2D
contains
in interface Shape2D
contains
in class CurveArray2D<HyperbolaBranch2D>
public Hyperbola2D transform(AffineTransform2D trans)
transform
in interface Conic2D
transform
in interface Curve2D
transform
in interface Boundary2D
transform
in interface OrientedCurve2D
transform
in interface Shape2D
transform
in class BoundarySet2D<HyperbolaBranch2D>
trans
- an affine transform
public void draw(Graphics2D g)
draw
in interface Curve2D
draw
in interface Shape2D
draw
in class CurveArray2D<HyperbolaBranch2D>
g
- the graphics to draw the curvepublic boolean equals(Object obj)
equals
in class CurveArray2D<HyperbolaBranch2D>
public Hyperbola2D clone()
Curve2D
clone
in interface Curve2D
clone
in class CurveArray2D<HyperbolaBranch2D>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |