|
ImageScience 3.0.0 | ||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectimagescience.shape.Ellipse
public class Ellipse
An ellipse in the x-y plane. The convention for this class is that the "major radius" always applies to the x-axis of the ellipse (that is, the x-axis of the coordinate system after rotation over the "angle" of the ellipse), and the "minor radius" applies to the y-axis of the ellipse (that is, the y-axis of the coordinate system after rotation), regardless of whether the major radius is really the larger than the minor radius or not. The rotation angle of the ellipse is defined in terms of a right-handed coordinate system, meaning that a positive angle rotates points on the positive x-axis towards the positive y-axis.
Constructor Summary | |
---|---|
Ellipse()
Default constructor. |
|
Ellipse(double x,
double y,
double major,
double minor,
double angle)
Constructs an ellipse with given center position, major and minor radii, and angle. |
|
Ellipse(Ellipse ellipse)
Copy constructor. |
Method Summary | |
---|---|
double |
angle()
Returns the angle of the ellipse. |
void |
angle(double angle)
Sets the angle of the ellipse. |
double |
area()
Returns the area spanned by the ellipse. |
Image |
bitmap(boolean binary)
Computes a bitmapped version of the shape. |
Bounds |
bounds()
Computes the bounding box of the shape. |
void |
center(double x,
double y)
Sets the center position of the ellipse. |
boolean |
contains(double x,
double y)
Indicates the position of a point relative to the ellipse. |
boolean |
contains(Point point)
Indicates the position of a point relative to the ellipse. |
java.awt.geom.GeneralPath |
contour()
Returns the contour of the ellipse. |
Shape |
duplicate()
Duplicates the shape. |
double |
eccentricity()
Returns the eccentricity of the ellipse. |
boolean |
empty()
Indicates whether the shape is empty. |
boolean |
equals(Shape shape)
Indicates whether this object has the same shape as the given object. |
double |
major()
Returns the major radius of the ellipse. |
void |
major(double major)
Sets the major radius of the ellipse. |
double |
minor()
Returns the minor radius of the ellipse. |
void |
minor(double minor)
Sets the minor radius of the ellipse. |
double |
perimeter()
Returns the perimeter of the ellipse. |
void |
position(double x,
double y)
Sets the center position of the ellipse. |
void |
radii(double major,
double minor)
Sets the radii of the ellipse. |
void |
rotate(double angle)
Increases the angle of the ellipse by the given amount. |
void |
set(double x,
double y,
double major,
double minor,
double angle)
Sets the center position, major and minor radii, and the angle of the ellipse. |
void |
translate(double dx,
double dy)
Translates the ellipse over the given distance. |
double |
x()
Returns the x-coordinate of the center position of the ellipse. |
void |
x(double x)
Sets the x-coordinate of the center position of the ellipse. |
double |
y()
Returns the y-coordinate of the center position of the ellipse. |
void |
y(double y)
Sets the y-coordinate of the center position of the ellipse. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Ellipse()
public Ellipse(double x, double y, double major, double minor, double angle)
x
- The x-coordinate of the center position of the ellipse.y
- The y-coordinate of the center position of the ellipse.major
- The major radius of the ellipse.minor
- The minor radius of the ellipse.angle
- The angle (in radians) of the ellipse.
java.lang.IllegalArgumentException
- If major
or minor
is less than 0
.public Ellipse(Ellipse ellipse)
ellipse
- The ellipse to be copied. All information is copied and no memory is shared with this ellipse.
java.lang.NullPointerException
- If ellipse
is null
.Method Detail |
---|
public void x(double x)
x
- The x-coordinate of the center position of the ellipse.public double x()
public void y(double y)
y
- The y-coordinate of the center position of the ellipse.public double y()
public void center(double x, double y)
position(double,double)
.
x
- The x-coordinate of the center position of the ellipse.y
- The y-coordinate of the center position of the ellipse.public void position(double x, double y)
center(double,double)
.
x
- The x-coordinate of the center position of the ellipse.y
- The y-coordinate of the center position of the ellipse.public void major(double major)
major
- The major radius of the ellipse.
java.lang.IllegalArgumentException
- If major
is less than 0
.public double major()
public void minor(double minor)
minor
- The minor radius of the ellipse.
java.lang.IllegalArgumentException
- If minor
is less than 0
.public double minor()
public void radii(double major, double minor)
major
- The major radius of the ellipse.minor
- The minor radius of the ellipse.
java.lang.IllegalArgumentException
- If major
or minor
is less than 0
.public void angle(double angle)
angle
- The angle of the ellipse.public double angle()
public void translate(double dx, double dy)
dx
- The distance in the x-dimension over which to translate.dy
- The distance in the y-dimension over which to translate.public void rotate(double angle)
angle
- The angle (in radians) over which to rotate the ellipse.public Shape duplicate()
Shape
duplicate
in interface Shape
Shape
object that is an exact copy of this object. All information is copied and no memory is shared between this and the returned object.public void set(double x, double y, double major, double minor, double angle)
x
- The x-coordinate of the center position of the ellipse.y
- The y-coordinate of the center position of the ellipse.major
- The major radius of the ellipse.minor
- The minor radius of the ellipse.angle
- The angle (in radians) of the ellipse.
java.lang.IllegalArgumentException
- If major
or minor
is less than 0
.public double eccentricity()
[0,1)
, with 0
corresponding to a circle (including the degenerate case of a point), and 1
to a line (completely flat ellipse).public double perimeter()
public double area()
public boolean contains(Point point)
contains
in interface Shape
point
- The point whose position relative to the ellipse is to be tested. The point is treated as a 2D point. That is, only its x- and y-coordinate values are considered.
contains(point.x,point.y)
.
java.lang.NullPointerException
- If point
is null
.public boolean contains(double x, double y)
x
- The x-coordinate of the point.y
- The y-coordinate of the point.
true
if the point is on or inside the ellipse, or false
if it is outside the ellipse.public java.awt.geom.GeneralPath contour()
GeneralPath
object containing the contour of the ellipse.public Image bitmap(boolean binary)
Shape
bitmap
in interface Shape
binary
- Determines whether the returned bitmap image is two-valued. If true
, image elements whose center positions fall inside the shape are set to 255
, and elements whose center positions fall outside the shape are set to 0
. If false
, additional processing is performed, by which each image element falling partly inside and partly outside the shape is set to 255
times its (approximate) inside-fraction.
ByteImage
object containing a bitmapped version of the shape. The origin of the integer coordinate system of the image corresponds to the position in the shape coordinate system obtained by taking the floor value of the lower bound of the shape in each dimension.public Bounds bounds()
Shape
bounds
in interface Shape
Bounds
object containing the bounding box of the shape.public boolean equals(Shape shape)
Shape
equals
in interface Shape
shape
- The shape to compare this shape with.
true
if shape
is not null
, and an instance of the same class as this object, with the exact same shape, or false
if this is not the case.public boolean empty()
Shape
empty
in interface Shape
true
if the shape does not enclose any space, or false
if it does.
|
ImageScience 3.0.0 | ||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright (C) Erik Meijering. Permission to use this software and corresponding documentation for educational, research, and not-for-profit purposes, without a fee and without a signed licensing agreement, is granted, subject to the following terms and conditions.
IT IS NOT ALLOWED TO REDISTRIBUTE, SELL, OR LEASE THIS SOFTWARE, OR DERIVATIVE WORKS THEREOF, WITHOUT PERMISSION IN WRITING FROM THE COPYRIGHT HOLDER. THE COPYRIGHT HOLDER IS FREE TO MAKE VERSIONS OF THE SOFTWARE AVAILABLE FOR A FEE OR COMMERCIALLY ONLY.
IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OF ANY KIND WHATSOEVER, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE EXPRESS OR IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE AND CORRESPONDING DOCUMENTATION IS PROVIDED "AS IS". THE COPYRIGHT HOLDER HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.