Advertisement
Guest User

Untitled

a guest
Jul 1st, 2015
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. from math import radians, cos, sin
  2.  
  3. import numpy as np
  4.  
  5.  
  6. def combine(*transformations):
  7. result = transformations[0]
  8. for transformation in transformations[1:]:
  9. result = np.dot(result, transformation)
  10.  
  11. return result
  12.  
  13.  
  14. def identity():
  15. return np.identity(3)
  16.  
  17.  
  18. def rotation(angle):
  19. a = radians(-angle)
  20. i = identity()
  21. i[0, 0] = cos(a)
  22. i[0, 1] = -sin(a)
  23. i[1, 0] = sin(a)
  24. i[1, 1] = cos(a)
  25. return i
  26.  
  27.  
  28. def scaling(sx, sy):
  29. i = identity()
  30. i[0, 0] = sx
  31. i[1, 1] = sy
  32. return i
  33.  
  34.  
  35. def translation(dx, dy):
  36. i = identity()
  37. i[0, 2] = dx
  38. i[1, 2] = dy
  39. return i
  40.  
  41.  
  42. def shear(k):
  43. i = identity()
  44. i[0, 1] = k
  45. return i
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement