def translate(X, Y, P , Q, bPrint = True):
if bPrint:
print "New Coords: ", (X + P, Y + Q)
else:
return (X + P, Y + Q)
def enlarge(tCoords, tCoords1, SF):
X, Y = tCoords
X1, Y1 = tCoords1
n1 = X1 - X
n2 = Y1 - Y
if SF == 2:
print "New Coords: ", translate(X1, Y1, n1, n2, False)
elif SF == 0.5:
n3 = n1 / 2
n4 = n2 / 2
print "New Coords: ", translate(X1, Y1, -n3, -n4, False)
else:
if SF > 2:
while SF > 2:
X1, Y1 = translate(X1, Y1, n1, n2, False)
SF = SF - 1
if SF == 2:
print "New Coords: ", translate(X1, Y1, n1, n2, False)
elif SF == -1:
print "New Coords: ", translate(X, Y, -n1, -n2, False)
elif SF < -1:
while SF < -1:
X, Y = translate(X, Y, -n1, -n2, False)
SF = SF + 1
if SF == -1:
print "New Coords: ", translate(X,Y,-n1, -n2, False)
else:
print "Unavailable Scale Factor!"
loop = 1
while loop == 1:
X = input("X: ")
Y = input("Y: ")
X1 = input("X1: ")
Y1 = input("Y1: ")
SF = input("sf: ")
tCoords = (X, Y)
tCoords1 = (X1, Y1)
enlarge(tCoords, tCoords1, SF)
def rotate(tCoords, tCoords1, angle):
X, Y = tCoords
X1, Y1 = tCoords1
if angle == 180:
n1 = X1 - X
n2 = Y1 - Y
print "New Coords: ", translate(X, Y, -n1, -n2, False)
elif angle == 90:
n1 = X1 - X
n2 = Y1 - Y
translate(X, Y, n2, -n1)#The reversal of the Ns allows the prgram to switch direction!
elif angle == -90:
n1 = X1 - X
n2 = Y1 - Y
translate(X, Y, -n2, n1)