|
JTS Topology Suite version 1.12 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.vividsolutions.jts.geom.Triangle
public class Triangle
Represents a planar triangle, and provides methods for calculating various properties of triangles.
Field Summary | |
---|---|
Coordinate |
p0
The coordinates of the vertices of the triangle |
Coordinate |
p1
The coordinates of the vertices of the triangle |
Coordinate |
p2
The coordinates of the vertices of the triangle |
Constructor Summary | |
---|---|
Triangle(Coordinate p0,
Coordinate p1,
Coordinate p2)
Creates a new triangle with the given vertices. |
Method Summary | |
---|---|
static Coordinate |
angleBisector(Coordinate a,
Coordinate b,
Coordinate c)
Computes the point at which the bisector of the angle ABC cuts the segment AC. |
static double |
area(Coordinate a,
Coordinate b,
Coordinate c)
Computes the 2D area of a triangle. |
static double |
area3D(Coordinate a,
Coordinate b,
Coordinate c)
Computes the 3D area of a triangle. |
static Coordinate |
centroid(Coordinate a,
Coordinate b,
Coordinate c)
Computes the centroid (centre of mass) of a triangle. |
static Coordinate |
circumcentre(Coordinate a,
Coordinate b,
Coordinate c)
Computes the circumcentre of a triangle. |
Coordinate |
inCentre()
Computes the incentre of a triangle. |
static Coordinate |
inCentre(Coordinate a,
Coordinate b,
Coordinate c)
Computes the incentre of a triangle. |
static boolean |
isAcute(Coordinate a,
Coordinate b,
Coordinate c)
Tests whether a triangle is acute. |
static double |
longestSideLength(Coordinate a,
Coordinate b,
Coordinate c)
Computes the length of the longest side of a triangle |
static HCoordinate |
perpendicularBisector(Coordinate a,
Coordinate b)
Computes the line which is the perpendicular bisector of the line segment a-b. |
static double |
signedArea(Coordinate a,
Coordinate b,
Coordinate c)
Computes the signed 2D area of a triangle. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public Coordinate p0
public Coordinate p1
public Coordinate p2
Constructor Detail |
---|
public Triangle(Coordinate p0, Coordinate p1, Coordinate p2)
p0
- a vertexp1
- a vertexp2
- a vertexMethod Detail |
---|
public static boolean isAcute(Coordinate a, Coordinate b, Coordinate c)
Note: this implementation is not robust for angles very close to 90 degrees.
a
- a vertex of the triangleb
- a vertex of the trianglec
- a vertex of the triangle
public static HCoordinate perpendicularBisector(Coordinate a, Coordinate b)
a
- a pointb
- another point
public static Coordinate circumcentre(Coordinate a, Coordinate b, Coordinate c)
The circumcentre does not necessarily lie within the triangle.
This method uses an algorithm due to J.R.Shewchuk which uses normalization to the origin to improve the accuracy of computation. (See Lecture Notes on Geometric Robustness, Jonathan Richard Shewchuk, 1999).
a
- a vertx of the triangleb
- a vertx of the trianglec
- a vertx of the triangle
public static Coordinate inCentre(Coordinate a, Coordinate b, Coordinate c)
The incentre always lies within the triangle.
a
- a vertx of the triangleb
- a vertx of the trianglec
- a vertx of the triangle
public static Coordinate centroid(Coordinate a, Coordinate b, Coordinate c)
The centroid always lies within the triangle.
a
- a vertex of the triangleb
- a vertex of the trianglec
- a vertex of the triangle
public static double longestSideLength(Coordinate a, Coordinate b, Coordinate c)
a
- a vertex of the triangleb
- a vertex of the trianglec
- a vertex of the triangle
public static Coordinate angleBisector(Coordinate a, Coordinate b, Coordinate c)
a
- a vertex of the triangleb
- a vertex of the trianglec
- a vertex of the triangle
public static double area(Coordinate a, Coordinate b, Coordinate c)
a
- a vertex of the triangleb
- a vertex of the trianglec
- a vertex of the triangle
signedArea(Coordinate, Coordinate, Coordinate)
public static double signedArea(Coordinate a, Coordinate b, Coordinate c)
The signed area value can be used to determine point orientation, but
the implementation in this method
is susceptible to round-off errors.
Use CGAlgorithms.orientationIndex(Coordinate, Coordinate, Coordinate)
for robust orientation
calculation.
a
- a vertex of the triangleb
- a vertex of the trianglec
- a vertex of the triangle
CGAlgorithms.orientationIndex(Coordinate, Coordinate, Coordinate)
public static double area3D(Coordinate a, Coordinate b, Coordinate c)
a
- a vertex of the triangleb
- a vertex of the trianglec
- a vertex of the triangle
public Coordinate inCentre()
|
JTS Topology Suite version 1.12 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |