def getComplexPolygonByStartEnd(endAngle, radius, sides, startAngle=0.0):
 if (endAngle == startAngle):
  return getComplexPolygon(complex(), radius, sides, startAngle)
 angleExtent = (endAngle - startAngle)
 sideAngle = ((2.0 * math.pi) / float(sides))
 sides = math.ceil(abs((angleExtent / sideAngle)))
 sideAngle = (angleExtent / float(sides))
 complexPolygon = []
 for side in xrange((abs(sides) + 1)):
  unitPolar = getWiddershinsUnitPolar(startAngle)
  complexPolygon.append((unitPolar * radius))
  startAngle += sideAngle
 return complexPolygon

def getComplexPolygonByStartEnd ( endAngle , radius , sides , startAngle = 0.0 ) : if ( endAngle == startAngle ) : return getComplexPolygon ( complex ( ) , radius , sides , startAngle ) angleExtent = ( endAngle - startAngle ) sideAngle = ( ( 2.0 * math . pi ) / float ( sides ) ) sides = math . ceil ( abs ( ( angleExtent / sideAngle ) ) ) sideAngle = ( angleExtent / float ( sides ) ) complexPolygon = [ ] for side in xrange ( ( abs ( sides ) + 1 ) ) : unitPolar = getWiddershinsUnitPolar ( startAngle ) complexPolygon . append ( ( unitPolar * radius ) ) startAngle += sideAngle return complexPolygon
get the complex polygon by start and end angle .