本文整理汇总了Python中mobject.vectorized_mobject.VMobject.next_to方法的典型用法代码示例。如果您正苦于以下问题:Python VMobject.next_to方法的具体用法?Python VMobject.next_to怎么用?Python VMobject.next_to使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mobject.vectorized_mobject.VMobject
的用法示例。
在下文中一共展示了VMobject.next_to方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: describe_scalars
# 需要导入模块: from mobject.vectorized_mobject import VMobject [as 别名]
# 或者: from mobject.vectorized_mobject.VMobject import next_to [as 别名]
def describe_scalars(self, v, plane):
axes = plane.get_axes()
long_v = Vector(2*v.get_end())
long_minus_v = Vector(-2*v.get_end())
original_v = v.copy()
scaling_word = TextMobject("``Scaling''").to_corner(UP+LEFT)
scaling_word.shift(2*RIGHT)
scalars = VMobject(*map(TexMobject, [
"2,", "\\dfrac{1}{3},", "-1.8,", "\\dots"
]))
scalars.arrange_submobjects(RIGHT, buff = 0.4)
scalars.next_to(scaling_word, DOWN, aligned_edge = LEFT)
scalars_word = TextMobject("``Scalars''")
scalars_word.next_to(scalars, DOWN, aligned_edge = LEFT)
self.remove(plane)
self.add(axes)
self.play(
Write(scaling_word),
Transform(v, long_v),
run_time = 1.5
)
self.play(Transform(v, long_minus_v, run_time = 3))
self.play(Write(scalars))
self.dither()
self.play(Write(scalars_word))
self.play(Transform(v, original_v), run_time = 3)
self.dither(2)
示例2: construct
# 需要导入模块: from mobject.vectorized_mobject import VMobject [as 别名]
# 或者: from mobject.vectorized_mobject.VMobject import next_to [as 别名]
def construct(self):
matrix = Matrix([
[2, 0],
[-1, 1],
[-2, 1],
])
matrix.highlight_columns(X_COLOR, Y_COLOR)
brace = Brace(matrix)
words = VMobject(
TextMobject("Span", "of columns"),
TexMobject("\\Updownarrow"),
TextMobject("``Column space''")
)
words.arrange_submobjects(DOWN, buff = 0.1)
words.next_to(brace, DOWN)
words[0][0].highlight(PINK)
words[2].highlight(TEAL)
words[0].add_background_rectangle()
words[2].add_background_rectangle()
VMobject(matrix, brace, words).center()
self.add(matrix)
self.play(
GrowFromCenter(brace),
Write(words, run_time = 2)
)
self.dither()
示例3: add_scaling
# 需要导入模块: from mobject.vectorized_mobject import VMobject [as 别名]
# 或者: from mobject.vectorized_mobject.VMobject import next_to [as 别名]
def add_scaling(self, arrows, syms, arrays):
s_arrows = VMobject(
TexMobject("2"), Vector([1, 1]).highlight(YELLOW),
TexMobject("="), Vector([2, 2]).highlight(WHITE)
)
s_arrows.arrange_submobjects(RIGHT)
s_arrows.scale(0.75)
s_arrows.next_to(arrows, DOWN)
s_arrays = VMobject(
TexMobject("2"),
matrix_to_mobject([3, -5]).highlight(YELLOW),
TextMobject("="),
matrix_to_mobject(["2(3)", "2(-5)"])
)
s_arrays.arrange_submobjects(RIGHT)
s_arrays.scale(0.5)
s_arrays.next_to(arrays, DOWN)
s_syms = TexMobject(["2", "\\vec{\\textbf{v}}"])
s_syms.split()[-1].highlight(YELLOW)
s_syms.next_to(syms, DOWN)
self.play(
Write(s_arrows), Write(s_arrays), Write(s_syms),
run_time = 2
)
self.dither()
示例4: show_dependencies
# 需要导入模块: from mobject.vectorized_mobject import VMobject [as 别名]
# 或者: from mobject.vectorized_mobject.VMobject import next_to [as 别名]
def show_dependencies(self):
linalg = TextMobject("Linear Algebra")
subjects = map(TextMobject, [
"Computer science",
"Physics",
"Electrical engineering",
"Mechanical engineering",
"Statistics",
"\\vdots"
])
prev = subjects[0]
for subject in subjects[1:]:
subject.next_to(prev, DOWN, aligned_edge = LEFT)
prev = subject
all_subs = VMobject(*subjects)
linalg.to_edge(LEFT)
all_subs.next_to(linalg, RIGHT, buff = 2)
arrows = VMobject(*[
Arrow(linalg, sub)
for sub in subjects
])
self.play(Write(linalg, run_time = 1))
self.dither()
self.play(
ShowCreation(arrows, submobject_mode = "lagged_start"),
FadeIn(all_subs),
run_time = 2
)
self.dither()
self.linalg = linalg
示例5: construct
# 需要导入模块: from mobject.vectorized_mobject import VMobject [as 别名]
# 或者: from mobject.vectorized_mobject.VMobject import next_to [as 别名]
def construct(self):
title = TextMobject("Essence of Linear Algebra")
title.highlight(BLUE)
title.to_corner(UP+LEFT)
h_line = Line(SPACE_WIDTH*LEFT, SPACE_WIDTH*RIGHT)
h_line.next_to(title, DOWN)
h_line.to_edge(LEFT, buff = 0)
chapters = VMobject(*map(TextMobject, [
"Chapter 1: Vectors, what even are they?",
"Chapter 2: Linear combinations, span and bases",
"Chapter 3: Matrices as linear transformations",
"Chapter 4: Matrix multiplication as composition",
"Chapter 5: The determinant",
"Chapter 6: Inverse matrices, column space and null space",
"Chapter 7: Dot products and cross products",
"Chapter 8: Change of basis",
"Chapter 9: Eigenvectors and eigenvalues",
"Chapter 10: Abstract vector spaces",
]))
chapters.arrange_submobjects(DOWN)
chapters.scale(0.7)
chapters.next_to(h_line, DOWN)
self.play(
Write(title),
ShowCreation(h_line)
)
for chapter in chapters.split():
chapter.to_edge(LEFT, buff = 1)
self.play(FadeIn(chapter))
self.dither(2)
entry3 = chapters.split()[2]
added_words = TextMobject("(Personally, I'm most excited \\\\ to do this one)")
added_words.scale(0.5)
added_words.highlight(YELLOW)
added_words.next_to(h_line, DOWN)
added_words.to_edge(RIGHT)
arrow = Arrow(added_words.get_bottom(), entry3)
self.play(
ApplyMethod(entry3.highlight, YELLOW),
ShowCreation(arrow, submobject_mode = "one_at_a_time"),
Write(added_words),
run_time = 1
)
self.dither()
removeable = VMobject(added_words, arrow, h_line, title)
self.play(FadeOut(removeable))
self.remove(removeable)
self.series_of_videos(chapters)
示例6: show_formula
# 需要导入模块: from mobject.vectorized_mobject import VMobject [as 别名]
# 或者: from mobject.vectorized_mobject.VMobject import next_to [as 别名]
def show_formula(self):
matrix = self.get_matrix()
det_text = get_det_text(matrix)
f_str = "=(a+b)(c+d)-ac-bd-2bc=ad-bc"
formula = TexMobject(f_str)
formula.next_to(det_text, RIGHT)
everyone = VMobject(det_text, matrix, formula)
everyone.scale_to_fit_width(2*SPACE_WIDTH - 1)
everyone.next_to(DOWN, DOWN)
background_rect = BackgroundRectangle(everyone)
self.play(
ShowCreation(background_rect),
Write(everyone)
)
self.dither()
示例7: construct
# 需要导入模块: from mobject.vectorized_mobject import VMobject [as 别名]
# 或者: from mobject.vectorized_mobject.VMobject import next_to [as 别名]
def construct(self):
self.setup()
matrix = Matrix(np.array(self.transposed_matrix).transpose())
matrix.highlight_columns(X_COLOR, Y_COLOR)
matrix.next_to(ORIGIN, LEFT).to_edge(UP)
matrix_background = BackgroundRectangle(matrix)
self.play(ShowCreation(matrix_background), Write(matrix))
if self.show_square:
self.add_unit_square(animate = True)
self.add_foreground_mobject(matrix_background, matrix)
self.dither()
self.apply_transposed_matrix([self.transposed_matrix[0], [0, 1]])
self.apply_transposed_matrix([[1, 0], self.transposed_matrix[1]])
self.dither()
if self.show_square:
bottom_brace = Brace(self.i_hat, DOWN)
right_brace = Brace(self.square, RIGHT)
width = TexMobject(str(self.transposed_matrix[0][0]))
height = TexMobject(str(self.transposed_matrix[1][1]))
width.next_to(bottom_brace, DOWN)
height.next_to(right_brace, RIGHT)
for mob in bottom_brace, width, right_brace, height:
mob.add_background_rectangle()
self.play(Write(mob, run_time = 0.5))
self.dither()
width_target, height_target = width.copy(), height.copy()
det = np.linalg.det(self.transposed_matrix)
times, eq_det = map(TexMobject, ["\\times", "=%d"%det])
words = TextMobject("New area $=$")
equation = VMobject(
words, width_target, times, height_target, eq_det
)
equation.arrange_submobjects(RIGHT, buff = 0.2)
equation.next_to(self.square, UP, aligned_edge = LEFT)
equation.shift(0.5*RIGHT)
background_rect = BackgroundRectangle(equation)
self.play(
ShowCreation(background_rect),
Transform(width.copy(), width_target),
Transform(height.copy(), height_target),
*map(Write, [words, times, eq_det])
)
self.dither()
示例8: construct
# 需要导入模块: from mobject.vectorized_mobject import VMobject [as 别名]
# 或者: from mobject.vectorized_mobject.VMobject import next_to [as 别名]
def construct(self):
morty = Mortimer()
morty.scale(0.8)
morty.to_corner(DOWN+RIGHT)
morty.shift(0.5*LEFT)
title = TextMobject("Associativity:")
title.to_corner(UP+LEFT)
lhs = TexMobject(list("(AB)C"))
lp, a, b, rp, c = lhs.split()
rhs = VMobject(*[m.copy() for m in a, lp, b, c, rp])
point = VectorizedPoint()
start = VMobject(*[m.copy() for m in point, a, b, point, c])
for mob in lhs, rhs, start:
mob.arrange_submobjects(buff = 0.1)
a, lp, b, c, rp = rhs.split()
rhs = VMobject(lp, a, b, rp, c)##Align order to lhs
eq = TexMobject("=")
q_marks = TextMobject("???")
q_marks.submobject_gradient_highlight(TEAL_B, TEAL_D)
q_marks.next_to(eq, UP)
lhs.next_to(eq, LEFT)
rhs.next_to(eq, RIGHT)
start.move_to(lhs)
self.add(morty, title)
self.dither()
self.play(Blink(morty))
self.play(Write(start))
self.dither()
self.play(Transform(start, lhs))
self.dither()
self.play(
Transform(lhs, rhs, path_arc = -np.pi),
Write(eq)
)
self.play(Write(q_marks))
self.play(Blink(morty))
self.play(morty.change_mode, "pondering")
lp, a, b, rp, c = start.split()
self.show_full_matrices(morty, a, b, c, title)