rotate self counterclockwise by angle
(self, angle)
| 263 | def __abs__(self): |
| 264 | return math.hypot(*self) |
| 265 | def rotate(self, angle): |
| 266 | """rotate self counterclockwise by angle |
| 267 | """ |
| 268 | perp = Vec2D(-self[1], self[0]) |
| 269 | angle = math.radians(angle) |
| 270 | c, s = math.cos(angle), math.sin(angle) |
| 271 | return Vec2D(self[0]*c+perp[0]*s, self[1]*c+perp[1]*s) |
| 272 | def __getnewargs__(self): |
| 273 | return (self[0], self[1]) |
| 274 | def __repr__(self): |