MCPcopy
hub / github.com/ManimCommunity/manim / Square

Class Square

manim/mobject/geometry/polygram.py:681–713  ·  view source on GitHub ↗

A rectangle with equal side lengths. Parameters ---------- side_length The length of the sides of the square. kwargs Additional arguments to be passed to :class:`Rectangle`. Examples -------- .. manim:: SquareExample :save_last_frame: cl

Source from the content-addressed store, hash-verified

679
680
681class Square(Rectangle):
682 """A rectangle with equal side lengths.
683
684 Parameters
685 ----------
686 side_length
687 The length of the sides of the square.
688 kwargs
689 Additional arguments to be passed to :class:`Rectangle`.
690
691 Examples
692 --------
693 .. manim:: SquareExample
694 :save_last_frame:
695
696 class SquareExample(Scene):
697 def construct(self):
698 square_1 = Square(side_length=2.0).shift(DOWN)
699 square_2 = Square(side_length=1.0).next_to(square_1, direction=UP)
700 square_3 = Square(side_length=0.5).next_to(square_2, direction=UP)
701 self.add(square_1, square_2, square_3)
702 """
703
704 def __init__(self, side_length: float = 2.0, **kwargs: Any) -> None:
705 super().__init__(height=side_length, width=side_length, **kwargs)
706
707 @property
708 def side_length(self) -> float:
709 return float(np.linalg.norm(self.get_vertices()[0] - self.get_vertices()[1]))
710
711 @side_length.setter
712 def side_length(self, value: float) -> None:
713 self.scale(value / self.side_length)
714
715
716class RoundedRectangle(Rectangle):

Calls

no outgoing calls