Functions

def circleFrom3CircleTangents (circle1, circle2, circle3)
 
def innerSoddyCircle (circle1, circle2, circle3)
 
def outerSoddyCircle (circle1, circle2, circle3)
 

Variables

 Part = lz.LazyLoader("Part", globals(), "Part")
 

Function Documentation

◆ circleFrom3CircleTangents()

def draftgeoutils.circles_apollonius.circleFrom3CircleTangents (   circle1,
  circle2,
  circle3 
)
Return the circle that is tangent to three other circles. This problem is called the 'Problem of Appollonius'. A special case is that of 'Soddy circles'. To Do ----- Currently not all possible solutions are found, only the Soddy circles. * Calc all 6 homothetic centers. * Create 3 lines from the inner and 4 from the outer h. center. * Calc. the 4 inversion poles of these lines for each circle. * Calc. the radical center of the 3 circles. * Calc. the intersection points (max. 8) of 4 lines (through each inversion pole and the radical center) with the circle. * This gives us all the tangent points.

References draftgeoutils.circles_apollonius.innerSoddyCircle(), and draftgeoutils.circles_apollonius.outerSoddyCircle().

◆ innerSoddyCircle()

def draftgeoutils.circles_apollonius.innerSoddyCircle (   circle1,
  circle2,
  circle3 
)
Compute the inner soddy circle for three tightly packed circles. Original Java code Copyright (rc) 2008 Werner Randelshofer Converted to python by Martin Buerbaum 2009 http://www.randelshofer.ch/treeviz/

Referenced by draftgeoutils.circles_apollonius.circleFrom3CircleTangents().

◆ outerSoddyCircle()

def draftgeoutils.circles_apollonius.outerSoddyCircle (   circle1,
  circle2,
  circle3 
)
Compute the outer soddy circle for three tightly packed circles. Original Java code Copyright (rc) 2008 Werner Randelshofer Converted to python by Martin Buerbaum 2009 http://www.randelshofer.ch/treeviz/ Either Creative Commons Attribution 3.0, the MIT license, or the GNU Lesser General License LGPL.

Referenced by draftgeoutils.circles_apollonius.circleFrom3CircleTangents().

Variable Documentation

◆ Part

draftgeoutils.circles_apollonius.Part = lz.LazyLoader("Part", globals(), "Part")