这个示例实现了一个三角形顺时针变换为正方形的动画,直观展示了ClockwiseTransform对单个图形的变换效果。
triangle = Triangle()square = Square()triangle.move_to(DOWN + LEFT * 2)square.move_to(DOWN + RIGHT * 2)self.add(triangle)self.wait()self.play(ClockwiseTransform(triangle, square))
2.2. 多个图形顺时针变换
这个示例创建了多个圆形,使其分别顺时针变换为正方形,展示了多个对象同时进行顺时针变换的场景。
circles = [ Circle(radius=0.5) for i in range(3)]squares = [ Square(side_length=1) for i in range(3)]circles[0].move_to(2 * LEFT + UP)squares[0].move_to(2 * RIGHT + UP)circles[1].move_to(2 * LEFT)squares[1].move_to(2 * RIGHT)circles[2].move_to(2 * LEFT + DOWN)squares[2].move_to(2 * RIGHT + DOWN)self.add(*circles)self.wait()animations = [ClockwiseTransform(circles, squares) for i in range(3)]self.play(*animations)
2.3. 图形逆时针变换
这个示例将五边形逆时针变换为八边形,体现了CounterclockwiseTransform对单个图形的逆时针变换功能。
pentagon = RegularPolygon(n=5)hexagon = RegularPolygon(n=8)pentagon.move_to(UP + LEFT * 2)hexagon.move_to(UP + RIGHT * 2)self.add(pentagon)self.wait()self.play(CounterclockwiseTransform(pentagon, hexagon))
2.4. 多个图形逆时针变换
这个示例实现了多个三角形逆时针变换为菱形的动画,呈现了多个对象同时进行逆时针变换的效果。
triangles = [Triangle() for i in range(3)]rhombuses = [RegularPolygon(n=4) for i in range(3)]triangles[0].move_to(2 * LEFT + UP)rhombuses[0].move_to(2 * RIGHT + UP)triangles[1].move_to(2 * LEFT)rhombuses[1].move_to(2 * RIGHT)triangles[2].move_to(2 * LEFT + DOWN)rhombuses[2].move_to(2 * RIGHT + DOWN)self.add(*triangles)self.wait()animations = [ CounterclockwiseTransform(triangles, rhombuses) for i in range(3)]self.play(*animations)
3. 附件