You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

22 lines
525 B
Python

import copy
class Transformation:
def __init__(self):
self._translation_x = 0
self._translation_y = 0
def set_translation(self, x, y):
self._translation_x = x
self._translation_y = y
def get_position(self, x, y):
translated_x = x + self._translation_x
translated_y = y + self._translation_y
return (translated_x, translated_y)
def compose(self, transf):
composed = copy.copy(self)
composed._translation_x += transf._translation_x
composed._translation_y += transf._translation_y
return composed