求救(初学者)
from manim import *
from networkx.classes import degree


class TracePathExample(Scene):
def construct(self):
# 创建动点(一个点)
theta_tracker = ValueTracker(0)
line1 = Line(ORIGIN, (1,0,0))
line10=line1.copy()
line1.add_updater(lambda m: m.become(line10.copy().rotate(theta_tracker.get_value()*DEGREES,about_point=ORIGIN)))
line2=Line(line1.get_end(), (2,0,0))

line2.add_updater(
lambda m: m.become(Line(line1.get_end(),line1.get_end() + RIGHT).rotate(theta_tracker.get_value()* 0.5 * DEGREES, about_point=line2.get_start())))
dot = Dot(color=BLUE).move_to(ORIGIN)
dot2 = Dot(color=RED).move_to(ORIGIN)
self.add(line1,line2)
self.add(dot,dot2)

trace_path = TracedPath(
dot.get_center, # 获取动点坐标的函数
stroke_color=RED, # 轨迹颜色
stroke_width=2, # 线条宽度
stroke_opacity=0.7 # 透明度
)
trace_path2 = TracedPath(
dot2.get_center, # 获取动点坐标的函数
stroke_color=RED, # 轨迹颜色
stroke_width=2, # 线条宽度
stroke_opacity=0.7 # 透明度
)


self.add(trace_path,trace_path2)

dot.add_updater(lambda m: m.become(dot.move_to(line1.get_end())))
dot2.add_updater(lambda m: m.become(dot2.move_to(line2.get_end())))
self.wait(2)
self.play(theta_tracker.animate.set_value(4000),run_time=20,rate_func=linear)
2025-05-18
浏览386
登录后评论
2
1