class Delec():
    """Točkast masni delec, Newtonov model."""

    def __init__(self, m, x, y, vx=0.0, vy=0.0):
        self.m = m # masa
        self.x = x # pozicija
        self.y = y
        self.vx = vx # hitrost
        self.vy = vy

    def __repr__(self):
        return "Delec({0.m}, {0.x}, {0.y}, {0.vx}, {0.vy})".format(self)

    def energija(self):
        """Kinetična energija delca."""
        return 0.5 * self.m * (self.vx * self.vx + self.vy * self.vy)

    def premakni(self, dt, ax, ay):
        """Premakni delec pod vplivom enakomernega pospeška (ax, ay) v časovnem intervalu dt."""
        self.x = self.x + self.vx * dt + 0.5 * ax * dt * dt
        self.y = self.y + self.vy * dt + 0.5 * ay * dt * dt
        self.vx = self.vx + ax * dt
        self.vy = self.vy + ay * dt

    def neprozniTrk(self, other):
        """Neprožni trk med delcema self in other, predpostavimo da imata enako pozicijo.
           Delec other se zaleti v delec self, ki se spremeni (absorbira other)."""
        self.vx = (self.m * self.vx + other.m * other.vx) / (self.m + other.m)
        self.vy = (self.m * self.vy + other.m * other.vy) / (self.m + other.m)
        self.m = self.m + other.m
