Working 3DScene example

This commit is contained in:
Jérome Eertmans
2022-07-13 23:04:12 +02:00
parent d9eab15fa5
commit 1720a7d742
4 changed files with 24 additions and 15 deletions

View File

@ -32,22 +32,34 @@ class Example(Slide):
class ThreeDExample(ThreeDSlide):
def construct(self):
axes = ThreeDAxes()
circle = Circle()
circle = Circle(radius=3, color=BLUE)
dot = Dot(color=RED)
# self.set_camera_orientation(phi=75 * DEGREES, theta=30 * DEGREES)
self.add(circle, axes)
self.add(axes)
self.set_camera_orientation(phi=75 * DEGREES, theta=30 * DEGREES)
self.play(GrowFromCenter(circle))
self.begin_ambient_camera_rotation(rate=75 * DEGREES / 4)
# self.begin_ambient_camera_rotation(rate=0.1)
self.pause()
# self.stop_ambient_camera_rotation()
# self.move_camera(phi=75 * DEGREES, theta=30 * DEGREES)
self.wait()
self.start_loop()
self.play(circle.animate.move_to(ORIGIN + UP))
self.play(MoveAlongPath(dot, circle), run_time=4, rate_func=linear)
self.end_loop()
self.play(circle.animate.move_to(ORIGIN))
self.stop_ambient_camera_rotation()
self.move_camera(phi=75 * DEGREES, theta=30 * DEGREES)
# TODO: fixit
self.play(dot.animate.move_to(ORIGIN))
self.pause()
self.play(dot.animate.move_to(RIGHT * 3))
self.pause()
self.start_loop()
self.play(MoveAlongPath(dot, circle), run_time=2, rate_func=linear)
self.end_loop()
# Each slide MUST end with an animation (a self.wait is considered an animation)
self.play(dot.animate.move_to(ORIGIN))