# TRIANGLE_PROPERTIES Properties of a Triangle

TRIANGLE_PROPERTIES is a FORTRAN90 library which can compute properties of a triangle, including angles, area, centroid, circumcircle, edge lengths, incircle, orientation, orthocenter, and quality.

These properties include:

• Angles;
• Area;
• Centroid;
• Edge lengths;
• Orientation;
• Orthocenter;

### Languages:

TRIANGLE_PROPERTIES is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

### Related Data and Programs:

GEOMETRY, a FORTRAN90 library which performs geometric calculations in 2, 3 and N dimensional space.

HYPERSPHERE_PROPERTIES, a FORTRAN90 library which carries out various operations for an M-dimensional hypersphere, including converting between Cartesian and spherical coordinates, stereographic projection, sampling the surface of the sphere, and computing the surface area and volume.

POLYGON_PROPERTIES, a FORTRAN90 library which computes properties of an arbitrary polygon in the plane, defined by a sequence of vertices, including interior angles, area, centroid, containment of a point, convexity, diameter, distance to a point, inradius, lattice area, nearest point in set, outradius, uniform sampling.

TETRAHEDRON_PROPERTIES, a FORTRAN90 program which computes properties of a given tetrahedron.

TRIANGLE_ANALYZE, a FORTRAN90 program which reads a triangle from a file, and then reports various properties.

TRIANGLE_INTERPOLATE, a FORTRAN90 library which shows how vertex data can be interpolated at any point in the interior of a triangle.

TRIANGLES, a dataset directory which contains examples of triangles;

### List of Routines:

• I4_MODP returns the nonnegative remainder of integer division.
• I4_WRAP forces an I4 to lie between given limits by wrapping.
• LINE_EXP_IS_DEGENERATE_ND finds if an explicit line is degenerate in ND.
• LINE_EXP_PERP computes a line perpendicular to a line and through a point.
• LINE_EXP2IMP converts an explicit line to implicit form in 2D.
• LINE_IMP_IS_DEGENERATE finds if an implicit point is degenerate in 2D.
• LINES_EXP_INT determines where two explicit lines intersect in 2D.
• LINES_IMP_INT determines where two implicit lines intersect in 2D.
• R8_ACOS computes the arc cosine function, with argument truncation.
• R8_HUGE returns a very large R8.
• R8_UNIFORM_01 returns a unit pseudorandom R8.
• R8MAT_SOLVE uses Gauss-Jordan elimination to solve an N by N linear system.
• R8MAT_TRANSPOSE_PRINT prints an R8MAT, transposed.
• R8MAT_TRANSPOSE_PRINT_SOME prints some of an R8MAT, transposed.
• R8VEC_LENGTH returns the Euclidean length of a vector.
• R8VEC_PRINT prints an R8VEC.
• R8VEC_UNIFORM_01 returns a unit pseudorandom R8VEC.
• SEGMENT_POINT_DIST: distance ( line segment, point ) in 2D.
• SEGMENT_POINT_NEAR: nearest point on line segment to point in 2D.
• TIMESTAMP prints the current YMDHMS date as a time stamp.
• TRIANGLE_ANGLES computes the angles of a triangle.
• TRIANGLE_AREA computes the area of a triangle in 2D.
• TRIANGLE_CENTROID computes the centroid of a triangle in 2D.
• TRIANGLE_CIRCUMCIRCLE computes the circumcircle of a triangle in 2D.
• TRIANGLE_CONTAINS_POINT finds if a point is inside a triangle in 2D.
• TRIANGLE_DIAMETER computes the diameter of a triangle in 2D.
• TRIANGLE_EDGE_LENGTH returns edge lengths of a triangle in 2D.
• TRIANGLE_INCIRCLE computes the inscribed circle of a triangle in 2D.
• TRIANGLE_ORIENTATION determines the orientation of a triangle in 2D.
• TRIANGLE_ORTHOCENTER computes the orthocenter of a triangle in 2D.
• TRIANGLE_POINT_DIST: distance ( triangle, point ) in 2D.
• TRIANGLE_POINT_NEAR computes the nearest point on a triangle in 2D.
• TRIANGLE_QUALITY: "quality" of a triangle in 2D.
• TRIANGLE_REFERENCE_SAMPLE returns random points in the reference triangle.
• TRIANGLE_SAMPLE returns random points in a triangle.
• TRIANGLE_XSI_TO_XY converts from barycentric to XY coordinates in 2D.
• TRIANGLE_XY_TO_XSI converts from XY to barycentric in 2D.

You can go up one level to the FORTRAN90 source codes.

Last revised on 21 October 2015.