mirror of
https://github.com/3b1b/manim.git
synced 2025-07-28 12:32:36 +08:00
Add to OpeningManimExample
This commit is contained in:
@ -1,5 +1,3 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
|
|
||||||
from manimlib.imports import *
|
from manimlib.imports import *
|
||||||
|
|
||||||
# To watch one of these scenes, run the following:
|
# To watch one of these scenes, run the following:
|
||||||
@ -32,11 +30,15 @@ class OpeningManimExample(Scene):
|
|||||||
)
|
)
|
||||||
self.wait()
|
self.wait()
|
||||||
|
|
||||||
fade_comment = TextMobject("""
|
fade_comment = TextMobject(
|
||||||
You probably don't want to over use\\\\
|
"""
|
||||||
|
You probably don't want to overuse\\\\
|
||||||
Transforms, though, a simple fade often\\\\
|
Transforms, though, a simple fade often\\\\
|
||||||
looks nicer.
|
looks nicer.
|
||||||
""")
|
""",
|
||||||
|
font_size=36,
|
||||||
|
color=GREY_B,
|
||||||
|
)
|
||||||
fade_comment.next_to(
|
fade_comment.next_to(
|
||||||
transform_title, DOWN,
|
transform_title, DOWN,
|
||||||
buff=LARGE_BUFF,
|
buff=LARGE_BUFF,
|
||||||
@ -45,7 +47,7 @@ class OpeningManimExample(Scene):
|
|||||||
self.play(FadeIn(fade_comment, shift=DOWN))
|
self.play(FadeIn(fade_comment, shift=DOWN))
|
||||||
self.wait(3)
|
self.wait(3)
|
||||||
|
|
||||||
grid = NumberPlane()
|
grid = NumberPlane((-10, 10), (-5, 5))
|
||||||
grid_title = TextMobject(
|
grid_title = TextMobject(
|
||||||
"But manim is for illustrating math, not text",
|
"But manim is for illustrating math, not text",
|
||||||
)
|
)
|
||||||
@ -61,19 +63,35 @@ class OpeningManimExample(Scene):
|
|||||||
)
|
)
|
||||||
self.wait()
|
self.wait()
|
||||||
|
|
||||||
|
matrix = [[1, 1], [0, 1]]
|
||||||
|
linear_transform_title = VGroup(
|
||||||
|
TextMobject("This is what the matrix"),
|
||||||
|
IntegerMatrix(matrix, include_background_rectangle=True),
|
||||||
|
TextMobject("looks like")
|
||||||
|
)
|
||||||
|
linear_transform_title.arrange(RIGHT)
|
||||||
|
linear_transform_title.to_edge(UP)
|
||||||
|
|
||||||
|
self.play(
|
||||||
|
FadeOut(grid_title),
|
||||||
|
FadeIn(linear_transform_title),
|
||||||
|
)
|
||||||
|
self.play(grid.apply_matrix, matrix, run_time=3)
|
||||||
|
self.wait()
|
||||||
|
|
||||||
grid_transform_title = TextMobject(
|
grid_transform_title = TextMobject(
|
||||||
"This is a non-linear function applied to the grid"
|
"And this is a nonlinear transformation"
|
||||||
)
|
)
|
||||||
grid_transform_title.set_stroke(BLACK, 5, background=True)
|
grid_transform_title.set_stroke(BLACK, 5, background=True)
|
||||||
grid_transform_title.to_edge(UP)
|
grid_transform_title.to_edge(UP)
|
||||||
grid.prepare_for_nonlinear_transform()
|
grid.prepare_for_nonlinear_transform(100)
|
||||||
self.play(
|
self.play(
|
||||||
ApplyPointwiseFunction(
|
ApplyPointwiseFunction(
|
||||||
lambda p: p + np.array([np.sin(p[1]), np.sin(p[0]), 0]),
|
lambda p: p + np.array([np.sin(p[1]), np.sin(p[0]), 0]),
|
||||||
grid,
|
grid,
|
||||||
run_time=5,
|
run_time=5,
|
||||||
),
|
),
|
||||||
FadeOut(grid_title),
|
FadeOut(linear_transform_title),
|
||||||
FadeIn(grid_transform_title),
|
FadeIn(grid_transform_title),
|
||||||
)
|
)
|
||||||
self.wait()
|
self.wait()
|
||||||
@ -261,8 +279,8 @@ class SurfaceExample(Scene):
|
|||||||
# the light. These can be either urls, or paths to a local file
|
# the light. These can be either urls, or paths to a local file
|
||||||
# in whatever you've set as the iamge directory in
|
# in whatever you've set as the iamge directory in
|
||||||
# the custom_defaults.yml file
|
# the custom_defaults.yml file
|
||||||
day_texture = "https://upload.wikimedia.org/wikipedia/commons/4/4d/Whole_world_-_land_and_oceans.jpg"
|
day_texture = "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Whole_world_-_land_and_oceans.jpg/1280px-Whole_world_-_land_and_oceans.jpg"
|
||||||
night_texture = "https://upload.wikimedia.org/wikipedia/commons/b/ba/The_earth_at_night.jpg"
|
night_texture = "https://upload.wikimedia.org/wikipedia/commons/thumb/b/ba/The_earth_at_night.jpg/1280px-The_earth_at_night.jpg"
|
||||||
surfaces = [
|
surfaces = [
|
||||||
TexturedSurface(surface, day_texture, night_texture)
|
TexturedSurface(surface, day_texture, night_texture)
|
||||||
for surface in [sphere, torus1, torus2]
|
for surface in [sphere, torus1, torus2]
|
||||||
|
Reference in New Issue
Block a user