Repository: ManimCommunity/manim
File: manim/mobject/mobject.py (Python)

Code before:
        --------
        :meth:`move_to`

        """
        if config.renderer == "opengl":
            self.apply_points_function(
                lambda points: scale_factor * points,
                works_on_bounding_box=True,
                **kwargs,
            )
            return self
        else:
            self.apply_points_function_about_point(
                lambda points: scale_factor * points, **kwargs
            )
            return self

    def rotate_about_origin(self, angle, axis=OUT, axes=[]):
        """Rotates the :class:`~.Mobject` about the ORIGIN, which is at [0,0,0]."""
        return self.rotate(angle, axis, about_point=ORIGIN)

    def rotate(
        self,
        angle,
        axis=OUT,
        about_point: Sequence[float] = None,
        **kwargs,
    ):
        """Rotates the :class:`~.Mobject` about a certain point."""
        if config.renderer == "opengl":
            rot_matrix_T = rotation_matrix_transpose(angle, axis)
            self.apply_points_function(
                lambda points: np.dot(points, rot_matrix_T), about_point, **kwargs
            )
            return self
        else:
            rot_matrix = rotation_matrix(angle, axis)
            self.apply_points_function_about_point(
                lambda points: np.dot(points, rot_matrix.T), about_point, **kwargs
            )
            return self

    def flip(self, axis=UP, **kwargs):
        """Flips/Mirrors an mobject about its center.

        Examples
        --------

        .. manim:: FlipExample
            :save_last_frame:


Review comment (suggestion):
```suggestion
        about_point: Optional[Sequence[float]] = None,
```

Code after:
        --------
        :meth:`move_to`

        """
        if config.renderer == "opengl":
            self.apply_points_function(
                lambda points: scale_factor * points,
                works_on_bounding_box=True,
                **kwargs,
            )
            return self
        else:
            self.apply_points_function_about_point(
                lambda points: scale_factor * points, **kwargs
            )
            return self

    def rotate_about_origin(self, angle, axis=OUT, axes=[]):
        """Rotates the :class:`~.Mobject` about the ORIGIN, which is at [0,0,0]."""
        return self.rotate(angle, axis, about_point=ORIGIN)

    def rotate(
        self,
        angle,
        axis=OUT,
        about_point: Optional[Sequence[float]] = None,
        **kwargs,
    ):
        """Rotates the :class:`~.Mobject` about a certain point."""
        if config.renderer == "opengl":
            rot_matrix_T = rotation_matrix_transpose(angle, axis)
            self.apply_points_function(
                lambda points: np.dot(points, rot_matrix_T), about_point, **kwargs
            )
            return self
        else:
            rot_matrix = rotation_matrix(angle, axis)
            self.apply_points_function_about_point(
                lambda points: np.dot(points, rot_matrix.T), about_point, **kwargs
            )
            return self

    def flip(self, axis=UP, **kwargs):
        """Flips/Mirrors an mobject about its center.

        Examples
        --------

        .. manim:: FlipExample
            :save_last_frame: