manim实现直角坐标系上一点的运动
要使用manim实现直角坐标系上一点的运动,可以按照以下步骤进行操作:
- 导入manim库:
from manim import *
- 创建一个继承自Scene的类,用于显示动画:
class MyScene(Scene):
def construct(self):
pass
- 在construct方法中创建直角坐标系:
axes = Axes(
x_range=(-5, 5, 1),
y_range=(-5, 5, 1),
x_length=10,
y_length=10,
axis_config={"color": WHITE},
x_axis_config={"numbers_to_include": range(-5, 6)},
y_axis_config={"numbers_to_include": range(-5, 6)}
)
self.play(Create(axes))
- 创建一个Dot对象,并设置其初始位置:
dot = Dot(point=axes.c2p(0, 0)) # 初始位置在坐标原点
self.play(Create(dot))
- 创建一个运动路径,并设置运动的终点:
path = TracedPath(dot.get_center, stroke_color=YELLOW, stroke_width=2)
self.play(MoveAlongPath(dot, path), run_time=4) # 运动时间为4秒
- 播放动画:
self.wait(1) # 等待1秒
self.play(FadeOut(dot)) # 淡出点对象
self.wait(1) # 等待1秒
- 运行动画:
MyScene().render()
完整的代码如下所示:
from manim import *
class MyScene(Scene):
def construct(self):
axes = Axes(
x_range=(-5, 5, 1),
y_range=(-5, 5, 1),
x_length=10,
y_length=10,
axis_config={"color": WHITE},
x_axis_config={"numbers_to_include": range(-5, 6)},
y_axis_config={"numbers_to_include": range(-5, 6)}
)
self.play(Create(axes))
dot = Dot(point=axes.c2p(0, 0))
self.play(Create(dot))
path = TracedPath(dot.get_center, stroke_color=YELLOW, stroke_width=2)
self.play(MoveAlongPath(dot, path), run_time=4)
self.wait(1)
self.play(FadeOut(dot))
self.wait(1)
MyScene().render()
运行代码后,会生成一个名为MyScene的动画视频,显示一个点在直角坐标系上的运动轨迹
原文地址: https://www.cveoy.top/t/topic/h12p 著作权归作者所有。请勿转载和采集!