mirror of
https://github.com/3b1b/manim.git
synced 2025-08-05 16:49:03 +00:00
Rename set_color_columns
This commit is contained in:
parent
d184c5fc9e
commit
45d3806b86
16 changed files with 87 additions and 77 deletions
|
@ -1209,7 +1209,7 @@ class SolvingASystemWithOrthonormalMatrix(LinearTransformationScene):
|
||||||
height=1.25,
|
height=1.25,
|
||||||
)
|
)
|
||||||
system.to_corner(UL)
|
system.to_corner(UL)
|
||||||
system.matrix_mobject.set_color_columns(X_COLOR, Y_COLOR)
|
system.matrix_mobject.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
system.input_vect_mob.elements.set_color(WHITE)
|
system.input_vect_mob.elements.set_color(WHITE)
|
||||||
system_rect = BackgroundRectangle(system, buff=MED_SMALL_BUFF)
|
system_rect = BackgroundRectangle(system, buff=MED_SMALL_BUFF)
|
||||||
|
|
||||||
|
@ -1590,7 +1590,7 @@ class TransformingAreasYCoord(LinearTransformationScene):
|
||||||
apply_words = TextMobject("Apply")
|
apply_words = TextMobject("Apply")
|
||||||
apply_words.add_background_rectangle()
|
apply_words.add_background_rectangle()
|
||||||
matrix_mobject = IntegerMatrix(self.matrix)
|
matrix_mobject = IntegerMatrix(self.matrix)
|
||||||
matrix_mobject.set_color_columns(X_COLOR, Y_COLOR)
|
matrix_mobject.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix_mobject.add_background_rectangle()
|
matrix_mobject.add_background_rectangle()
|
||||||
matrix_mobject.next_to(apply_words, RIGHT)
|
matrix_mobject.next_to(apply_words, RIGHT)
|
||||||
matrix_brace = Brace(matrix_mobject, DOWN, buff=SMALL_BUFF)
|
matrix_brace = Brace(matrix_mobject, DOWN, buff=SMALL_BUFF)
|
||||||
|
@ -1773,7 +1773,7 @@ class TransformingAreasYCoord(LinearTransformationScene):
|
||||||
denom_det_text = get_det_text(matrix_mobject_copy)
|
denom_det_text = get_det_text(matrix_mobject_copy)
|
||||||
top_matrix_mobject = IntegerMatrix(new_matrix)
|
top_matrix_mobject = IntegerMatrix(new_matrix)
|
||||||
top_matrix_mobject.set_height(frac_matrix_height)
|
top_matrix_mobject.set_height(frac_matrix_height)
|
||||||
top_matrix_mobject.set_color_columns(X_COLOR, Y_COLOR)
|
top_matrix_mobject.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
VGroup(*top_matrix_mobject.mob_matrix[:, self.index]).set_color(MAROON_B)
|
VGroup(*top_matrix_mobject.mob_matrix[:, self.index]).set_color(MAROON_B)
|
||||||
top_matrix_mobject.add_background_rectangle()
|
top_matrix_mobject.add_background_rectangle()
|
||||||
num_det_text = get_det_text(top_matrix_mobject)
|
num_det_text = get_det_text(top_matrix_mobject)
|
||||||
|
@ -1986,7 +1986,7 @@ class ThreeDCoordinatesAsVolumes(Scene):
|
||||||
x, y, z = coords = VGroup(*list(map(TexMobject, "xyz")))
|
x, y, z = coords = VGroup(*list(map(TexMobject, "xyz")))
|
||||||
coords.set_color_by_gradient(*colors)
|
coords.set_color_by_gradient(*colors)
|
||||||
matrix = IntegerMatrix(np.identity(3))
|
matrix = IntegerMatrix(np.identity(3))
|
||||||
matrix.set_color_columns(*colors)
|
matrix.set_column_colors(*colors)
|
||||||
det_text = get_det_text(matrix)
|
det_text = get_det_text(matrix)
|
||||||
equals = TexMobject("=")
|
equals = TexMobject("=")
|
||||||
equals.next_to(det_text[0], LEFT)
|
equals.next_to(det_text[0], LEFT)
|
||||||
|
|
|
@ -112,9 +112,16 @@ class Matrix(VMobject):
|
||||||
self.brackets = VGroup(l_bracket, r_bracket)
|
self.brackets = VGroup(l_bracket, r_bracket)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def set_color_columns(self, *colors):
|
def get_columns(self):
|
||||||
for i, color in enumerate(colors):
|
return VGroup(*[
|
||||||
VGroup(*self.mob_matrix[:, i]).set_color(color)
|
VGroup(*self.mob_matrix[:, i])
|
||||||
|
for i in range(self.mob_matrix.shape[1])
|
||||||
|
])
|
||||||
|
|
||||||
|
def set_column_colors(self, *colors):
|
||||||
|
columns = self.get_columns()
|
||||||
|
for color, column in zip(colors, columns):
|
||||||
|
column.set_color(color)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def add_background_to_entries(self):
|
def add_background_to_entries(self):
|
||||||
|
|
|
@ -41,8 +41,9 @@ class SVGMobject(VMobject):
|
||||||
"propagate_style_to_family": True,
|
"propagate_style_to_family": True,
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, file_name=None, **kwargs):
|
||||||
digest_config(self, kwargs, locals())
|
digest_config(self, kwargs)
|
||||||
|
self.file_name = self.file_name or file_name
|
||||||
self.ensure_valid_file()
|
self.ensure_valid_file()
|
||||||
VMobject.__init__(self, **kwargs)
|
VMobject.__init__(self, **kwargs)
|
||||||
self.move_into_position()
|
self.move_into_position()
|
||||||
|
|
|
@ -308,9 +308,11 @@ class VMobject(Mobject):
|
||||||
self.color_using_background_image(vmobject.get_background_image_file())
|
self.color_using_background_image(vmobject.get_background_image_file())
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def set_shade_in_3d(self, value=True):
|
def set_shade_in_3d(self, value=True, z_index_as_group=False):
|
||||||
for submob in self.get_family():
|
for submob in self.get_family():
|
||||||
submob.shade_in_3d = value
|
submob.shade_in_3d = value
|
||||||
|
if z_index_as_group:
|
||||||
|
submob.z_index_group = self
|
||||||
|
|
||||||
# Drawing
|
# Drawing
|
||||||
def start_at(self, point):
|
def start_at(self, point):
|
||||||
|
|
|
@ -145,7 +145,7 @@ class ExampleTranformationScene(LinearTransformationScene):
|
||||||
|
|
||||||
def add_matrix(self):
|
def add_matrix(self):
|
||||||
matrix = Matrix(self.t_matrix.T)
|
matrix = Matrix(self.t_matrix.T)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.next_to(ORIGIN, LEFT, buff = MED_SMALL_BUFF)
|
matrix.next_to(ORIGIN, LEFT, buff = MED_SMALL_BUFF)
|
||||||
matrix.to_edge(UP)
|
matrix.to_edge(UP)
|
||||||
matrix.rect = BackgroundRectangle(matrix)
|
matrix.rect = BackgroundRectangle(matrix)
|
||||||
|
@ -492,7 +492,7 @@ class EigenvalueNegativeOneHalf(LinearTransformationScene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
matrix = Matrix(self.t_matrix.T)
|
matrix = Matrix(self.t_matrix.T)
|
||||||
matrix.add_to_back(BackgroundRectangle(matrix))
|
matrix.add_to_back(BackgroundRectangle(matrix))
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.next_to(ORIGIN, LEFT)
|
matrix.next_to(ORIGIN, LEFT)
|
||||||
matrix.to_edge(UP)
|
matrix.to_edge(UP)
|
||||||
self.add_foreground_mobject(matrix)
|
self.add_foreground_mobject(matrix)
|
||||||
|
@ -1506,7 +1506,7 @@ class Rotate90Degrees(LinearTransformationScene):
|
||||||
def setup(self):
|
def setup(self):
|
||||||
LinearTransformationScene.setup(self)
|
LinearTransformationScene.setup(self)
|
||||||
matrix = Matrix(self.t_matrix.T)
|
matrix = Matrix(self.t_matrix.T)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.next_to(ORIGIN, LEFT)
|
matrix.next_to(ORIGIN, LEFT)
|
||||||
matrix.to_edge(UP)
|
matrix.to_edge(UP)
|
||||||
matrix.rect = BackgroundRectangle(matrix)
|
matrix.rect = BackgroundRectangle(matrix)
|
||||||
|
@ -1766,7 +1766,7 @@ class ScalingExample(LinearTransformationScene):
|
||||||
}
|
}
|
||||||
def construct(self):
|
def construct(self):
|
||||||
matrix = Matrix(self.t_matrix.T)
|
matrix = Matrix(self.t_matrix.T)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.add_to_back(BackgroundRectangle(matrix))
|
matrix.add_to_back(BackgroundRectangle(matrix))
|
||||||
matrix.next_to(ORIGIN, LEFT)
|
matrix.next_to(ORIGIN, LEFT)
|
||||||
matrix.to_edge(UP)
|
matrix.to_edge(UP)
|
||||||
|
@ -1815,7 +1815,7 @@ class BasisVectorsAreEigenvectors(LinearTransformationScene):
|
||||||
}
|
}
|
||||||
def construct(self):
|
def construct(self):
|
||||||
matrix = Matrix(self.t_matrix.T)
|
matrix = Matrix(self.t_matrix.T)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.next_to(ORIGIN, LEFT)
|
matrix.next_to(ORIGIN, LEFT)
|
||||||
matrix.to_edge(UP)
|
matrix.to_edge(UP)
|
||||||
|
|
||||||
|
@ -1916,7 +1916,7 @@ class DefineDiagonalMatrix(Scene):
|
||||||
self.play(Write(title))
|
self.play(Write(title))
|
||||||
self.wait()
|
self.wait()
|
||||||
self.play(
|
self.play(
|
||||||
matrix.set_color_columns,
|
matrix.set_column_colors,
|
||||||
X_COLOR, Y_COLOR, Z_COLOR, YELLOW
|
X_COLOR, Y_COLOR, Z_COLOR, YELLOW
|
||||||
)
|
)
|
||||||
self.wait()
|
self.wait()
|
||||||
|
@ -1989,7 +1989,7 @@ class RepeatedMultiplicationInAction(Scene):
|
||||||
|
|
||||||
def get_matrix(self, vector):
|
def get_matrix(self, vector):
|
||||||
matrix = Matrix([[3, 0], [0, 2]])
|
matrix = Matrix([[3, 0], [0, 2]])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.next_to(vector, LEFT)
|
matrix.next_to(vector, LEFT)
|
||||||
scalars = [matrix.get_mob_matrix()[i, i] for i in range(2)]
|
scalars = [matrix.get_mob_matrix()[i, i] for i in range(2)]
|
||||||
matrix.remove(*scalars)
|
matrix.remove(*scalars)
|
||||||
|
@ -2004,7 +2004,7 @@ class RepeatedMultilpicationOfMatrices(Scene):
|
||||||
vector = Matrix(["x", "y"])
|
vector = Matrix(["x", "y"])
|
||||||
vector.set_color(YELLOW)
|
vector.set_color(YELLOW)
|
||||||
matrix = Matrix(self.matrix)
|
matrix = Matrix(self.matrix)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrices = VGroup(*[
|
matrices = VGroup(*[
|
||||||
matrix.copy(),
|
matrix.copy(),
|
||||||
TexMobject("\\dots\\dots"),
|
TexMobject("\\dots\\dots"),
|
||||||
|
|
|
@ -1722,7 +1722,7 @@ class IntroducePolynomialSpace(Scene):
|
||||||
last_col.arrange_submobjects(DOWN, buff = 0.83)
|
last_col.arrange_submobjects(DOWN, buff = 0.83)
|
||||||
last_col.move_to(last_col_top, aligned_edge = UP+RIGHT)
|
last_col.move_to(last_col_top, aligned_edge = UP+RIGHT)
|
||||||
##End horrible
|
##End horrible
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR, Z_COLOR, MAROON_B)
|
matrix.set_column_colors(X_COLOR, Y_COLOR, Z_COLOR, MAROON_B)
|
||||||
|
|
||||||
deriv = TexMobject("\\dfrac{d}{dx}")
|
deriv = TexMobject("\\dfrac{d}{dx}")
|
||||||
equals = TexMobject("=")
|
equals = TexMobject("=")
|
||||||
|
@ -1870,8 +1870,8 @@ class IntroducePolynomialSpace(Scene):
|
||||||
class MatrixVectorMultiplicationAndDerivative(TeacherStudentsScene):
|
class MatrixVectorMultiplicationAndDerivative(TeacherStudentsScene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
mv_mult = VGroup(
|
mv_mult = VGroup(
|
||||||
Matrix([[3, 1], [0, 2]]).set_color_columns(X_COLOR, Y_COLOR),
|
Matrix([[3, 1], [0, 2]]).set_column_colors(X_COLOR, Y_COLOR),
|
||||||
Matrix(["x", "y"]).set_color_columns(YELLOW)
|
Matrix(["x", "y"]).set_column_colors(YELLOW)
|
||||||
)
|
)
|
||||||
mv_mult.arrange_submobjects()
|
mv_mult.arrange_submobjects()
|
||||||
mv_mult.scale(0.75)
|
mv_mult.scale(0.75)
|
||||||
|
|
|
@ -394,7 +394,7 @@ class ExplainWhyItsMatrixMultiplication(Scene):
|
||||||
equals = TexMobject("=").next_to(long_way, RIGHT)
|
equals = TexMobject("=").next_to(long_way, RIGHT)
|
||||||
|
|
||||||
comp_matrix = Matrix([[1, -1], [1, 0]])
|
comp_matrix = Matrix([[1, -1], [1, 0]])
|
||||||
comp_matrix.set_color_columns(X_COLOR, Y_COLOR)
|
comp_matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
vect_copy = vect.copy()
|
vect_copy = vect.copy()
|
||||||
short_way = VMobject(comp_matrix, vect_copy)
|
short_way = VMobject(comp_matrix, vect_copy)
|
||||||
short_way.arrange_submobjects(buff = 0.1)
|
short_way.arrange_submobjects(buff = 0.1)
|
||||||
|
|
|
@ -154,7 +154,7 @@ class DiagonalExample(LinearTransformationScene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
self.setup()
|
self.setup()
|
||||||
matrix = Matrix(np.array(self.transposed_matrix).transpose())
|
matrix = Matrix(np.array(self.transposed_matrix).transpose())
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.next_to(ORIGIN, LEFT).to_edge(UP)
|
matrix.next_to(ORIGIN, LEFT).to_edge(UP)
|
||||||
matrix_background = BackgroundRectangle(matrix)
|
matrix_background = BackgroundRectangle(matrix)
|
||||||
self.play(ShowCreation(matrix_background), Write(matrix))
|
self.play(ShowCreation(matrix_background), Write(matrix))
|
||||||
|
@ -366,7 +366,7 @@ class NameDeterminant(LinearTransformationScene):
|
||||||
|
|
||||||
def get_matrix(self):
|
def get_matrix(self):
|
||||||
matrix = Matrix(np.array(self.t_matrix).transpose())
|
matrix = Matrix(np.array(self.t_matrix).transpose())
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.next_to(self.title, DOWN, buff = 0.5)
|
matrix.next_to(self.title, DOWN, buff = 0.5)
|
||||||
matrix.shift(2*LEFT)
|
matrix.shift(2*LEFT)
|
||||||
matrix_background = BackgroundRectangle(matrix)
|
matrix_background = BackgroundRectangle(matrix)
|
||||||
|
@ -446,7 +446,7 @@ class NegativeDeterminant(Scene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
numerical_matrix = [[1, 2], [3, 4]]
|
numerical_matrix = [[1, 2], [3, 4]]
|
||||||
matrix = Matrix(numerical_matrix)
|
matrix = Matrix(numerical_matrix)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
det_text = get_det_text(matrix, np.linalg.det(numerical_matrix))
|
det_text = get_det_text(matrix, np.linalg.det(numerical_matrix))
|
||||||
words = TextMobject("""
|
words = TextMobject("""
|
||||||
How can you scale area
|
How can you scale area
|
||||||
|
@ -602,7 +602,7 @@ class WriteNegativeDeterminant(NegativeDeterminantTransformation):
|
||||||
matrix = Matrix(np.array(self.t_matrix).transpose())
|
matrix = Matrix(np.array(self.t_matrix).transpose())
|
||||||
matrix.next_to(ORIGIN, LEFT)
|
matrix.next_to(ORIGIN, LEFT)
|
||||||
matrix.to_edge(UP)
|
matrix.to_edge(UP)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
|
|
||||||
det_text = get_det_text(
|
det_text = get_det_text(
|
||||||
matrix, determinant = np.linalg.det(self.t_matrix)
|
matrix, determinant = np.linalg.det(self.t_matrix)
|
||||||
|
@ -720,7 +720,7 @@ class DeterminantIsVolumeOfParallelepiped(Scene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
matrix = Matrix([[1, 0, 0.5], [0.5, 1, 0], [1, 0, 1]])
|
matrix = Matrix([[1, 0, 0.5], [0.5, 1, 0], [1, 0, 1]])
|
||||||
matrix.shift(3*LEFT)
|
matrix.shift(3*LEFT)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR, Z_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR, Z_COLOR)
|
||||||
det_text = get_det_text(matrix)
|
det_text = get_det_text(matrix)
|
||||||
eq = TexMobject("=")
|
eq = TexMobject("=")
|
||||||
eq.next_to(det_text, RIGHT)
|
eq.next_to(det_text, RIGHT)
|
||||||
|
@ -749,7 +749,7 @@ class WriteZeroDeterminant(Scene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
matrix = Matrix([[1, 0, 1], [0.5, 1, 1.5], [1, 0, 1]])
|
matrix = Matrix([[1, 0, 1], [0.5, 1, 1.5], [1, 0, 1]])
|
||||||
matrix.shift(2*LEFT)
|
matrix.shift(2*LEFT)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR, Z_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR, Z_COLOR)
|
||||||
det_text = get_det_text(matrix, 0)
|
det_text = get_det_text(matrix, 0)
|
||||||
brace = Brace(matrix, DOWN)
|
brace = Brace(matrix, DOWN)
|
||||||
words = TextMobject("""
|
words = TextMobject("""
|
||||||
|
@ -842,7 +842,7 @@ class TwoDDeterminantFormula(Scene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
eq = TextMobject("=")
|
eq = TextMobject("=")
|
||||||
matrix = Matrix([["a", "b"], ["c", "d"]])
|
matrix = Matrix([["a", "b"], ["c", "d"]])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
ma, mb, mc, md = matrix.get_entries().split()
|
ma, mb, mc, md = matrix.get_entries().split()
|
||||||
ma.shift(0.1*DOWN)
|
ma.shift(0.1*DOWN)
|
||||||
mc.shift(0.7*mc.get_height()*DOWN)
|
mc.shift(0.7*mc.get_height()*DOWN)
|
||||||
|
@ -940,7 +940,7 @@ class FullFormulaExplanation(LinearTransformationScene):
|
||||||
|
|
||||||
def get_matrix(self):
|
def get_matrix(self):
|
||||||
matrix = Matrix([["a", "b"], ["c", "d"]])
|
matrix = Matrix([["a", "b"], ["c", "d"]])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
ma, mb, mc, md = matrix.get_entries().split()
|
ma, mb, mc, md = matrix.get_entries().split()
|
||||||
ma.shift(0.1*DOWN)
|
ma.shift(0.1*DOWN)
|
||||||
mc.shift(0.7*mc.get_height()*DOWN)
|
mc.shift(0.7*mc.get_height()*DOWN)
|
||||||
|
@ -1027,13 +1027,13 @@ class FullFormulaExplanation(LinearTransformationScene):
|
||||||
class ThreeDDetFormula(Scene):
|
class ThreeDDetFormula(Scene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
matrix = Matrix([list("abc"), list("def"), list("ghi")])
|
matrix = Matrix([list("abc"), list("def"), list("ghi")])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR, Z_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR, Z_COLOR)
|
||||||
m1 = Matrix([["e", "f"], ["h", "i"]])
|
m1 = Matrix([["e", "f"], ["h", "i"]])
|
||||||
m1.set_color_columns(Y_COLOR, Z_COLOR)
|
m1.set_column_colors(Y_COLOR, Z_COLOR)
|
||||||
m2 = Matrix([["d", "f"], ["g", "i"]])
|
m2 = Matrix([["d", "f"], ["g", "i"]])
|
||||||
m2.set_color_columns(X_COLOR, Z_COLOR)
|
m2.set_column_colors(X_COLOR, Z_COLOR)
|
||||||
m3 = Matrix([["d", "e"], ["g", "h"]])
|
m3 = Matrix([["d", "e"], ["g", "h"]])
|
||||||
m3.set_color_columns(X_COLOR, Y_COLOR)
|
m3.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
|
|
||||||
for m in matrix, m1, m2, m3:
|
for m in matrix, m1, m2, m3:
|
||||||
m.add(get_det_text(m))
|
m.add(get_det_text(m))
|
||||||
|
|
|
@ -847,7 +847,7 @@ class MultiplyToIdentity(LinearTransformationScene):
|
||||||
lhs.scale(1.5)
|
lhs.scale(1.5)
|
||||||
A_inv, A, eq = lhs.split()
|
A_inv, A, eq = lhs.split()
|
||||||
identity = Matrix([[1, 0], [0, 1]])
|
identity = Matrix([[1, 0], [0, 1]])
|
||||||
identity.set_color_columns(X_COLOR, Y_COLOR)
|
identity.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
identity.next_to(eq, RIGHT)
|
identity.next_to(eq, RIGHT)
|
||||||
VMobject(lhs, identity).center().to_corner(UP+RIGHT)
|
VMobject(lhs, identity).center().to_corner(UP+RIGHT)
|
||||||
for mob in A, A_inv, eq:
|
for mob in A, A_inv, eq:
|
||||||
|
@ -1051,7 +1051,7 @@ class ThreeDInverseRule(Scene):
|
||||||
form = TexMobject("A^{-1} A = ")
|
form = TexMobject("A^{-1} A = ")
|
||||||
form.scale(2)
|
form.scale(2)
|
||||||
matrix = Matrix(np.identity(3, 'int'))
|
matrix = Matrix(np.identity(3, 'int'))
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR, Z_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR, Z_COLOR)
|
||||||
matrix.next_to(form, RIGHT)
|
matrix.next_to(form, RIGHT)
|
||||||
self.add(form)
|
self.add(form)
|
||||||
self.play(Write(matrix))
|
self.play(Write(matrix))
|
||||||
|
@ -1280,7 +1280,7 @@ class TowDColumnsDontSpan(LinearTransformationScene):
|
||||||
}
|
}
|
||||||
def construct(self):
|
def construct(self):
|
||||||
matrix = Matrix(self.t_matrix.T)
|
matrix = Matrix(self.t_matrix.T)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.add_to_back(BackgroundRectangle(matrix))
|
matrix.add_to_back(BackgroundRectangle(matrix))
|
||||||
self.add_foreground_mobject(matrix)
|
self.add_foreground_mobject(matrix)
|
||||||
brace = Brace(matrix)
|
brace = Brace(matrix)
|
||||||
|
@ -1338,7 +1338,7 @@ class ThreeDColumnsDontSpan(Scene):
|
||||||
[0, 1, 1],
|
[0, 1, 1],
|
||||||
[-1, -2, -1],
|
[-1, -2, -1],
|
||||||
]).T)
|
]).T)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR, Z_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR, Z_COLOR)
|
||||||
brace = Brace(matrix)
|
brace = Brace(matrix)
|
||||||
words = brace.get_text(
|
words = brace.get_text(
|
||||||
"Columns don't",
|
"Columns don't",
|
||||||
|
@ -1361,7 +1361,7 @@ class NameColumnSpace(Scene):
|
||||||
[0, 1, 1],
|
[0, 1, 1],
|
||||||
[-1, -2, -1],
|
[-1, -2, -1],
|
||||||
]).T)
|
]).T)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR, Z_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR, Z_COLOR)
|
||||||
matrix.to_corner(UP+LEFT)
|
matrix.to_corner(UP+LEFT)
|
||||||
cols = list(matrix.copy().get_mob_matrix().T)
|
cols = list(matrix.copy().get_mob_matrix().T)
|
||||||
col_arrays = list(map(Matrix, cols))
|
col_arrays = list(map(Matrix, cols))
|
||||||
|
@ -1562,7 +1562,7 @@ class RankNumber0(RankNumber):
|
||||||
class NameFullRank(Scene):
|
class NameFullRank(Scene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
matrix = Matrix([[2, 5, 1], [3, 1, 4], [-4, 0, 0]])
|
matrix = Matrix([[2, 5, 1], [3, 1, 4], [-4, 0, 0]])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR, Z_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR, Z_COLOR)
|
||||||
matrix.to_edge(UP)
|
matrix.to_edge(UP)
|
||||||
brace = Brace(matrix)
|
brace = Brace(matrix)
|
||||||
top_words = brace.get_text(
|
top_words = brace.get_text(
|
||||||
|
|
|
@ -1366,10 +1366,10 @@ class SomeKindOfConnection(Scene):
|
||||||
v_line.set_stroke(width = 10)
|
v_line.set_stroke(width = 10)
|
||||||
|
|
||||||
matrix = Matrix([self.v_coords])
|
matrix = Matrix([self.v_coords])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.next_to(number_line, UP, buff = LARGE_BUFF)
|
matrix.next_to(number_line, UP, buff = LARGE_BUFF)
|
||||||
v_coords = Matrix(self.v_coords)
|
v_coords = Matrix(self.v_coords)
|
||||||
v_coords.set_color_columns(YELLOW)
|
v_coords.set_column_colors(YELLOW)
|
||||||
v_coords.scale(0.75)
|
v_coords.scale(0.75)
|
||||||
v_coords.next_to(vect.get_end(), RIGHT)
|
v_coords.next_to(vect.get_end(), RIGHT)
|
||||||
for array in matrix, v_coords:
|
for array in matrix, v_coords:
|
||||||
|
@ -1604,7 +1604,7 @@ class ProjectSingleVectorOnUHat(ProjectOntoUnitVectorNumberline):
|
||||||
class AskAboutProjectionMatrix(Scene):
|
class AskAboutProjectionMatrix(Scene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
matrix = Matrix([["?", "?"]])
|
matrix = Matrix([["?", "?"]])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
words = TextMobject("Projection matrix:")
|
words = TextMobject("Projection matrix:")
|
||||||
VMobject(words, matrix).arrange_submobjects(buff = MED_SMALL_BUFF).shift(UP)
|
VMobject(words, matrix).arrange_submobjects(buff = MED_SMALL_BUFF).shift(UP)
|
||||||
basis_words = [
|
basis_words = [
|
||||||
|
@ -1912,7 +1912,7 @@ class ScaleUpUHat(ProjectOntoUnitVectorNumberline) :
|
||||||
|
|
||||||
def show_matrix(self):
|
def show_matrix(self):
|
||||||
matrix = Matrix([list(self.u_hat.coords.get_entries().copy())])
|
matrix = Matrix([list(self.u_hat.coords.get_entries().copy())])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.add_to_back(BackgroundRectangle(matrix))
|
matrix.add_to_back(BackgroundRectangle(matrix))
|
||||||
brace = Brace(matrix)
|
brace = Brace(matrix)
|
||||||
words = TextMobject(
|
words = TextMobject(
|
||||||
|
@ -2051,10 +2051,10 @@ class TwoDOneDTransformationSeparateSpace(Scene):
|
||||||
v_line.set_stroke(width = 10)
|
v_line.set_stroke(width = 10)
|
||||||
|
|
||||||
matrix = Matrix([self.v_coords])
|
matrix = Matrix([self.v_coords])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.next_to(number_line, UP, buff = LARGE_BUFF)
|
matrix.next_to(number_line, UP, buff = LARGE_BUFF)
|
||||||
v_coords = Matrix(self.v_coords)
|
v_coords = Matrix(self.v_coords)
|
||||||
v_coords.set_color_columns(YELLOW)
|
v_coords.set_column_colors(YELLOW)
|
||||||
v_coords.scale(0.75)
|
v_coords.scale(0.75)
|
||||||
v_coords.next_to(vect.get_end(), RIGHT)
|
v_coords.next_to(vect.get_end(), RIGHT)
|
||||||
for array in matrix, v_coords:
|
for array in matrix, v_coords:
|
||||||
|
@ -2159,12 +2159,12 @@ class TranslateToTheWorldOfTransformations(TwoDOneDMatrixMultiplication):
|
||||||
Matrix(["x_%d"%n, "y_%d"%n])
|
Matrix(["x_%d"%n, "y_%d"%n])
|
||||||
for n in (1, 2)
|
for n in (1, 2)
|
||||||
]
|
]
|
||||||
v1.set_color_columns(V_COLOR)
|
v1.set_column_colors(V_COLOR)
|
||||||
v2.set_color_columns(W_COLOR)
|
v2.set_column_colors(W_COLOR)
|
||||||
dot = TexMobject("\\cdot")
|
dot = TexMobject("\\cdot")
|
||||||
|
|
||||||
matrix = Matrix([["x_1", "y_1"]])
|
matrix = Matrix([["x_1", "y_1"]])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
|
|
||||||
dot_product = VGroup(v1, dot, v2)
|
dot_product = VGroup(v1, dot, v2)
|
||||||
dot_product.arrange_submobjects(RIGHT)
|
dot_product.arrange_submobjects(RIGHT)
|
||||||
|
@ -2239,10 +2239,10 @@ class WhatTheVectorWantsToBe(Scene):
|
||||||
v_line.set_stroke(width = 10)
|
v_line.set_stroke(width = 10)
|
||||||
|
|
||||||
matrix = Matrix([self.v_coords])
|
matrix = Matrix([self.v_coords])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.next_to(number_line, UP, buff = LARGE_BUFF)
|
matrix.next_to(number_line, UP, buff = LARGE_BUFF)
|
||||||
v_coords = Matrix(self.v_coords)
|
v_coords = Matrix(self.v_coords)
|
||||||
v_coords.set_color_columns(YELLOW)
|
v_coords.set_column_colors(YELLOW)
|
||||||
v_coords.scale(0.75)
|
v_coords.scale(0.75)
|
||||||
v_coords.next_to(vect.get_end(), RIGHT)
|
v_coords.next_to(vect.get_end(), RIGHT)
|
||||||
for array in matrix, v_coords:
|
for array in matrix, v_coords:
|
||||||
|
|
|
@ -823,7 +823,7 @@ class Define2dCrossProduct(LinearTransformationScene):
|
||||||
FadeIn(self.w.label),
|
FadeIn(self.w.label),
|
||||||
FadeIn(self.v.coord_array),
|
FadeIn(self.v.coord_array),
|
||||||
FadeIn(self.w.coord_array),
|
FadeIn(self.w.coord_array),
|
||||||
matrix.set_color_columns, V_COLOR, W_COLOR
|
matrix.set_column_colors, V_COLOR, W_COLOR
|
||||||
)
|
)
|
||||||
self.wait()
|
self.wait()
|
||||||
self.i_hat, self.j_hat = i_hat, j_hat
|
self.i_hat, self.j_hat = i_hat, j_hat
|
||||||
|
@ -1666,7 +1666,7 @@ class CrossAndDualWords(Scene):
|
||||||
["v_1", "v_2", "v_3"],
|
["v_1", "v_2", "v_3"],
|
||||||
["w_1", "w_2", "w_3"],
|
["w_1", "w_2", "w_3"],
|
||||||
]).T)
|
]).T)
|
||||||
matrix.set_color_columns(WHITE, U_COLOR, W_COLOR)
|
matrix.set_column_colors(WHITE, U_COLOR, W_COLOR)
|
||||||
det_text = get_det_text(matrix, background_rect = False)
|
det_text = get_det_text(matrix, background_rect = False)
|
||||||
det_text.add(matrix)
|
det_text.add(matrix)
|
||||||
dot_with_cross = TexMobject(
|
dot_with_cross = TexMobject(
|
||||||
|
|
|
@ -195,8 +195,8 @@ class DotProductToTransformSymbol(Scene):
|
||||||
|
|
||||||
matrix = Matrix([self.vect_coords])
|
matrix = Matrix([self.vect_coords])
|
||||||
vector = Matrix(self.vect_coords)
|
vector = Matrix(self.vect_coords)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
vector.set_color_columns(YELLOW)
|
vector.set_column_colors(YELLOW)
|
||||||
_input = Matrix(["x", "y"])
|
_input = Matrix(["x", "y"])
|
||||||
_input.get_entries().set_color_by_gradient(X_COLOR, Y_COLOR)
|
_input.get_entries().set_color_by_gradient(X_COLOR, Y_COLOR)
|
||||||
left_input, right_input = [_input.copy() for x in range(2)]
|
left_input, right_input = [_input.copy() for x in range(2)]
|
||||||
|
@ -352,7 +352,7 @@ class ThreeStepPlan(Scene):
|
||||||
["v_%d"%d for d in range(1, 4)],
|
["v_%d"%d for d in range(1, 4)],
|
||||||
["w_%d"%d for d in range(1, 4)],
|
["w_%d"%d for d in range(1, 4)],
|
||||||
]).T)
|
]).T)
|
||||||
matrix.set_color_columns(X_COLOR, V_COLOR, W_COLOR)
|
matrix.set_column_colors(X_COLOR, V_COLOR, W_COLOR)
|
||||||
matrix.get_mob_matrix()[1, 0].set_color(Y_COLOR)
|
matrix.get_mob_matrix()[1, 0].set_color(Y_COLOR)
|
||||||
matrix.get_mob_matrix()[2, 0].set_color(Z_COLOR)
|
matrix.get_mob_matrix()[2, 0].set_color(Z_COLOR)
|
||||||
VGroup(*matrix.get_mob_matrix()[1, 1:]).shift(0.15*DOWN)
|
VGroup(*matrix.get_mob_matrix()[1, 1:]).shift(0.15*DOWN)
|
||||||
|
@ -391,7 +391,7 @@ class DefineDualTransform(Scene):
|
||||||
defs_equals = VGroup()
|
defs_equals = VGroup()
|
||||||
definitions = VGroup()
|
definitions = VGroup()
|
||||||
for array, tex_mob, color in zip(arrays, tex_mobs, colors):
|
for array, tex_mob, color in zip(arrays, tex_mobs, colors):
|
||||||
array.set_color_columns(color)
|
array.set_column_colors(color)
|
||||||
tex_mob.set_color(color)
|
tex_mob.set_color(color)
|
||||||
equals = TexMobject("=")
|
equals = TexMobject("=")
|
||||||
definition = VGroup(tex_mob, equals, array)
|
definition = VGroup(tex_mob, equals, array)
|
||||||
|
|
|
@ -920,7 +920,7 @@ class TranslateFromJenny(JenniferScene):
|
||||||
self.wait()
|
self.wait()
|
||||||
|
|
||||||
matrix = Matrix(np.array([self.b1_coords, self.b2_coords]).T)
|
matrix = Matrix(np.array([self.b1_coords, self.b2_coords]).T)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
self.jenny.coords.target = self.jenny.coords.copy()
|
self.jenny.coords.target = self.jenny.coords.copy()
|
||||||
self.jenny.coords.target.next_to(equals, LEFT)
|
self.jenny.coords.target.next_to(equals, LEFT)
|
||||||
matrix.set_height(self.jenny.coords.get_height())
|
matrix.set_height(self.jenny.coords.get_height())
|
||||||
|
@ -959,7 +959,7 @@ class TalkThroughChangeOfBasisMatrix(JenniferScene):
|
||||||
pi.bubble = get_small_bubble(pi)
|
pi.bubble = get_small_bubble(pi)
|
||||||
|
|
||||||
matrix = Matrix(np.array([self.b1_coords, self.b2_coords]).T)
|
matrix = Matrix(np.array([self.b1_coords, self.b2_coords]).T)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.next_to(ORIGIN, RIGHT, buff = MED_SMALL_BUFF).to_edge(UP)
|
matrix.next_to(ORIGIN, RIGHT, buff = MED_SMALL_BUFF).to_edge(UP)
|
||||||
|
|
||||||
b1_coords = Matrix(self.b1_coords)
|
b1_coords = Matrix(self.b1_coords)
|
||||||
|
@ -1124,7 +1124,7 @@ class FeelsBackwards(Scene):
|
||||||
JenniferScene.CONFIG["b1_coords"],
|
JenniferScene.CONFIG["b1_coords"],
|
||||||
JenniferScene.CONFIG["b2_coords"],
|
JenniferScene.CONFIG["b2_coords"],
|
||||||
]).T)
|
]).T)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.shift(UP)
|
matrix.shift(UP)
|
||||||
top_arrow = Arrow(matrix.get_left(), matrix.get_right())
|
top_arrow = Arrow(matrix.get_left(), matrix.get_right())
|
||||||
bottom_arrow = top_arrow.copy().rotate(np.pi)
|
bottom_arrow = top_arrow.copy().rotate(np.pi)
|
||||||
|
@ -1188,7 +1188,7 @@ class RecallInverse(JenniferScene):
|
||||||
numerical_t_matrix = np.array([self.b1_coords, self.b2_coords])
|
numerical_t_matrix = np.array([self.b1_coords, self.b2_coords])
|
||||||
matrix = Matrix(numerical_t_matrix.T)
|
matrix = Matrix(numerical_t_matrix.T)
|
||||||
matrix.add_to_back(BackgroundRectangle(matrix))
|
matrix.add_to_back(BackgroundRectangle(matrix))
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.to_corner(UP+LEFT, buff = MED_LARGE_BUFF)
|
matrix.to_corner(UP+LEFT, buff = MED_LARGE_BUFF)
|
||||||
# matrix.shift(MED_SMALL_BUFF*DOWN)
|
# matrix.shift(MED_SMALL_BUFF*DOWN)
|
||||||
inverse_exponent = TexMobject("-1")
|
inverse_exponent = TexMobject("-1")
|
||||||
|
@ -1233,7 +1233,7 @@ class RecallInverse(JenniferScene):
|
||||||
self.play(FadeIn(self.jenny))
|
self.play(FadeIn(self.jenny))
|
||||||
self.play(self.jenny.change_mode, "speaking")
|
self.play(self.jenny.change_mode, "speaking")
|
||||||
#Little hacky now
|
#Little hacky now
|
||||||
inv_matrix.set_color_columns(X_COLOR)
|
inv_matrix.set_column_colors(X_COLOR)
|
||||||
self.play(*[
|
self.play(*[
|
||||||
ApplyMethod(
|
ApplyMethod(
|
||||||
mob.scale_in_place, 1.2,
|
mob.scale_in_place, 1.2,
|
||||||
|
@ -1242,7 +1242,7 @@ class RecallInverse(JenniferScene):
|
||||||
for mob in inv_matrix.get_mob_matrix()[:,0]
|
for mob in inv_matrix.get_mob_matrix()[:,0]
|
||||||
])
|
])
|
||||||
self.wait()
|
self.wait()
|
||||||
inv_matrix.set_color_columns(X_COLOR, Y_COLOR)
|
inv_matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
self.play(*[
|
self.play(*[
|
||||||
ApplyMethod(
|
ApplyMethod(
|
||||||
mob.scale_in_place, 1.2,
|
mob.scale_in_place, 1.2,
|
||||||
|
@ -1326,7 +1326,7 @@ class SummarizeTranslationProcess(Scene):
|
||||||
|
|
||||||
def define_matrix(self):
|
def define_matrix(self):
|
||||||
matrix = Matrix([[2, -1], [1, 1]])
|
matrix = Matrix([[2, -1], [1, 1]])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
A, equals = list(map(TexMobject, list("A=")))
|
A, equals = list(map(TexMobject, list("A=")))
|
||||||
equation = VGroup(A, equals, matrix)
|
equation = VGroup(A, equals, matrix)
|
||||||
equation.arrange_submobjects()
|
equation.arrange_submobjects()
|
||||||
|
@ -1447,7 +1447,7 @@ class RotationExample(LinearTransformationScene):
|
||||||
words.to_edge(UP)
|
words.to_edge(UP)
|
||||||
|
|
||||||
matrix = Matrix(self.t_matrix.T)
|
matrix = Matrix(self.t_matrix.T)
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.rect = BackgroundRectangle(matrix)
|
matrix.rect = BackgroundRectangle(matrix)
|
||||||
matrix.add_to_back(matrix.rect)
|
matrix.add_to_back(matrix.rect)
|
||||||
matrix.next_to(words, DOWN)
|
matrix.next_to(words, DOWN)
|
||||||
|
@ -1559,7 +1559,7 @@ class JennyWatchesRotation(JenniferScene):
|
||||||
class AksAboutTranslatingColumns(TeacherStudentsScene):
|
class AksAboutTranslatingColumns(TeacherStudentsScene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
matrix = Matrix([[0, -1], [1, 0]])
|
matrix = Matrix([[0, -1], [1, 0]])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.scale(0.7)
|
matrix.scale(0.7)
|
||||||
words = TextMobject("Translate columns of")
|
words = TextMobject("Translate columns of")
|
||||||
matrix.next_to(words, DOWN)
|
matrix.next_to(words, DOWN)
|
||||||
|
@ -1620,10 +1620,10 @@ class HowToTranslateAMatrix(Scene):
|
||||||
array.submobjects = submobs
|
array.submobjects = submobs
|
||||||
her_vector.set_color(MAROON_B)
|
her_vector.set_color(MAROON_B)
|
||||||
cob_matrix.set_color_by_gradient(BLUE, MAROON_B)
|
cob_matrix.set_color_by_gradient(BLUE, MAROON_B)
|
||||||
transform.set_color_columns(X_COLOR, Y_COLOR)
|
transform.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
transform.get_brackets().set_color(BLUE)
|
transform.get_brackets().set_color(BLUE)
|
||||||
inv_cob.set_color_by_gradient(MAROON_B, BLUE)
|
inv_cob.set_color_by_gradient(MAROON_B, BLUE)
|
||||||
result.set_color_columns(X_COLOR, Y_COLOR)
|
result.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
result.get_brackets().set_color(MAROON_B)
|
result.get_brackets().set_color(MAROON_B)
|
||||||
|
|
||||||
final_top_brace = Brace(VGroup(cob_matrix, inv_cob), UP)
|
final_top_brace = Brace(VGroup(cob_matrix, inv_cob), UP)
|
||||||
|
@ -1732,7 +1732,7 @@ class JennyWatchesRotationWithMatrixAndVector(JenniferScene):
|
||||||
self.add(self.jenny_plane, self.jenny, self.b1, self.b2)
|
self.add(self.jenny_plane, self.jenny, self.b1, self.b2)
|
||||||
|
|
||||||
matrix = Matrix([["1/3", "-2/3"], ["5/3", "-1/3"]])
|
matrix = Matrix([["1/3", "-2/3"], ["5/3", "-1/3"]])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
matrix.to_corner(UP+LEFT)
|
matrix.to_corner(UP+LEFT)
|
||||||
|
|
||||||
vector_coords = [1, 2]
|
vector_coords = [1, 2]
|
||||||
|
|
|
@ -322,7 +322,7 @@ class ShowMatrixMultiplication(Scene):
|
||||||
right = Matrix(np.arange(9).reshape((3, 3)))
|
right = Matrix(np.arange(9).reshape((3, 3)))
|
||||||
left = Matrix(np.random.random_integers(-5, 5, (3, 3)))
|
left = Matrix(np.random.random_integers(-5, 5, (3, 3)))
|
||||||
VMobject(left, right).arrange_submobjects(buff = 0.1)
|
VMobject(left, right).arrange_submobjects(buff = 0.1)
|
||||||
right.set_color_columns(X_COLOR, Y_COLOR, Z_COLOR)
|
right.set_column_colors(X_COLOR, Y_COLOR, Z_COLOR)
|
||||||
left.set_color(PINK)
|
left.set_color(PINK)
|
||||||
|
|
||||||
trips = [
|
trips = [
|
||||||
|
|
|
@ -164,7 +164,7 @@ class DescribeColumnsInSpecificTransformation(Scene):
|
||||||
[-1, 1],
|
[-1, 1],
|
||||||
[-2, 1],
|
[-2, 1],
|
||||||
])
|
])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
mob_matrix = matrix.get_mob_matrix()
|
mob_matrix = matrix.get_mob_matrix()
|
||||||
i_col, j_col = [VMobject(*mob_matrix[:,i]) for i in (0, 1)]
|
i_col, j_col = [VMobject(*mob_matrix[:,i]) for i in (0, 1)]
|
||||||
for col, char, vect in zip([i_col, j_col], ["i", "j"], [UP, DOWN]):
|
for col, char, vect in zip([i_col, j_col], ["i", "j"], [UP, DOWN]):
|
||||||
|
@ -195,7 +195,7 @@ class CountRowsAndColumns(Scene):
|
||||||
[-1, 1],
|
[-1, 1],
|
||||||
[-2, 1],
|
[-2, 1],
|
||||||
])
|
])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
rows_brace = Brace(matrix, LEFT)
|
rows_brace = Brace(matrix, LEFT)
|
||||||
rows_words = rows_brace.get_text("3", "rows")
|
rows_words = rows_brace.get_text("3", "rows")
|
||||||
rows_words.set_color(PINK)
|
rows_words.set_color(PINK)
|
||||||
|
@ -229,7 +229,7 @@ class WriteColumnSpaceDefinition(Scene):
|
||||||
[-1, 1],
|
[-1, 1],
|
||||||
[-2, 1],
|
[-2, 1],
|
||||||
])
|
])
|
||||||
matrix.set_color_columns(X_COLOR, Y_COLOR)
|
matrix.set_column_colors(X_COLOR, Y_COLOR)
|
||||||
|
|
||||||
brace = Brace(matrix)
|
brace = Brace(matrix)
|
||||||
words = VMobject(
|
words = VMobject(
|
||||||
|
@ -276,7 +276,7 @@ class MatrixInTheWild(Scene):
|
||||||
ShowCreation(bubble),
|
ShowCreation(bubble),
|
||||||
randy.change_mode, "pondering"
|
randy.change_mode, "pondering"
|
||||||
)
|
)
|
||||||
# self.play(matrix.set_color_columns, X_COLOR, Y_COLOR)
|
# self.play(matrix.set_column_colors, X_COLOR, Y_COLOR)
|
||||||
self.wait()
|
self.wait()
|
||||||
for x in range(3):
|
for x in range(3):
|
||||||
self.play(Blink(randy))
|
self.play(Blink(randy))
|
||||||
|
@ -309,7 +309,7 @@ class MatrixInTheWild(Scene):
|
||||||
self.play(
|
self.play(
|
||||||
GrowFromCenter(top_brace),
|
GrowFromCenter(top_brace),
|
||||||
Write(top_words),
|
Write(top_words),
|
||||||
matrix.set_color_columns, X_COLOR, Y_COLOR, Z_COLOR
|
matrix.set_column_colors, X_COLOR, Y_COLOR, Z_COLOR
|
||||||
)
|
)
|
||||||
self.play(randy.change_mode, "happy")
|
self.play(randy.change_mode, "happy")
|
||||||
self.play(
|
self.play(
|
||||||
|
|
Loading…
Add table
Reference in a new issue