mirror of
https://github.com/3b1b/manim.git
synced 2025-07-30 05:24:22 +08:00
Refactored helpers.py into a folder of various util files, take 2
This commit is contained in:
@ -7,7 +7,7 @@ import warnings
|
|||||||
from mobject.mobject import Mobject, Group
|
from mobject.mobject import Mobject, Group
|
||||||
from mobject.vectorized_mobject import VMobject
|
from mobject.vectorized_mobject import VMobject
|
||||||
from mobject.tex_mobject import TextMobject
|
from mobject.tex_mobject import TextMobject
|
||||||
from animation import Animation
|
from .animation import Animation
|
||||||
from transform import Transform
|
from transform import Transform
|
||||||
from utils.bezier import inverse_interpolate
|
from utils.bezier import inverse_interpolate
|
||||||
from utils.config_ops import digest_config
|
from utils.config_ops import digest_config
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
import operator as op
|
import operator as op
|
||||||
|
|
||||||
from animation import Animation
|
from .animation import Animation
|
||||||
from transform import Transform
|
from transform import Transform
|
||||||
from mobject.mobject import Mobject1D, Mobject
|
from mobject.mobject import Mobject
|
||||||
|
from mobject.point_cloud_mobject import Mobject1D
|
||||||
from topics.geometry import Line
|
from topics.geometry import Line
|
||||||
from utils.paths import path_along_arc
|
from utils.paths import path_along_arc
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import warnings
|
|||||||
from mobject.mobject import Mobject, Group
|
from mobject.mobject import Mobject, Group
|
||||||
from mobject.vectorized_mobject import VMobject
|
from mobject.vectorized_mobject import VMobject
|
||||||
from mobject.tex_mobject import TextMobject
|
from mobject.tex_mobject import TextMobject
|
||||||
from animation import Animation
|
from .animation import Animation
|
||||||
from transform import Transform
|
from transform import Transform
|
||||||
from utils.bezier import interpolate
|
from utils.bezier import interpolate
|
||||||
from utils.config_ops import digest_config
|
from utils.config_ops import digest_config
|
||||||
|
@ -6,8 +6,9 @@ import warnings
|
|||||||
|
|
||||||
from constants import *
|
from constants import *
|
||||||
|
|
||||||
from animation import Animation
|
from .animation import Animation
|
||||||
from mobject.mobject import Mobject, Point, VMobject, Group
|
from mobject.mobject import Mobject, Group
|
||||||
|
from mobject.vectorized_mobject import VMobject, VectorizedPoint
|
||||||
from topics.geometry import Dot, Circle
|
from topics.geometry import Dot, Circle
|
||||||
from utils.config_ops import digest_config
|
from utils.config_ops import digest_config
|
||||||
from utils.iterables import adjacent_pairs
|
from utils.iterables import adjacent_pairs
|
||||||
@ -112,7 +113,7 @@ class GrowFromPoint(Transform):
|
|||||||
def __init__(self, mobject, point, **kwargs):
|
def __init__(self, mobject, point, **kwargs):
|
||||||
digest_config(self, kwargs)
|
digest_config(self, kwargs)
|
||||||
target = mobject.copy()
|
target = mobject.copy()
|
||||||
point_mob = Point(point)
|
point_mob = VectorizedPoint(point)
|
||||||
if self.point_color:
|
if self.point_color:
|
||||||
point_mob.set_color(self.point_color)
|
point_mob.set_color(self.point_color)
|
||||||
mobject.replace(point_mob)
|
mobject.replace(point_mob)
|
||||||
|
@ -63,7 +63,6 @@ from utils.color import *
|
|||||||
from utils.config_ops import *
|
from utils.config_ops import *
|
||||||
from utils.images import *
|
from utils.images import *
|
||||||
from utils.iterables import *
|
from utils.iterables import *
|
||||||
from utils.linear_algebra import *
|
|
||||||
from utils.paths import *
|
from utils.paths import *
|
||||||
from utils.rate_functions import *
|
from utils.rate_functions import *
|
||||||
from utils.simple_functions import *
|
from utils.simple_functions import *
|
||||||
|
@ -14,7 +14,7 @@ import subprocess as sp
|
|||||||
from constants import *
|
from constants import *
|
||||||
from scene.scene import Scene
|
from scene.scene import Scene
|
||||||
from camera.camera import Camera
|
from camera.camera import Camera
|
||||||
from utils.sound import play_error_sound, play_finish_sound
|
from utils.sounds import play_error_sound, play_finish_sound
|
||||||
|
|
||||||
HELP_MESSAGE = """
|
HELP_MESSAGE = """
|
||||||
Usage:
|
Usage:
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
__all__ = [
|
|
||||||
"mobject",
|
|
||||||
"image_mobject",
|
|
||||||
"tex_mobject",
|
|
||||||
]
|
|
||||||
|
@ -5,7 +5,7 @@ from PIL import Image
|
|||||||
from random import random
|
from random import random
|
||||||
|
|
||||||
from constants import *
|
from constants import *
|
||||||
from mobject.mobject import Mobject
|
from .mobject import Mobject
|
||||||
from point_cloud_mobject import PMobject
|
from point_cloud_mobject import PMobject
|
||||||
from utils.bezier import interpolate
|
from utils.bezier import interpolate
|
||||||
from utils.color import color_to_int_rgb
|
from utils.color import color_to_int_rgb
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
import operator as op
|
import operator as op
|
||||||
|
import itertools as it
|
||||||
import os
|
import os
|
||||||
import copy
|
import copy
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from constants import *
|
from constants import *
|
||||||
from mobject.mobject import Mobject
|
from .mobject import Mobject
|
||||||
from utils.bezier import interpolate
|
from utils.bezier import interpolate
|
||||||
from utils.color import color_to_rgb, color_to_rgba, rgba_to_color,
|
from utils.color import color_to_rgb, color_to_rgba, rgba_to_color
|
||||||
from utils.color import color_gradient
|
from utils.color import color_gradient
|
||||||
from utils.color import interpolate_color
|
from utils.color import interpolate_color
|
||||||
from utils.config_ops import digest_config
|
from utils.config_ops import digest_config
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
from xml.dom import minidom
|
from xml.dom import minidom
|
||||||
|
import itertools as it
|
||||||
|
import re
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
from constants import *
|
from constants import *
|
||||||
|
@ -7,6 +7,7 @@ from utils.config_ops import digest_config
|
|||||||
|
|
||||||
import collections
|
import collections
|
||||||
import sys
|
import sys
|
||||||
|
import operator as op
|
||||||
|
|
||||||
TEX_MOB_SCALE_FACTOR = 0.05
|
TEX_MOB_SCALE_FACTOR = 0.05
|
||||||
|
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
import re
|
import re
|
||||||
|
from colour import Color
|
||||||
|
|
||||||
from constants import *
|
from constants import *
|
||||||
from mobject.mobject import Mobject
|
from .mobject import Mobject
|
||||||
from utils.bezier import bezier, partial_bezier_points,
|
from utils.bezier import bezier, partial_bezier_points
|
||||||
from utils.bezier import interpolate, get_smooth_handle_points, is_closed
|
from utils.bezier import interpolate, get_smooth_handle_points, is_closed
|
||||||
from utils.color import color_to_rgb
|
from utils.color import color_to_rgb
|
||||||
from utils.color import interpolate_color
|
from utils.color import interpolate_color
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import scipy
|
import scipy
|
||||||
from big_ol_pile_of_manim_imports import *
|
from big_ol_pile_of_manim_imports import *
|
||||||
|
from old_projects.fourier import *
|
||||||
|
|
||||||
FREQUENCY_COLOR = RED
|
FREQUENCY_COLOR = RED
|
||||||
USE_ALMOST_FOURIER_BY_DEFAULT = False
|
USE_ALMOST_FOURIER_BY_DEFAULT = False
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from constants import *
|
from constants import *
|
||||||
|
|
||||||
from camera import MovingCamera
|
from camera.camera import MovingCamera
|
||||||
from scene.scene import Scene
|
from .scene import Scene
|
||||||
from topics.geometry import ScreenRectangle
|
from topics.geometry import ScreenRectangle
|
||||||
|
|
||||||
class MovingCameraScene(Scene):
|
class MovingCameraScene(Scene):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
from scene.scene import Scene
|
from .scene import Scene
|
||||||
from animation.transform import Transform
|
from animation.transform import Transform
|
||||||
from mobject.mobject import Mobject
|
from mobject.mobject import Mobject
|
||||||
|
|
||||||
|
@ -10,13 +10,15 @@ import copy
|
|||||||
from tqdm import tqdm as ProgressDisplay
|
from tqdm import tqdm as ProgressDisplay
|
||||||
import inspect
|
import inspect
|
||||||
import subprocess as sp
|
import subprocess as sp
|
||||||
|
import random
|
||||||
|
|
||||||
from constants import *
|
from constants import *
|
||||||
|
|
||||||
from camera.camera import Camera
|
from camera.camera import Camera
|
||||||
from tk_scene import TkSceneRoot
|
from tk_scene import TkSceneRoot
|
||||||
from mobject.mobject import Mobject, VMobject
|
from mobject.mobject import Mobject
|
||||||
from animation import Animation
|
from mobject.vectorized_mobject import VMobject
|
||||||
|
from animation.animation import Animation
|
||||||
from animation.transform import MoveToTarget
|
from animation.transform import MoveToTarget
|
||||||
from animation.continual_animation import ContinualAnimation
|
from animation.continual_animation import ContinualAnimation
|
||||||
from utils.iterables import list_update
|
from utils.iterables import list_update
|
||||||
|
@ -3,7 +3,7 @@ import cv2
|
|||||||
import itertools as it
|
import itertools as it
|
||||||
from tqdm import tqdm as show_progress
|
from tqdm import tqdm as show_progress
|
||||||
|
|
||||||
from scene.scene import Scene
|
from .scene import Scene
|
||||||
|
|
||||||
|
|
||||||
class SceneFromVideo(Scene):
|
class SceneFromVideo(Scene):
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
from scene.scene import Scene
|
from .scene import Scene
|
||||||
from animation.transform import FadeIn
|
from animation.transform import FadeIn
|
||||||
from mobject.mobject import Mobject
|
from mobject.mobject import Mobject
|
||||||
from topics.geometry import Rectangle
|
from topics.geometry import Rectangle
|
||||||
from camera import MovingCamera, Camera
|
from camera.camera import Camera
|
||||||
|
from camera.camera import MovingCamera
|
||||||
|
|
||||||
from constants import *
|
from constants import *
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ import itertools as it
|
|||||||
|
|
||||||
from constants import *
|
from constants import *
|
||||||
from scene.scene import Scene
|
from scene.scene import Scene
|
||||||
from animation import Animation
|
from animation.animation import Animation
|
||||||
from mobject.tex_mobject import TexMobject
|
from mobject.tex_mobject import TexMobject
|
||||||
|
|
||||||
class RearrangeEquation(Scene):
|
class RearrangeEquation(Scene):
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
|
import random
|
||||||
|
import numpy as np
|
||||||
|
import itertools as it
|
||||||
|
|
||||||
from constants import *
|
from constants import *
|
||||||
|
|
||||||
from mobject.mobject import Mobject
|
from mobject.mobject import Mobject, Group
|
||||||
from mobject.svg_mobject import SVGMobject
|
from mobject.svg_mobject import SVGMobject
|
||||||
from mobject.vectorized_mobject import VMobject, VGroup
|
from mobject.vectorized_mobject import VMobject, VGroup
|
||||||
from mobject.tex_mobject import TextMobject, TexMobject
|
from mobject.tex_mobject import TextMobject, TexMobject
|
||||||
@ -8,8 +12,9 @@ from mobject.tex_mobject import TextMobject, TexMobject
|
|||||||
from topics.objects import Bubble, ThoughtBubble, SpeechBubble
|
from topics.objects import Bubble, ThoughtBubble, SpeechBubble
|
||||||
from topics.geometry import ScreenRectangle
|
from topics.geometry import ScreenRectangle
|
||||||
|
|
||||||
from animation import Animation
|
from animation.animation import Animation
|
||||||
from animation.transform import *
|
from animation.transform import Transform, ApplyMethod, MoveToTarget
|
||||||
|
from animation.transform import ReplacementTransform, FadeOut, FadeIn
|
||||||
from animation.simple_animations import Write, ShowCreation
|
from animation.simple_animations import Write, ShowCreation
|
||||||
from animation.compositions import AnimationGroup
|
from animation.compositions import AnimationGroup
|
||||||
from scene.scene import Scene
|
from scene.scene import Scene
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
from constants import *
|
from constants import *
|
||||||
|
|
||||||
from scene.scene import Scene
|
from scene.scene import Scene
|
||||||
from animation import Animation
|
from animation.animation import Animation
|
||||||
from animation.simple_animations import Write, DrawBorderThenFill
|
from animation.simple_animations import Write, DrawBorderThenFill
|
||||||
from animation.compositions import LaggedStart
|
from animation.compositions import LaggedStart
|
||||||
from animation.transform import FadeIn, FadeOut, ApplyMethod
|
from animation.transform import FadeIn, FadeOut, ApplyMethod
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
from constants import *
|
from constants import *
|
||||||
|
|
||||||
|
|
||||||
from mobject import VGroup
|
from mobject.vectorized_mobject import VGroup
|
||||||
from mobject.tex_mobject import TexMobject, TextMobject
|
from mobject.tex_mobject import TexMobject, TextMobject
|
||||||
from number_line import NumberPlane
|
from number_line import NumberPlane
|
||||||
from animation import Animation
|
from animation.animation import Animation
|
||||||
from animation.transform import ApplyPointwiseFunction, MoveToTarget
|
from animation.transform import ApplyPointwiseFunction, MoveToTarget
|
||||||
from animation.simple_animations import Homotopy, ShowCreation, \
|
from animation.simple_animations import Homotopy, ShowCreation, \
|
||||||
SmoothedVectorizedHomotopy
|
SmoothedVectorizedHomotopy
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
from constants import *
|
from constants import *
|
||||||
|
|
||||||
|
import itertools as it
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
from mobject.mobject import Mobject
|
from mobject.mobject import Mobject
|
||||||
from mobject.vectorized_mobject import VMobject, VGroup
|
from mobject.vectorized_mobject import VMobject, VGroup
|
||||||
from utils.bezier import interpolate
|
from utils.bezier import interpolate
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
from constants import *
|
from constants import *
|
||||||
|
|
||||||
from mobject.mobject import Mobject1D
|
|
||||||
from mobject.vectorized_mobject import VMobject, VGroup
|
from mobject.vectorized_mobject import VMobject, VGroup
|
||||||
from mobject.tex_mobject import TexMobject
|
from mobject.tex_mobject import TexMobject
|
||||||
from topics.geometry import Line, Arrow
|
from topics.geometry import Line, Arrow
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
from mobject.vectorized_mobject import VMobject, VGroup, VectorizedPoint
|
from mobject.vectorized_mobject import VMobject, VGroup, VectorizedPoint
|
||||||
from mobject.tex_mobject import TexMobject
|
from mobject.tex_mobject import TexMobject
|
||||||
from animation import Animation
|
from animation.animation import Animation
|
||||||
from animation.continual_animation import ContinualAnimation
|
from animation.continual_animation import ContinualAnimation
|
||||||
from topics.geometry import BackgroundRectangle
|
from topics.geometry import BackgroundRectangle
|
||||||
from scene.scene import Scene
|
from scene.scene import Scene
|
||||||
|
@ -5,7 +5,7 @@ from mobject.vectorized_mobject import VGroup, VMobject, VectorizedPoint
|
|||||||
from mobject.svg_mobject import SVGMobject
|
from mobject.svg_mobject import SVGMobject
|
||||||
from mobject.tex_mobject import TextMobject, TexMobject, Brace
|
from mobject.tex_mobject import TextMobject, TexMobject, Brace
|
||||||
|
|
||||||
from animation import Animation
|
from animation.animation import Animation
|
||||||
from animation.simple_animations import Rotating
|
from animation.simple_animations import Rotating
|
||||||
from animation.compositions import LaggedStart, AnimationGroup
|
from animation.compositions import LaggedStart, AnimationGroup
|
||||||
from animation.transform import ApplyMethod, FadeIn, GrowFromCenter
|
from animation.transform import ApplyMethod, FadeIn, GrowFromCenter
|
||||||
|
@ -4,7 +4,7 @@ from scene.scene import Scene
|
|||||||
from mobject.mobject import Mobject
|
from mobject.mobject import Mobject
|
||||||
from mobject.vectorized_mobject import VMobject, VGroup
|
from mobject.vectorized_mobject import VMobject, VGroup
|
||||||
from mobject.tex_mobject import TexMobject, TextMobject
|
from mobject.tex_mobject import TexMobject, TextMobject
|
||||||
from animation import Animation
|
from animation.animation import Animation
|
||||||
from animation.transform import ApplyPointwiseFunction, Transform, \
|
from animation.transform import ApplyPointwiseFunction, Transform, \
|
||||||
ApplyMethod, FadeOut, ApplyFunction
|
ApplyMethod, FadeOut, ApplyFunction
|
||||||
from animation.simple_animations import ShowCreation, Write
|
from animation.simple_animations import ShowCreation, Write
|
||||||
|
@ -2,7 +2,7 @@ import numpy as np
|
|||||||
from scipy import linalg
|
from scipy import linalg
|
||||||
from utils.simple_functions import choose
|
from utils.simple_functions import choose
|
||||||
|
|
||||||
CLOSED_THRESHOLD = 0.01
|
CLOSED_THRESHOLD = 0.0
|
||||||
|
|
||||||
def bezier(points):
|
def bezier(points):
|
||||||
n = len(points) - 1
|
n = len(points) - 1
|
||||||
@ -123,4 +123,4 @@ def diag_to_matrix(l_and_u, diag):
|
|||||||
return matrix
|
return matrix
|
||||||
|
|
||||||
def is_closed(points):
|
def is_closed(points):
|
||||||
return np.linalg.norm(points[0] - points[-1]) < CLOSED_THRESHOLDp
|
return np.linalg.norm(points[0] - points[-1]) < CLOSED_THRESHOLD
|
@ -1,5 +1,5 @@
|
|||||||
from colour import Color
|
from colour import Color
|
||||||
from numpy import np
|
import numpy as np
|
||||||
import random
|
import random
|
||||||
|
|
||||||
from utils.bezier import interpolate
|
from utils.bezier import interpolate
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
from utils.bezier import interpolate
|
from utils.bezier import interpolate
|
||||||
from utils.space_ops import rotation_matrix
|
from utils.space_ops import rotation_matrix
|
||||||
|
from constants import OUT
|
||||||
|
|
||||||
|
STRAIGHT_PATH_THRESHOLD = 0.01
|
||||||
|
|
||||||
def straight_path(start_points, end_points, alpha):
|
def straight_path(start_points, end_points, alpha):
|
||||||
"""
|
"""
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
from utils.simple_functions import sigmoid
|
from utils.simple_functions import sigmoid
|
||||||
|
from utils.bezier import bezier
|
||||||
|
|
||||||
def smooth(t, inflection = 10.0):
|
def smooth(t, inflection = 10.0):
|
||||||
error = sigmoid(-inflection / 2)
|
error = sigmoid(-inflection / 2)
|
||||||
|
Reference in New Issue
Block a user