I am currently in the search for a C++ function that takes a triangle and some input control data (e.g. max area) and returns a list of triangles that are as equilateral as possible. I know there are algorithms that do this in FEM softwares (using Delaunay subdivision plus adding nodes), but I haven't found a C++ code sample that applies for a 3d flat triangle.
I want to use this routine to subdivide a triangle mesh for Radiosity calculations, this is why I want to replace big skinny triangles for little equilateral ones.
Thanks in advance.