from manim import *
from manim_mobject_svg import *
from pathlib import Path
config.media_embed = True
path = Path("media/Tex")
path.mkdir(parents=True, exist_ok=True)
param= "-v WARNING --progress_bar None --format=gif -r 500,200 --disable_caching Example"
ORANGE = "#FFA500"
BLUE = '#6495ED'
GREY = '#dddddd'
Loading...
Line.set_default(color = BLACK)
Angle.set_default(radius=0.5, other_angle=False,color = BLACK)
g = VGroup(Square().scale(1.2))
g.set_color(GREY)
coordinate_system = VGroup(Dot([0,0,0]),Arrow(ORIGIN, 1*UP, buff=0), Arrow(ORIGIN, 1*RIGHT, buff=0 )).shift((DOWN+LEFT)*0.4)
coordinate_system.set_color(GREY)
CENTER_POLAR = coordinate_system.submobjects[0].get_center()
small_dot = Dot(color=BLACK, point=CENTER_POLAR, radius=0.02)
line1 = Line(CENTER_POLAR,CENTER_POLAR+ 0.7*RIGHT)
def make_moving_objects(rr, tt):
moving_line = Line(CENTER_POLAR,CENTER_POLAR+ rr * UP).rotate(-tt * DEGREES, about_point=CENTER_POLAR)
do = Dot(moving_line.get_end(), color=ORANGE , z_index=10)
rval= MathTex("r" , color=BLACK)
rval.move_to(moving_line.get_center()+moving_line.copy().rotate(PI / 2).get_unit_vector()*0.2)
a = Angle(line1, moving_line)
te = MathTex(r"\theta", color=BLACK).move_to(
Angle(
line1, moving_line, radius=0.5 + 2.5 * SMALL_BUFF
).point_from_proportion(0.5)
)
return moving_line,do, rval, a, te
moving_line,do, rval, a, te = make_moving_objects(1, 40)
g += VGroup(coordinate_system,small_dot,line1)
g += VGroup(moving_line,do, rval, a, te)
g
Loading...
class BBB(ZoomedScene):
def construct(self):
def my_upd(mob):
moving_line,do, rval, a, te = make_moving_objects(r_tracker.get_value(),theta_tracker.get_value())
z = VGroup(moving_line,do,rval,a,te)
mob.become(z)
gx = g.copy()
self.camera.frame.width = gx.width + 3 * SMALL_BUFF
self.add(gx)
moving_objects = gx[2]
self.camera.background_color = WHITE
r_tracker= ValueTracker(1)
theta_tracker = ValueTracker(40)
self.wait(0.1)
moving_objects.add_updater( my_upd)
self.play(theta_tracker.animate.set_value(-10), run_time = 0.6)
self.play(theta_tracker.animate.set_value(40), run_time = 0.6)
%manim -v WARNING -ql -r 200,200 --progress_bar None --format=GIF --disable_caching BBB
# %manim -v WARNING -ql -r 200,200 --progress_bar None --disable_caching BBB

class BBB(ZoomedScene):
def construct(self):
def my_upd(mob):
moving_line,do, rval, a, te = make_moving_objects(r_tracker.get_value(),theta_tracker.get_value())
z = VGroup(moving_line,do,rval,a,te)
mob.become(z)
gx = g.copy()
self.camera.frame.width = gx.width + 3 * SMALL_BUFF
self.add(gx)
moving_objects = gx[2]
self.camera.background_color =WHITE
r_tracker= ValueTracker(1)
theta_tracker = ValueTracker(40)
self.wait(0.1)
moving_objects.add_updater( my_upd)
self.play(r_tracker.animate.set_value(1.4), run_time= 0.6)
self.play(r_tracker.animate.set_value(1), run_time= 0.6)
%manim -v WARNING -ql -r 200,200 --progress_bar None --format=GIF --disable_caching BBB
# %manim -v WARNING -ql -r 200,200 --progress_bar None --disable_caching BBB
