def mirror_point_line_xy(point, line): """Mirror a point about a line. Parameters ---------- point : [float, float, float] | :class:`compas.geometry.Point` XY(Z) coordinates of the point to mirror. line : [point, point] | :class:`compas.geometry.Line` Two points defining the line. XY(Z) coordinates of the two points defining the mirror line. Returns ------- [float, float, float] The mirrored point, with Z=0. """ closest = closest_point_on_line_xy(point, line) return add_vectors_xy(closest, subtract_vectors_xy(closest, point))
def mirror_point_line_xy(point, line): """Mirror a point about a line. Parameters ---------- point : list of float XY(Z) coordinates of the point to mirror. line : tuple Two points defining the line. XY(Z) coordinates of the two points defining the mirror line. Returns ------- list of float The mirrored point, with Z=0. """ closest = closest_point_on_line_xy(point, line) return add_vectors_xy(closest, subtract_vectors_xy(closest, point))