import numpy as np import math tri = np.matrix('2,2,1; 6,2,1; 6,4,1') print(tri) def translate(obj, nx, ny): trans = [[1, 0, 0], [0,1,0], [nx, ny,1]] return obj*trans def scale(obj, sx, sy): scale = [[sx, 0, 0], [0, sy, 0], [0,0,1]] return obj*scale def rotate(obj, angle): rotate = [[math.cos(angle), math.sin(angle), 0],[-math.sin(angle), math.cos(angle), 0],[0,0,1]] return obj*rotate print(translate(tri, 2,2)) print(scale(tri, 2,1/2)) print(rotate(tri, math.pi/2))