type t = { p: Gg.v2 ; size : float ; angle: float } let empty = { p = Gg.V2.of_tuple (0., 0.) ; size = 0. ; angle = 0. } let create x y = { p = Gg.V2.v x y ; size = 10. ; angle = Float.neg Gg.Float.pi_div_4 } let copy point p = { point with p } let (+) p1 p2 = { p1 with p = Gg.V2.(+) p1.p p2 } let get_coord { p; _ } = p let get_coord' : t -> Gg.v2 = fun t -> let open Gg.V2 in let trans = of_polar @@ v t.size t.angle in t.p + trans