that_one_nigga_you_k

Untitled

Jan 7th, 2025
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.17 KB | None | 0 0
  1. from manim import *
  2.  
  3. config.pixel_height = 1920
  4. config.pixel_width = 1080
  5. config.frame_height = 16
  6. config.frame_width = 9
  7. config.frame_rate = 60
  8.  
  9. class sistemaLinear(Scene):
  10.     def construct(self):  
  11.        
  12.        
  13.         sistema = MathTex(r"\left\{ \begin{aligned} &x + y + z = 4 \\ &x^2 + y^2 + z^2 = 14 \\ &x^3 + y^3 + z^3 = 34 \end{aligned} \right.")
  14.         sis = MathTex(r"\left\{ \begin{aligned} &x + y + z = 4 \\ &x^2 + y^2 + z^2 = 14 \\ &x^3 + y^3 + z^3 = 34 \end{aligned} \right.")
  15.         sis3 = MathTex(r"\left\{ \begin{aligned} &x + y + z = 4 \\ &x^2 + y^2 + z^2 = 14 \\ &x^3 + y^3 + z^3 = 34 \end{aligned} \right.")
  16.         primeiraEq = MathTex(r"x + y + z = 4")
  17.         segundaEq = MathTex(r"x^2 + y^2 + z^2 = 14")
  18.         terceiraEq = MathTex(r"x^3 + y^3 + z^3 = 34")
  19.        
  20.         #primeiro grupo
  21.         primeiraEq2 = MathTex(r"(x + y + z)^2 = 4^2", font_size = 36)
  22.         primeiraEq3 = MathTex(r"x^2 + y^2 + z^2 + 2(xy + yz + xz) = 16", font_size = 36)
  23.         primeiraEq4 = MathTex(r"14 + 2(xy + yz + xz) = 16", font_size = 36)
  24.         primeiraEq5 = MathTex(r"xy + yz + xz = 1", font_size = 36)
  25.        
  26.         #segundo grupo
  27.         primeiraEq6 = MathTex(r"(x + y + z)^3 = 4^3", font_size = 36)
  28.         primeiraEq7 = MathTex(r"x^3 + y^3 + z^3 + 3(x^2(y + z) + y^2(x + z) + z^2(x + y)) + 6xyz = 64", font_size = 26)
  29.         primeiraEq8 = MathTex(r"34 + 3(x^2(y + z) + y^2(x + z) + z^2(x + y)) + 6xyz = 64", font_size = 28)
  30.         primeiraEq9 = MathTex(r"3(x^2(y + z) + y^2(x + z) + z^2(x + y)) + 6xyz = 30", font_size = 30)
  31.        
  32.         #terceiro grupo
  33.         primeiraEq10 = MathTex(r"3(x^2(4 - x) + y^2(4 - y) + z^2(4 - z)) + 6xyz = 30", font_size = 30)
  34.         primeiraEq11 = MathTex(r"3(4x^2 + 4y^2 + 4z^2) - 3(x^3 + y^3 + z^3) + 6xyz = 30", font_size = 30)
  35.         primeiraEqinter =MathTex(r"12(x^2 + y^2 + z^2) - 3(x^3 + y^3 + z^3) + 6xyz = 30", font_size = 30)
  36.         primeiraEq12 = MathTex(r"4(x^2 + y^2 + z^2) - (x^3 + y^3 + z^3) + 2xyz = 10", font_size = 32)
  37.         primeiraEq13 = MathTex(r"14 - 34 + 2xyz = 10", font_size = 36)
  38.         primeiraEq14 = MathTex(r"xyz = - 6", font_size = 36)
  39.        
  40.         grupoEq1 = VGroup(primeiraEq2, primeiraEq3, primeiraEq4, primeiraEq5)
  41.         grupoEq1.arrange(DOWN, aligned_edge=LEFT, buff=0.45)  # ajustando espaçamento e alianhamento
  42.         grupoEq1.to_corner(UL)
  43.  
  44.         grupoEq3 = VGroup(primeiraEq10, primeiraEq11,primeiraEqinter, primeiraEq12, primeiraEq13, primeiraEq14)
  45.         grupoEq3.arrange(DOWN, aligned_edge=LEFT, buff=0.45)  # ajustando espaçamento e alianhamento
  46.  
  47.         # animar o surgimento
  48.         for i, eq in enumerate(grupoEq1):
  49.            
  50.             self.play(Write(eq))
  51.             self.wait(1)  # ajustar as pausas
  52.            
  53.             if i == 1:
  54.                 #animação pra destacar os elementos ao quadrado
  55.                 #animação pra aparecer o sistema original
  56.                 #desaparece o sistema original
  57.                
  58.                 animacao_quadrados = FadeToColor(primeiraEq3[0][0:8], GOLD, run_time = 1)
  59.                 self.play(animacao_quadrados)
  60.                
  61.                 sistema.move_to(ORIGIN)
  62.                 self.play(Write(sistema), run_time = 1)
  63.        
  64.                 #mudar a cor do 23 ao 33
  65.        
  66.                 mudanca_cor_sistema = FadeToColor(sistema[0][12:20], color= GOLD, run_time = 0.5)
  67.                 reverter_sistema = FadeToColor(sistema[0][12:20], color= WHITE, run_time = 0.5)
  68.        
  69.                 self.play(mudanca_cor_sistema)
  70.                 self.wait(2)
  71.                 self.play(reverter_sistema, Unwrite(sistema),  run_time = 1)
  72.  
  73.             if i == 2:
  74.                 cor_quatorze = FadeToColor(primeiraEq4[0][0:2], GOLD, run_time = 0.15)
  75.                 self.play(cor_quatorze)
  76.  
  77.         num_equacioes = len(grupoEq1)  # ver o total de linhas
  78.         for i in range(num_equacioes - 1):  # iterar até a penultima desaparecer
  79.             self.play(Unwrite(grupoEq1[i]))
  80.             self.wait(1)
  81.  
  82.  
  83.         self.play(primeiraEq5.animate.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE).to_corner(UL), run_time=1), #indo pra começo da tela e mudando de cor
  84.        
  85.         grupoEq2 = VGroup(primeiraEq6, primeiraEq7, primeiraEq8, primeiraEq9)
  86.         grupoEq2.arrange(DOWN,aligned_edge=LEFT, buff=0.45)  # ajustando espaçamento e alianhamento
  87.         grupoEq2.next_to(primeiraEq5, DOWN, aligned_edge=LEFT, buff=0.5)
  88.        
  89.         # animar o surgimento
  90.         for i, eq in enumerate(grupoEq2):
  91.             #colorir os termos ao cubo e salientar o xyz
  92.             self.play(Write(eq))
  93.             self.wait(1)  # ajustar as pausas
  94.            
  95.             if i == 1:
  96.                 #colorir as partes ao cubo
  97.                 #mostrar o sistema
  98.                 #colorir o sistema
  99.                 #apagar o sistema
  100.                
  101.                 animacao_cubos = FadeToColor(primeiraEq7[0][0:8], GREEN, run_time = 1)
  102.                 self.play(animacao_cubos)
  103.                
  104.                
  105.                 sis.move_to(ORIGIN)
  106.                 self.play(Write(sis), run_time = 1)
  107.                
  108.                 mudanca_cor_sistema = FadeToColor(sis[0][23:31], color= GREEN, run_time = 0.5)
  109.                 reverter_sistema = FadeToColor(sis[0][23:31], color= WHITE, run_time = 0.5)
  110.                
  111.                 self.play(mudanca_cor_sistema)
  112.                 self.wait(2)
  113.                 self.play(reverter_sistema, Unwrite(sis),  run_time = 1)
  114.            
  115.             if i == 2:
  116.                 cor_34 = FadeToColor(primeiraEq8[0][0:2], GREEN, run_time = 0.15)
  117.                 self.play(cor_34)
  118.                
  119.        
  120.          
  121.         num_equacioes = len(grupoEq2)  # ver o total de linhas
  122.         for i in range(num_equacioes - 1):  # iterar até a penultima desaparecer
  123.             self.play(Unwrite(grupoEq2[i]))
  124.             self.wait(1)
  125.            
  126.         #self.play(primeiraEq9.animate.set_color_by_gradient(PURPLE, ORANGE, YELLOW, GREEN, BLUE, RED).next_to(primeiraEq5, DOWN, aligned_edge=LEFT, buff=0.45)) #indo pra baixo da equação anterior
  127.        
  128.         #primeiraEq9[0][27:31].set_color(GOLD)
  129.        
  130.         self.play(ApplyMethod(primeiraEq9[0][27:31].set_color_by_gradient, (RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE)),run_time=1)
  131.         #self.play(primeiraEq9.animate.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE), run_time =1)
  132.        
  133.         # Add a pause
  134.         self.wait(2)
  135.        
  136.         self.play(primeiraEq9.animate.next_to(primeiraEq5, DOWN, aligned_edge=LEFT, buff=0.5), run_time = 1)
  137.        
  138.         grupoEq3.next_to(primeiraEq9, DOWN, aligned_edge=LEFT, buff=0.5)
  139.        
  140.         for i, eq in enumerate(grupoEq3):
  141.             self.play(Write(grupoEq3[i]))
  142.             self.wait(1)
  143.        
  144.             if i == 3:
  145.                 #colorir o quadrado e cubo
  146.                 #aparecer o sistema original
  147.                 #colorir o sistema original
  148.                 #sumir o sistema original
  149.                
  150.                 self.play(ApplyMethod(primeiraEq12[0][0:22].set_color_by_gradient, GOLD_D, GREEN),run_time=1)
  151.                
  152.                 sis3.move_to(ORIGIN)
  153.                 self.play(Write(sis3), run_time = 1)
  154.                                
  155.                 #23 ao 31 são cubos laranjas
  156.                 #12 ao 20 são quadrados dourados
  157.                 cor_sis_c = FadeToColor(sis3[0][23:31], GREEN, run_time = 1)
  158.                 cor_sis_q = FadeToColor(sis3[0][12:20], GOLD, run_time = 1)
  159.                
  160.                 self.play(cor_sis_c, cor_sis_q)
  161.                 self.wait(1)
  162.                 self.play(Unwrite(sis3), run_time = 1)
  163.                
  164.             if i == 4:
  165.                
  166.                 #cor_14_34 = ApplyMethod(primeiraEq13[0][0:5].set_color_by_gradient(GOLD_D, GREEN), run_time = 1)
  167.                 self.play(ApplyMethod(primeiraEq13[0][0:5].set_color_by_gradient, GOLD_D, GREEN),run_time=1)
  168.            
  169.             if i == 5:
  170.                
  171.                
  172.                 self.play(primeiraEq14.animate.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE), run_time = 1)
  173.                
  174.                
  175.         self.wait(2)
  176.        
  177.        
  178.  
Add Comment
Please, Sign In to add comment