Package com.partnersoft.geometry.xy

Two-dimensional, cartesian/euclidean geometry structures and algorithms.

See:
          Description

Interface Summary
XyArea<T extends XyArea> An XyArea is a shape that surrounds an interior.
XyPath<T extends XyPath> An XyPath is a shape with an ordered sequence of points or curves.
XyShape<T extends XyShape> Generic supertype for all shapes in the (x, y) coordinate space.
XyTransform Generic type for coordinate transformations in (x, y) space.
 

Class Summary
AbstractXyTransform Abstract implementation of XyTransform, takes care of array and list cases.
DynamicXyPointArray A managed, dynamically allocated array of XyPoints.
XyAffineTransform A vector matrix affine transform.
XyAngle An angular magnitude.
XyArc A partial circle in (x, y) space.
XyBounds Rectangular bounds, expressed as minimum and maximum x and y.
XyCircle A circle in (x, y) space.
XyClosestPointFinder Data structure and algorithm to handle closest-point matching.
XyCogSchema  
XyConstants Geometric constants and conversion factors.
XyCubicCurve  
XyDeflection A deflection angle.
XyDirection An angular direction.
XyEllipse  
XyGrid A quantization grid or tiling in (x, y) space.
XyGridCell  
XyGridSystem Similar to a XyGrid.
XyLine A geometric, infinite line in (x, y) space.
XyLineSegment A line segment in (x, y) space.
XyPoint A 2-dimensional point in x, y space.
XyPointOnPolyline Holder class for a point, segment, vertex #, and line.
XyPolar A polar coordinate in (x, y) space.
XyPolygon A generalized polygon defined as an ordered list of vertices.
XyPolyline A generalized polyline consisting of at least two vertices and one line segment.
XyPolylineBuilder Builder class for XyPolylines.
XyQuadraticCurve A quadratic curve, defined as P(t) = B(2,0)*CP + B(2,1)*P1 + B(2,2)*P2 over the interval 0 <= t <= 1.
XyQuadrilateral A four-sided and four-cornered figured.
XyRay A ray in (x, y) space.
XyRectangle A rectangular shape in (x, y) space.
XyRegularPolygon A regular polygon has equal-length sides and equal-size angles.
XyRotation A rotation, expressed as an angle left (clockwise) or right (counter-clockwise).
XyShapeList<T extends XyShape> An ordered list of XyShapes.
XySize A rectangular size in (x, y) space.
XyTriangle A triangle in (x, y) space.
XyTurtle A turtle-graphics geometry builder for (x, y) space.
XyVector A mathematical vector in (x, y) space.
 

Package com.partnersoft.geometry.xy Description

Two-dimensional, cartesian/euclidean geometry structures and algorithms.

This package addresses good old fashioned geometry in (x, y) space, just like in high school.

All classes and interfaces in here should be "pure math" - independent of any sort of video system, mapping system, or other concepts. The coordinates themselves are stored as eight-byte double-precision floating-point numbers, which puts some restriction on available values but should be precise enough (and fast enough) for most uses.

That being said, these classes aren't so abstract as to be divorced from computing and application realities - for example, arcs and line segments are understood to have starting and ending points and a direction, and not just abstract constructions via a compass or ruler.

Angles are one of the most problematic parts of a geometry model. There are a number of units of measure, starting angles, and standard directions. We have divided the problem into: