Advertisement
jajejijoju

dem0

Feb 24th, 2025
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.21 KB | Source Code | 0 0
  1. from manim import *
  2. from MF_Tools import *
  3.  
  4. class dem0(Scene):
  5.     def construct(self):
  6.         int = MathTex(r"\int  x^{2}e^{x} \, dx").scale(1.5)
  7.         intf = MathTex(r"\int  x^{2}e^{x} \, dx = u\,v - \int v\, du").scale(1.5).to_edge(UP)
  8.         intr = MathTex(r"\int  x^{2}e^{x} \, dx = x^{2}e^{x} -\int 2xe^{x} \, dx").scale(1.5).to_edge(UP)
  9.        
  10.  
  11.         Derivo = MathTex(r"\text{Derivo}").scale(1.33)
  12.         Derivo1 = MathTex(r"u = x^2").scale(1.5)
  13.         Derivo2 = MathTex(r"\frac{du}{dx}=2x").scale(1.5)
  14.  
  15.         Derivo1[0][0:1].set_color(BLUE)
  16.  
  17.         Derivado = VGroup(Derivo,Derivo1,Derivo2).arrange(DOWN, buff=1)
  18.  
  19.         Integro = MathTex(r"\text{Integro}").scale(1.33)
  20.         Integro1 = MathTex(r"dv = e^{x}\, dx").scale(1.5)
  21.  
  22.         Integrado = VGroup(Integro, Integro1).arrange(DOWN, buff=1)
  23.  
  24.         Formula = VGroup(Derivado, Integrado).arrange(RIGHT, buff=2).to_edge(DOWN)
  25.  
  26.         Derivo3 = MathTex(r"du=2x\,dx").scale(1.5).move_to(2*DOWN + 2.5*LEFT)
  27.         Derivo3[0][0:2].set_color(BLUE)
  28.  
  29.        
  30.         Integro2 = MathTex(r"\int dv = \int e^{x}\, dx").scale(1.5).move_to(2*DOWN + 2.5*RIGHT)
  31.         Integro3 = MathTex(r"v = e^{x}").scale(1.5).move_to(Integro2)
  32.         Integro3[0][0:1].set_color(ORANGE)
  33.        
  34.         int0 = MathTex(r"\int  x^{2}e^{x} \, dx = x^{2}e^{x} -2\int xe^{x} \, dx").scale(1.5)
  35.         int1 = MathTex(r"\int  x^{2}e^{x} \, dx = x^{2}e^{x}-2(x-1) \,e^{x} + C").scale(1.5)
  36.         int2 = MathTex(r"\int  x^{2}e^{x} \, dx = \left[x^{2}-2(x-1) \right] e^{x} + C").scale(1.5)
  37.         int3 = MathTex(r"\int  x^{2}e^{x} \, dx = \left[x^{2}-2x+2 \right] e^{x} + C").scale(1.5)
  38.  
  39.         intf[0][8:9].set_color(BLUE)
  40.         intf[0][9:10].set_color(ORANGE)
  41.         intf[0][12:13].set_color(ORANGE)
  42.         intf[0][13:15].set_color(BLUE)
  43.        
  44.         intr[0][8:10].set_color(BLUE)
  45.         intr[0][10:12].set_color(ORANGE)
  46.         intr[0][14:16].set_color(BLUE)
  47.         intr[0][16:18].set_color(ORANGE)
  48.         intr[0][18:20].set_color(BLUE)
  49.  
  50.         XD = ImageMobject(r"assets\img\otario")
  51.         XD.scale(1.5)
  52.        
  53.         self.add(int)
  54.         self.wait()
  55.         self.play(TransformByGlyphMap(int, intf,
  56.             ([0,1,2,3,4,5,6],[0,1,2,3,4,5,6], {"run_time":0.75}),
  57.             (Write,[7], {"run_time": 2}),
  58.             (Write,[8,9,10,11,12,13,14], {"run_time": 2, "delay":0.5})
  59.                                         ))
  60.         self.wait()
  61.  
  62.         self.play(Write(Derivo),Write(Integro))
  63.        
  64.         self.play(TransformByGlyphMap(intf, Derivo1,
  65.             ([0,1,3,4,5,6,7,8,9,10,11,12,13,14],RemoveTextLetterByLetter),
  66.             ([1,2],[2,3], {"delay":0.8}),
  67.             (Write,[0,1]),
  68.             from_copy=True,
  69.             remove_individually=True
  70.                                     ))
  71.        
  72.  
  73.         self.play(TransformByGlyphMap(intf, Integro1,
  74.             ([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],RemoveTextLetterByLetter),
  75.             ([3,4,5,6],[3,4,5,6], {"delay":0.8}),
  76.             (Write,[0,1,2]),
  77.             from_copy=True,
  78.             remove_individually=True
  79.                                     ))
  80.        
  81.    
  82.         self.play(TransformByGlyphMap(Derivo1, Derivo2,
  83.             ([0,1,2,3],Add),
  84.             (Write,[0,2,3,4,5]),
  85.             ([0],[1],{"delay":0.6}),
  86.             ([2,3],[7,6],{"delay":0.6}),
  87.             introduce_individually=True
  88.                                     ))
  89.        
  90.         self.play(TransformByGlyphMap(Derivo2, Derivo3,
  91.             ([2],FadeOut),
  92.             ([0,1,5,6,7],[0,1,2,3,4]),
  93.             ([3,4],[5,6], {"Path_arc": PI}),
  94.             introduce_individually=True
  95.                                     ))
  96.        
  97.         self.play(TransformByGlyphMap(Integro1, Integro2,
  98.             (FadeIn,[0,4]),
  99.             ([0,1,2,3,4,5,6],[1,2,3,5,6,7,8]),
  100.             introduce_individually=True
  101.                                     ))
  102.  
  103.         self.play(TransformByGlyphMap(Integro2, Integro3,
  104.             ([0,1,4,7,8],FadeOut),
  105.             ([2,3,5,6],[0,1,2,3]),
  106.                                     ))
  107.  
  108.         self.play(TransformByGlyphMap(intf, intr,
  109.             ([0,1,2,3,4,5,6,7],[0,1,2,3,4,5,6,7]),
  110.             ([8],[8,9]),
  111.             ([9],[10,11]),
  112.             ([10],[12]),
  113.             ([11],[13]),
  114.             ([12],[16,17]),
  115.             ([13,14],[14,15,18,19])
  116.                                         ))
  117.         self.wait()
  118.         self.play(FadeOut(Derivo,Integro,Derivo1,Derivo3,Integro3))
  119.  
  120.         self.play(TransformByGlyphMap(intr, int0,
  121.             ([0,1,2,3,4,5,6,7,8,9,10,11,12],[0,1,2,3,4,5,6,7,8,9,10,11,12]),
  122.             ([14],[13]),
  123.             ([14],[13]),
  124.             ([15,16,17,18,19],[15,16,17,18,19]),
  125.                                         ))
  126.         self.wait(1.5)
  127.         self.play(TransformByGlyphMap(int0, int1,
  128.             ([0,1,2,3,4,5,6,7,8,9,10,11,12,13],[0,1,2,3,4,5,6,7,8,9,10,11,12,13]),                          
  129.             ([16,17],[19,20]),                          
  130.             ([15],[15]),
  131.             ([],[14,16,17,18]),                          
  132.             ([14,18,19],[]),                          
  133.             ([],[21,22])                          
  134.                                       ))
  135.         self.wait()
  136.         self.play(TransformByGlyphMap(int1, int2,
  137.             ([0,1,2,3,4,5,6,7],[0,1,2,3,4,5,6,7]),
  138.             ([8,9],[9,10]),
  139.             ([10,11],[19,20], {"path_arc":2/3*PI}),
  140.             ([19,20],[], {"run_time": 1.2}),
  141.             ([12,13,14,15,16,17,18],[11,12,13,14,15,16,17]),
  142.             ([],[8,18]),
  143.             ([21,22],[21,22])
  144.                                       ))
  145.         self.wait()
  146.         self.play(TransformByGlyphMap(int2, int3,
  147.             ([0,1,2,3,4,5,6,7],[0,1,2,3,4,5,6,7]),
  148.             ([8,18],[8,16]),
  149.             ([9,10,11],[9,10,11]),                          
  150.             ([12],[12,15]),
  151.             ([14],[13]),
  152.             ([11],[14]),
  153.             ([15],[]),
  154.             ([13,16,17],[]),                                                    
  155.             ([19,20,21,22],[17,18,19,20])                                                    
  156.                                       ))
  157.         self.wait(2)                              
  158.         self.play(FadeIn(XD))
  159.         self.wait()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement