Let’s assume we want to construct a grid over an arbitrary planar domain filling it with triangles .We can use Cavendish’s semi automatic triangulation algorithm . This algorithm which will be described generates meshes with triangular elements for the decomposition of a region giving a special advantage to the user to specify the density of the elements , giving that way a mesh , appropriate to the physical and boundary conditions . The algorithm uses a modified algorithm from the Suhara-Fukuda algorithm and goes like this :
DEFINING THE AREA (interior , boundary nodes and density of elements)
For instance , let’s assume we want to generate a triangular mesh over a circular domain with circle in it ( hole) .We call the domain R. The user is first required to make an arcwise (multiply) .

The domain R with counter-clockwise ordering of boundary nodes
connected polygonal approximation R to the planar structure to be triangulated.The boundary
must be composed of a disjoint union of simple, closed, piecewise linear arcs.
In order to provide the facility for triangulations of varying node density, the user is required to cover the region R with a disjoint set of simply connected polygonal zones
,
In particular, for each zone
user is required to specify (in counter-clockwise order) the x-y co-ordinates which serve to define the boundary 
For each zone there must be an accompanying density factor
> 0.

Zonal decomposition of R
In order to get triangles with very avute angles , we demand all the nodes to lie in the interior area that is defined by the boundary elements .
NODES GENERATING
Starting from node 1 and moving counter clockwise , the algorithm circumscribes the smallest rectangle in the zone Z which belongs .To make things clearer we superimpose a rectangular grid with unit equal to the density .Our purpose is to to randomly generate one interior node in each sub-square of the grid .

Generation of interior node points
Thus applying this to all the other sub-domains Zi we get the interior nodes . As many as five consecutive attempts are made to generate a retainable random point in any one sub-square. If no point is successfully generated after five consecutive attempts, then no node is designated in that sub-square and the next sub-square is considered. This process is repeated until all sub-squares have been tested .The flow chart of the method is the following :

But we are not done . there must be an algorithm that will precises the interconnections of the nodes by checking the neighborhood of each edge such that the choice of the 3rd node , will give as acute interior angels . But this will be discussed latter …