Параметризация. До кривой Безье.

Описание классов
def getPoints(p)
def getGroupPoints(p)
def termNode(points)
#  the direction of traversal of a path
# направление обхода контура: True, если ппротив часовой стрелки, т.е. векторное произведение > 0
def traversePath(p0, p1, p2)
# получить список экземпляров класса Line в порядке обхода против часовой стрелки
# здесь передать в функцию getPoints(p), т.е. points - список экземпляров класса Point
def getLines(points):
# lines = getLines(getPoints(p))
def getBypassPoints(lines):
# function returns concave angles
# points = getBypassPoints(getLines(getPoints(p)))
def concaveNodes(points):
##############################################################################
# Parametrization to find centre of circle in case circle tangents to 3 points
#or 3 lines
##############################################################################

def paramOf3Points(p0, p1, p2):
def paramOf3Line(A0, A1, A2):
def paramOf3Lines(A0, A1, A2):
# return centre in case circle tangents to 3 points or 3 lines
def centreOfFirstCase(A):

##############################################################################
# Parametrization to find centre of circle in case circle tangents to 2 points
#and line or 2 lines and point
##############################################################################
# 2 lines and 1 point
def paramA1( A0, A1):
# 2 points and 1 line
def paramA2(p0, p1):
def paramB(line1,line2, point):
def paramC(A, B):
# return centre in case circle tangents to 2 points and line or 2 lines and
# point
def centreOfSecondCase(A, C):
##############################################################################
# Parametrization to find virtual point of Bezier Curve
##############################################################################

# get projection of the point
def projectionC(line, point):