pub fn origin_point<T>(x: T, y: T, origin: Point<T>) -> Point<T>where T: Default + Clone + Debug + PartialEq + Add<Output = T>,