Beginning lost lecture project

This commit is contained in:
Grant Sanderson
2018-07-11 12:29:35 -07:00
parent 4075bb35c6
commit d2a20b8944

View File

@ -0,0 +1,52 @@
from __future__ import absolute_import
from big_ol_pile_of_manim_imports import *
class ShowEmergingEllipse(Scene):
def construct(self):
circle = Circle(num_anchors=50, radius=3, color=BLUE)
e_point = 2 * RIGHT
e_dot = Dot(e_point, color=YELLOW)
lines = VGroup(*[
Line(e_point, circle.point_from_proportion(a))
for a in np.linspace(0, 1, 4 * 49)
])
lines.set_stroke(width=1)
for line in lines:
line.generate_target()
line.target.rotate(90 * DEGREES)
fade_rect = FullScreenFadeRectangle()
line = lines[20]
line_dot = Dot(line.get_center(), color=YELLOW)
words = TextMobject("Rotate $90^\\circ$ \\\\ about center")
words.add_to_back(words.copy().set_stroke(BLACK, 2))
words.next_to(line_dot, RIGHT)
self.play(
LaggedStart(ShowCreation, lines),
Animation(VGroup(e_dot, circle))
)
self.add(lines.copy().set_stroke(LIGHT_GREY, 0.5))
self.add(e_dot, circle)
self.wait()
self.play(FadeIn(fade_rect), Animation(line))
self.play(
GrowFromCenter(line_dot),
FadeInFromDown(words)
)
self.add_foreground_mobjects(line.copy().set_stroke(LIGHT_GREY, 0.5))
self.play(MoveToTarget(line, path_arc=90 * DEGREES))
self.wait()
self.play(
FadeOut(fade_rect),
FadeOut(line_dot),
FadeOut(words),
Animation(line)
)
self.play(
LaggedStart(MoveToTarget, lines, run_time=4),
Animation(VGroup(e_dot, circle))
)
self.wait()