public class Circle extends Object
Date: Oct 15, 2007
Modifier and Type | Class and Description |
---|---|
class |
Circle.Arc |
Modifier | Constructor and Description |
---|---|
protected |
Circle()
Creates a circle whose center is at the origin and whose radius is 0.
|
|
Circle(Coordinate point1,
Coordinate point2,
Coordinate point3)
Three point method of circle construction.
|
|
Circle(Coordinate center,
double radius)
Create a circle with a defined center and radius
|
|
Circle(double xCenter,
double yCenter,
double radius)
Create a circle using the x/y coordinates for the center.
|
|
Circle(double xLeft,
double yUpper,
double xRight,
double yLower)
Creates a circle based on bounding box.
|
|
Circle(double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
Three point method of circle construction.
|
Modifier and Type | Method and Description |
---|---|
Circle.Arc |
createArc(Coordinate p1,
Coordinate p2,
Coordinate p3) |
double |
distanceFromCenter(Coordinate p) |
boolean |
equals(Object o) |
double |
getAngle(Coordinate p)
Returns the angle of the point from the center and the horizontal line from the center.
|
Coordinate |
getCenter() |
Coordinate |
getPoint(double angle) |
double |
getRadius() |
int |
hashCode() |
Coordinate[] |
linearizeArc(Coordinate p1,
Coordinate p2,
Coordinate p3,
double tolerence)
Given 2 points defining an arc on the circle, interpolates the circle into a collection of
points that provide connected chords that approximate the arc based on the tolerance value.
|
static Coordinate[] |
linearizeArc(double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
Given 2 points defining an arc on the circle, interpolates the circle into a collection of
points that provide connected chords that approximate the arc based on the tolerance value.
|
static Coordinate[] |
linearizeArc(double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double tolerence)
Given 2 points defining an arc on the circle, interpolates the circle into a collection of
points that provide connected chords that approximate the arc based on the tolerance value.
|
static Coordinate[] |
linearizeCircle(Coordinate p1,
Coordinate p2,
Coordinate p3,
double tolerance)
Given a circle defined by the 3 points, creates a linearized interpolation of the circle
starting and ending on the first coordinate.
|
static Coordinate[] |
linearizeCircle(double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
Given a circle defined by the 3 points, creates a linearized interpolation of the circle
starting and ending on the first coordinate.
|
void |
move(double x,
double y)
Move the circle to a new center
|
static double |
normalizeAngle(double angle)
Returns an angle between 0 and 2*PI.
|
void |
shift(double deltaX,
double deltaY)
shift the center of the circle by delta X and delta Y
|
static double |
subtractAngles(double a1,
double a2)
Returns the angle between the angles a1 and a2 in radians.
|
String |
toString() |
protected Circle()
public Circle(Coordinate center, double radius)
center
- The coordinate representing the center of the circleradius
- The radius of the circlepublic Circle(double xCenter, double yCenter, double radius)
xCenter
- The x coordinate of the circle's centeryCenter
- The y coordinate of the circle's centerradius
- the radius of the circlepublic Circle(double xLeft, double yUpper, double xRight, double yLower)
xLeft
- yUpper
- xRight
- yLower
- public Circle(Coordinate point1, Coordinate point2, Coordinate point3)
point1
- point2
- point3
- public Circle(double x1, double y1, double x2, double y2, double x3, double y3)
x1
- y1
- x2
- y2
- x3
- y3
- public void shift(double deltaX, double deltaY)
public void move(double x, double y)
public Coordinate getCenter()
public double getRadius()
public static Coordinate[] linearizeArc(double x1, double y1, double x2, double y2, double x3, double y3, double tolerence)
x1
- x coordinate of point 1y1
- y coordinate of point 1x2
- x coordinate of point 2y2
- y coordinate of point 2x3
- x coordinate of point 3y3
- y coordinate of point 3tolerence
- maximum distance between the center of the chord and the outer edge of the
circlepublic static Coordinate[] linearizeArc(double x1, double y1, double x2, double y2, double x3, double y3)
x1
- x coordinate of point 1y1
- y coordinate of point 1x2
- x coordinate of point 2y2
- y coordinate of point 2x3
- x coordinate of point 3y3
- y coordinate of point 3public static Coordinate[] linearizeCircle(double x1, double y1, double x2, double y2, double x3, double y3)
x1
- x coordinate of point 1y1
- y coordinate of point 1x2
- x coordinate of point 2y2
- y coordinate of point 2x3
- x coordinate of point 3y3
- y coordinate of point 3public static Coordinate[] linearizeCircle(Coordinate p1, Coordinate p2, Coordinate p3, double tolerance)
p1
- coordinate on the circlep2
- another coordinate on the circlep3
- yet another coordinate on the circletolerance
- maximum distance between the center of the chord and the outer edge of the
circlepublic Coordinate[] linearizeArc(Coordinate p1, Coordinate p2, Coordinate p3, double tolerence)
p1
- begin coordinate of the arcp2
- any other point on the arcp3
- end coordinate of the arctolerence
- maximum distance between the center of the chord and the outer edge of the
circlepublic double getAngle(Coordinate p)
p
- a point in spacepublic Coordinate getPoint(double angle)
public double distanceFromCenter(Coordinate p)
p
- A point in spacepublic Circle.Arc createArc(Coordinate p1, Coordinate p2, Coordinate p3)
public static double normalizeAngle(double angle)
angle
- an angle in radians to normalizepublic static double subtractAngles(double a1, double a2)
a1
- first anglea2
- second angleCopyright © 1996–2019 Geotools. All rights reserved.