TRIANGLE_ANALYZE\
Compute Properties of a Triangle {#triangle_analyze-compute-properties-of-a-triangle align=”center”}
================================
TRIANGLE_ANALYZE is a C++ program which reads a triangle defined in
a file, and uses the TRIANGLE_PROPERTIES library to compute angles,
area, centroid, circumcircle, edge lengths, incircle, orientation,
orthocenter, and quality.
Usage: {#usage align=”center”}
triangle_analyze filename
where filename contains the vertex coordinates.
Licensing: {#licensing align=”center”}
The computer code and data files described and made available on this
web page are distributed under the GNU LGPL
license.
Languages: {#languages align=”center”}
TRIANGLE_ANALYZE is available in a C
version and a C++
version and a
FORTRAN90 version
and a MATLAB
version.
GEOMETRY, a C++ library which
performs geometric calculations in 2, 3 and N dimensional space.
TRIANGLE_INTERPOLATE,
a C++ library which shows how vertex data can be interpolated at any
point in the interior of a triangle.
TRIANGLE_PROPERTIES,
a C++ program which computes properties of triangles.
TRIANGLES, a dataset
directory which contains examples of triangles;
Source Code: {#source-code align=”center”}
Examples and Tests: {#examples-and-tests align=”center”}
- tex1.txt, example 1.
- tex1_properties.txt, the output file.
- tex2.txt, example 2.
- tex2_properties.txt, the output file.
- tex3.txt, example 3.
- tex3_properties.txt, the output file.
- tex4.txt, example 4.
- tex4_properties.txt, the output file.
- tex5.txt, example 5.
- tex5_properties.txt, the output file.
- tex6.txt, example 6.
- tex6_properties.txt, the output file.
- tex7.txt, example 7.
- tex7_properties.txt, the output file.
- tex8.txt, example 8.
- tex8_properties.txt, the output file.
- triangle_cap.txt, example of a “cap” triangle.
- triangle_cap_properties.txt, the
output file.
- triangle_equilateral.txt, example of an
equilateral triangle.
- triangle_equilateral_properties.txt,
the output file.
- triangle_needle.txt, example of a “needle”
triangle.
- triangle_needle_properties.txt,
the output file.
- triangle_ref.txt, example of a reference
triangle.
- triangle_ref_properties.txt, the
output file.
- triangle_right.txt, example of a right
triangle.
- triangle_right_properties.txt,
the output file.
List of Routines: {#list-of-routines align=”center”}
- MAIN is the main program for TRIANGLE_ANALYZE.
- CH_CAP capitalizes a single character.
- CH_EQI is true if two characters are equal, disregarding case.
- CH_TO_DIGIT returns the integer value of a base 10 digit.
- FILE_COLUMN_COUNT counts the columns in the first line of a
file.
- FILE_ROW_COUNT counts the number of row records in a file.
- I4_MAX returns the maximum of two I4’s.
- I4_MIN returns the minimum of two I4’s.
- I4_MODP returns the nonnegative remainder of I4 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_2D computes a line perpendicular to a line and
through a point.
- LINE_EXP2IMP_2D converts an explicit line to implicit form in
2D.
- LINE_IMP_IS_DEGENERATE_2D finds if an implicit point is
degenerate in 2D.
- LINES_EXP_INT_2D determines where two explicit lines
intersect in 2D.
- LINES_IMP_INT_2D determines where two implicit lines
intersect in 2D.
- R8_ABS returns the absolute value of an R8.
- R8_ACOS computes the arc cosine function, with argument
truncation.
- R8_HUGE returns a “huge” R8.
- R8_MAX returns the maximum of two R8’s.
- R8_MIN returns the minimum of two R8’s.
- R8MAT_DATA_READ reads the data from an R8MAT file.
- R8MAT_HEADER_READ reads the header from an R8MAT file.
- R8MAT_INVERSE_2D inverts a 2 by 2 R8MAT using Cramer’s rule.
- 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_COPY copies an R8VEC.
- R8VEC_EQ is true two R8VEC’s are equal.
- R8VEC_NORM returns the Euclidean length of an R8VEC.
- R8VEC_PRINT prints an R8VEC.
- S_LEN_TRIM returns the length of a string to the last
nonblank.
- S_TO_R8 reads an R8 from a string.
- S_TO_R8VEC reads an R8VEC from a string.
- S_WORD_COUNT counts the number of “words” in a string.
- TIMESTAMP prints the current YMDHMS date as a time stamp.
- TRIANGLE_ANGLES_2D computes the angles of a triangle in 2D.
- TRIANGLE_AREA_2D computes the area of a triangle in 2D.
- TRIANGLE_CENTROID_2D computes the centroid of a triangle in
2D.
- TRIANGLE_CIRCUMCIRCLE_2D computes the circumcircle of a
triangle in 2D.
- TRIANGLE_CONTAINS_POINT_2D finds if a point is inside a
triangle in 2D.
- TRIANGLE_EDGE_LENGTH_2D returns edge lengths of a triangle in
2D.
- TRIANGLE_INCIRCLE_2D computes the inscribed circle of a
triangle in 2D.
- TRIANGLE_ORIENTATION_2D determines the orientation of a
triangle in 2D.
- TRIANGLE_ORTHOCENTER_2D computes the orthocenter of a triangle
in 2D.
- TRIANGLE_QUALITY_2D: “quality” of a triangle in 2D.
You can go up one level to the C++ source codes.
Last revised on 08 November 2015.