triangle mesh algorithm