Mercurial > touhou
diff pytouhou/utils/matrix.py @ 30:e3ba2fa966f6
Various optimizations
author | Thibaut Girka <thib@sitedethib.com> |
---|---|
date | Fri, 12 Aug 2011 23:47:34 +0200 |
parents | f405b947624d |
children | 55973a3f1222 |
line wrap: on
line diff
--- a/pytouhou/utils/matrix.py +++ b/pytouhou/utils/matrix.py @@ -36,10 +36,8 @@ class Matrix(object): d1 = self.data cos_a = cos(angle) sin_a = sin(angle) - a = [cos_a * d1[1][i] - sin_a * d1[2][i] for i in range(4)] - b = [sin_a * d1[1][i] + cos_a * d1[2][i] for i in range(4)] - d1[1][:] = a - d1[2][:] = b + d1[1][:], d1[2][:] = ([cos_a * d1[1][i] - sin_a * d1[2][i] for i in range(4)], + [sin_a * d1[1][i] + cos_a * d1[2][i] for i in range(4)]) def rotate_y(self, angle): @@ -47,20 +45,16 @@ class Matrix(object): d1 = self.data cos_a = cos(angle) sin_a = sin(angle) - a = [cos_a * d1[0][i] - sin_a * d1[2][i] for i in range(4)] - b = [sin_a * d1[0][i] + cos_a * d1[2][i] for i in range(4)] - d1[0][:] = a - d1[2][:] = b + d1[0][:], d1[2][:] = ([cos_a * d1[0][i] - sin_a * d1[2][i] for i in range(4)], + [sin_a * d1[0][i] + cos_a * d1[2][i] for i in range(4)]) def rotate_z(self, angle): d1 = self.data cos_a = cos(angle) sin_a = sin(angle) - a = [cos_a * d1[0][i] - sin_a * d1[1][i] for i in range(4)] - b = [sin_a * d1[0][i] + cos_a * d1[1][i] for i in range(4)] - d1[0][:] = a - d1[1][:] = b + d1[0][:], d1[1][:] = ([cos_a * d1[0][i] - sin_a * d1[1][i] for i in range(4)], + [sin_a * d1[0][i] + cos_a * d1[1][i] for i in range(4)]) @classmethod