I recently did this for a chemistry project...
First Click on point(save index )
----Points indexed----(by connection)
then lookup the points location(x,y)..
if the polygon is growing as attached to a preexisting side, use relative distance to side midpoint, if not ignore,
treat the distacne pClick/(pMidpoint), pMouse as radius for the circumscribed circle, or inscribed which ever you prefer, refresh to screen the resulting polygons.
(i'd post code but that is not my intelectual property anymore..this bit is safe however)