[1]:
from manim import *
from manim_geometry import *
config.media_embed = True
config.media_width = "100%"
_RV = "-v WARNING -qm --progress_bar None --disable_caching"
_RI = "-v WARNING -s --progress_bar None --disable_caching"
Manim Community v0.18.0
Tipical problems¶
Draw arc with strange angles¶
[2]:
class Problem(Scene):
def construct(self):
geos = Geos(self)
geos.create_geos({
"dA,dB": GeosVGroup(Dot(LEFT*1.5), Dot(RIGHT*1.5))\
.rotate(30*DEGREES).shift(DL),
"nR": geos.distance("dA,dB"),
"cB": geos.circle("dB,nR"),
},
set_all_labels=True,
label_buff=0,
)
self.add(geos.get_all_mobs_as_grp())
%manim $_RV Problem
[3]:
class Problem(Scene):
def construct(self):
geos = Geos(self)
geos.create_geos({
"dA,dB": GeosVGroup(Dot(LEFT*1.5), Dot(RIGHT*1.5))\
.rotate(30*DEGREES).shift(DL),
"nR": geos.distance("dA,dB"),
"cB": geos.circle("dB,nR"),
},
set_all_labels=True,
label_buff=0,
)
l1 = Line(LEFT*3, RIGHT*3)
l2 = l1.copy()
l1.match_y(geos.dA)
l2.match_y(geos.dB)
lAB = Line(geos.dA, geos.dB)
self.add(geos.get_all_mobs_as_grp())
self.add(l1, l2, lAB.scale(2))
%manim $_RV Problem
[4]:
class Problem(Scene):
def construct(self):
geos = Geos(self)
geos.create_geos({
"dA,dB": GeosVGroup(Dot(LEFT*1.5), Dot(RIGHT*1.5))\
.rotate(30*DEGREES).shift(DL),
"nR": geos.distance("dA,dB"),
"cB": geos.circle("dB,nR"),
"oBA": geos.angle2dots("dB,dA"),
"aB": geos.arc("dB", "nR", "oBA", -30*DEGREES),
},
set_all_labels=True,
label_buff=0,
)
self.add(geos.get_all_mobs_as_grp())
%manim $_RV Problem
[5]:
class Problem(Scene):
def construct(self):
geos = Geos(self)
geos.create_geos({
"dA,dB": GeosVGroup(Dot(LEFT*1.5), Dot(RIGHT*1.5))\
.rotate(30*DEGREES).shift(DL),
"nR": geos.distance("dA,dB"),
"cB": geos.circle("dB,nR"),
"oAB": geos.angle2dots("dA,dB", sum_angle=PI),
"aB": geos.arc("dB", "nR", "oAB", -30*DEGREES),
},
set_all_labels=True,
label_buff=0,
)
self.add(geos.get_all_mobs_as_grp())
%manim $_RV Problem
Draw parallel dot¶
[6]:
class Example(Scene):
def construct(self):
geos = Geos(self)
geos.create_geos({
"dA": Dot(LEFT+UP*2),
"dB": Dot(-LEFT-UP*2),
"dC": Dot(RIGHT+UP),
"dD": geos.parallel_dot("dC", "dA,dB"),
"lAB,aA": geos.intersection_arc("dA", "dB"),
"lCD,aC": geos.intersection_arc("dC", "dD", rotated=True),
},
set_all_labels=True
)
self.add(NumberPlane().fade(0.7))
self.add(geos.get_all_dots())
self.add(geos.get_all_labels())
self.play(DrawArcCompass(geos.lAB, remove_line=False))
self.play(
ReplacementTransform(geos.lAB.copy(), geos.lCD),
)
self.play(
DrawArcCompass(geos.lCD, create_line=False, remove_line=False)
)
self.play(*map(FadeOut, [geos.lCD, geos.lAB, geos.aA, geos.aC]))
self.wait()
%manim $_RV Example
[ ]: