triangle_grid, a Python code which generates a grid of points over the interior of a triangle in 2D.
Starting with any 3 points A, B, and C that define a triangle, we can divide each side of the triangle into N subintervals, and create a triangular grid. This defines ((N+1)*(N+2))/2 points that lie on the intersections of grid lines. The arrangement is suggested by this diagram:
X 9 X 8 9 X 7 8 9 X 6 7 8 9 X 5 6 7 8 9 X 4 5 6 7 8 9 X 3 4 5 6 7 8 9 X 2 3 4 5 6 7 8 9 X 1 2 3 4 5 6 7 8 9 X 0 1 2 3 4 5 6 7 8 9 X
The code includes a routine which allows the user to pick an arbitrary triangle and an arbitrary number of subdivisions. It then returns the triangular gridpoints defined by that choice.
The computer code and data files described and made available on this web page are distributed under the MIT license
triangle_grid is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.
BALL_GRID, a Python code which computes a grid of points over the interior of a ball in 3D.
CIRCLE_ARC_GRID, a Python code which computes a grid of points along a circle or circular arc in 2D.
CUBE_GRID, a Python code which computes a grid of points over the interior of a cube in 3D.
DISK_GRID, a Python code which computes a grid of points over the interior of a disk in 2D.
ELLIPSE_GRID, a Python code which computes a grid of points over the interior of an ellipse in 2D.
ELLIPSOID_GRID, a Python code which computes a grid of points over the interior of an ellipsoid in 3D.
HYPERCUBE_GRID, a Python code which computes a grid of points over the interior of a hypercube in M dimensions.
LINE_GRID, a Python code which computes a grid of points over the interior of a line segment in 1D.
POLYGON_GRID, a Python code which generates a grid of points over the interior of a polygon in 2D.
PYRAMID_GRID, a Python code which computes a grid of points over the interior of the unit pyramid in 3D;
SIMPLEX_GRID, a Python code which generates a regular grid of points over the interior of an arbitrary simplex in M dimensions.
SPHERE_FIBONACCI_GRID, a Python code which uses a Fibonacci spiral to create a grid of points on the surface of the unit sphere in 3D.
SPHERE_LLQ_GRID, a Python code which uses longitudes and latitudes to create grids of points, lines, and quadrilaterals on the surface of the unit sphere in 3D.
SPHERE_LLT_GRID, a Python code which uses longitudes and latitudes to create grids of points, lines, and triangles on the surface of the unit sphere in 3D.
SQUARE_GRID, a Python code which computes a grid of points over the interior of a square in 2D.
TETRAHEDRON_GRID, a Python code which computes a grid of points over the interior of a tetrahedron in 3D.
TRIANGLE_INTERPOLATE, a Python code which shows how vertex data can be interpolated at any point in the interior of a triangle.
WEDGE_GRID, a Python code which computes a grid of points over the interior of the unit wedge in 3D.