summaryrefslogtreecommitdiff
path: root/FSF-2020/linear-algebra/linear-transformations/Linear-Transformations-(Linear-Maps)/file1_transformations.py
diff options
context:
space:
mode:
Diffstat (limited to 'FSF-2020/linear-algebra/linear-transformations/Linear-Transformations-(Linear-Maps)/file1_transformations.py')
-rw-r--r--FSF-2020/linear-algebra/linear-transformations/Linear-Transformations-(Linear-Maps)/file1_transformations.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/FSF-2020/linear-algebra/linear-transformations/Linear-Transformations-(Linear-Maps)/file1_transformations.py b/FSF-2020/linear-algebra/linear-transformations/Linear-Transformations-(Linear-Maps)/file1_transformations.py
new file mode 100644
index 0000000..677f890
--- /dev/null
+++ b/FSF-2020/linear-algebra/linear-transformations/Linear-Transformations-(Linear-Maps)/file1_transformations.py
@@ -0,0 +1,45 @@
+from manimlib.imports import *
+
+class text(Scene):
+ def construct(self):
+ text1 = TextMobject("For a grid, undergoing a linear transformation, all it's straight lines")
+ text1.scale(0.9)
+ text2 = TextMobject("must either remain straight lines or sends to a point in the grid formed")
+ text2.scale(0.9)
+ text1.move_to(ORIGIN+UP)
+ text2.move_to(ORIGIN)
+ self.play(Write(text1))
+ self.play(Write(text2))
+ self.wait()
+ self.play(FadeOut(text1),FadeOut(text2))
+
+class LinearTransformation(LinearTransformationScene):
+ CONFIG = {
+ "basis_vector_stroke_width": 3,
+ "leave_ghost_vectors": True,
+ }
+
+ def construct(self):
+ self.setup()
+ matrix = [[0.866,-0.5],[0.5,0.866]]
+ self.apply_matrix(matrix)
+ text = TextMobject("This is a Linear","Trasformation")
+ text[0].move_to(DOWN+4*LEFT)
+ text[1].move_to(1.5*DOWN+4*LEFT)
+ text.add_background_rectangle()
+ self.play(Write(text))
+ self.wait()
+
+class NonLinearTransformation(Scene):
+ def construct(self):
+ grid = NumberPlane()
+ self.play(ShowCreation(grid),run_time =2)
+ NonLinearTrans = lambda coordinates : coordinates + np.array([np.sin(coordinates[1]),np.sin(coordinates[0]),0,])
+ grid.prepare_for_nonlinear_transform()
+ self.play(grid.apply_function,NonLinearTrans)
+ text = TextMobject("While, this is not a","Linear Trasformation")
+ text[0].move_to(DOWN+4*LEFT)
+ text[1].move_to(1.5*DOWN+4*LEFT)
+ text.add_background_rectangle()
+ self.play(Write(text))
+ self.wait() \ No newline at end of file