DUNAVANT is a MATLAB library which defines the weights and abscisass for a sequence of 20 quadrature rules on a triangle, which are exact for polynomials up to degree 20.
These rules are almost optimal, in the sense that, for each polynomial degree, the number of points used in the rule is close to, or equal to, the theoretical minimum possible value.
A few of the rules include one or two points which are "slightly" outside the triangle; a few of the rules include weights which are negative. Both of these occurrences are generally undesirable.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
DUNAVANT is available in a C++ version and a FORTRAN90 version and a MATLAB version
FELIPPA, a MATLAB library which defines quadrature rules for lines, triangles, quadrilaterals, pyramids, wedges, tetrahedrons and hexahedrons.
GM_RULE, a MATLAB library which defines Grundmann-Moeller rules for quadrature over a triangle, tetrahedron, or general M-dimensional simplex.
LYNESS_RULE, a MATLAB library which returns Lyness-Jespersen quadrature rules for the triangle.
NCC_TRIANGLE, a MATLAB library which defines Newton-Cotes closed quadrature rules on a triangle.
NCO_TRIANGLE, a MATLAB library which defines Newton-Cotes open quadrature rules on a triangle.
STROUD, a MATLAB library which contains quadrature rules for a variety of unusual areas, surfaces and volumes in 2D, 3D and N-dimensions.
TRIANGLE_FEKETE, a MATLAB library which defines Fekete rules for quadrature or interpolation over a triangle.
TRIANGLE_MONTE_CARLO, a MATLAB program which uses the Monte Carlo method to estimate integrals over a triangle.
WANDZURA, a MATLAB library which defines Wandzura rules for quadrature on a triangle.
One of the tests in the sample calling program creates EPS files of the Dunavant points in the unit triangle. These have been converted to PNG files for display here.
You can go up one level to the MATLAB source codes.