def construct(self): glass = Region(lambda x, y : y < 0, color = BLUE_E) self.generate_start_and_end_points() straight = Line(self.start_point, self.end_point) slow = TextMobject("Slow") slow.rotate(np.arctan(straight.get_slope())) slow.shift(straight.points[int(0.7*straight.get_num_points())]) slow.shift(0.5*DOWN) too_long = TextMobject("Too long") too_long.shift(UP) air = TextMobject("Air").shift(2*UP) water = TextMobject("Water").shift(2*DOWN) self.add(glass) self.play(GrowFromCenter(air)) self.play(GrowFromCenter(water)) self.wait() self.remove(air, water) ShowMultiplePathsScene.construct(self) self.play( Transform(self.path, straight) ) self.wait() self.play(GrowFromCenter(slow)) self.wait() self.remove(slow) self.leftmost.ingest_submobjects() self.play(Transform(self.path, self.leftmost, run_time = 3)) self.wait() self.play(ShimmerIn(too_long)) self.wait()
def construct(self): glass = Region(lambda x, y : y < 0, color = BLUE_E) self.generate_start_and_end_points() straight = Line(self.start_point, self.end_point) slow = TextMobject("Slow") slow.rotate(np.arctan(straight.get_slope())) slow.shift(straight.points[int(0.7*straight.get_num_points())]) slow.shift(0.5*DOWN) too_long = TextMobject("Too long") too_long.shift(UP) air = TextMobject("Air").shift(2*UP) water = TextMobject("Water").shift(2*DOWN) self.add(glass) self.play(GrowFromCenter(air)) self.play(GrowFromCenter(water)) self.dither() self.remove(air, water) ShowMultiplePathsScene.construct(self) self.play( Transform(self.path, straight) ) self.dither() self.play(GrowFromCenter(slow)) self.dither() self.remove(slow) self.leftmost.ingest_submobjects() self.play(Transform(self.path, self.leftmost, run_time = 3)) self.dither() self.play(ShimmerIn(too_long)) self.dither()