aboutsummaryrefslogtreecommitdiffstats
path: root/scenes/v2_nueves.py
diff options
context:
space:
mode:
authorElvis Claros Castro <elvis@claros.ar>2026-09-26 20:50:41 -0300
committerElvis Claros Castro <elvis@claros.ar>2026-09-26 20:50:41 -0300
commitfafaebb051907a848a9406f9da19669c81a83a3b (patch)
treec30ea26e6b549e5523af2bae5c39569e9a946b12 /scenes/v2_nueves.py
parent59355909f2de9236af8168a26c70bcf6caa3b285 (diff)
download100cia-videos-fafaebb051907a848a9406f9da19669c81a83a3b.tar.gz
100cia-videos-fafaebb051907a848a9406f9da19669c81a83a3b.zip
Translate code, comments and logs to English; English README; configurable paths and env varsHEADmain
Identifiers, docstrings, comments and console messages are now in English. Narration, subtitles and on-screen text stay in Spanish (they are the video content). The Blender <-> Godot physics protocol uses English keys and body prefixes chosen to keep the original creation order, so cached simulations and renders stay bit-identical. The old Spanish environment variable names are still accepted.
Diffstat (limited to 'scenes/v2_nueves.py')
-rw-r--r--scenes/v2_nueves.py74
1 files changed, 37 insertions, 37 deletions
diff --git a/scenes/v2_nueves.py b/scenes/v2_nueves.py
index eb9f198..7a4bdd7 100644
--- a/scenes/v2_nueves.py
+++ b/scenes/v2_nueves.py
@@ -5,19 +5,19 @@ from manim import *
from tiktok import *
-class Nueves(TikTok):
+class Nines(TikTok):
NAME = "nueves"
def construct(self):
self.prepare()
- chip = self.chip("Matemática que enoja", ROSA)
+ chip = self.chip("Matemática que enoja", C_PINK)
- # --- el numero ---
+ # --- the number ---
with self.beat(0) as b:
head = Text("0,", font=FONT, font_size=110, weight=BOLD, color=WHITE)
- nines = VGroup(*[Text("9", font=FONT, font_size=110, weight=BOLD, color=AMBAR)
+ nines = VGroup(*[Text("9", font=FONT, font_size=110, weight=BOLD, color=AMBER)
for _ in range(6)])
- dots = Text("…", font=FONT, font_size=110, weight=BOLD, color=AMBAR)
+ dots = Text("…", font=FONT, font_size=110, weight=BOLD, color=AMBER)
num = VGroup(head, *nines, dots).arrange(RIGHT, buff=0.06)
self.fit(num, 8.0).move_to(UP * 4.5)
b.play(FadeIn(chip, shift=DOWN * 0.3), run_time=0.45)
@@ -26,47 +26,47 @@ class Nueves(TikTok):
lag_ratio=0.5), run_time=1.1)
b.play(Write(dots), run_time=0.4)
- # --- es igual a 1 ---
+ # --- it equals 1 ----
with self.beat(1) as b:
eq = MathTex("=", color=WHITE).scale(2.2).move_to(UP * 2.4)
- one = MathTex("1", color=VERDE).scale(3.2).next_to(eq, DOWN, buff=0.35)
+ one = MathTex("1", color=C_GREEN).scale(3.2).next_to(eq, DOWN, buff=0.35)
b.play(Write(eq), run_time=0.4)
b.play(FadeIn(one, scale=0.5), run_time=0.5)
- b.play(Flash(one, color=VERDE, line_length=0.5, num_lines=16, flash_radius=1.1),
+ b.play(Flash(one, color=C_GREEN, line_length=0.5, num_lines=16, flash_radius=1.1),
run_time=0.7)
equals = VGroup(eq, one)
- # --- la objecion ---
+ # --- the objection ---
with self.beat(2) as b:
bubble = RoundedRectangle(corner_radius=0.35, width=7.4, height=1.5,
- stroke_color=GRIS, stroke_width=4,
+ stroke_color=C_GRAY, stroke_width=4,
fill_color="#151C2E", fill_opacity=1).move_to(UP * 0.9)
obj = self.fit(Text("«pero le falta un poquito»", font=FONT, font_size=42,
- weight=BOLD, color=GRIS), 6.9).move_to(bubble)
+ weight=BOLD, color=C_GRAY), 6.9).move_to(bubble)
b.play(FadeOut(equals), run_time=0.3)
b.play(FadeIn(bubble), Write(obj), run_time=1.0)
- # --- decime cuanto ---
+ # --- tell me how much ---
with self.beat(3) as b:
q = MathTex(r"1 - 0{,}999\ldots \;=\; ?", color=WHITE).scale(1.6).move_to(UP * 1.5)
- q[0][-1].set_color(ROSA)
+ q[0][-1].set_color(C_PINK)
b.play(FadeOut(VGroup(bubble, obj)), run_time=0.3)
b.play(Write(q), run_time=1.1)
- b.play(Indicate(q[0][-1], color=ROSA, scale_factor=1.6), run_time=0.8)
+ b.play(Indicate(q[0][-1], color=C_PINK, scale_factor=1.6), run_time=0.8)
- # --- la recta: no hay lugar en el medio ---
+ # --- the number line: no room in between ---
line = Line(LEFT * 3.4, RIGHT * 3.4, stroke_width=7, color="#3A4766").move_to(UP * 0.55)
- dA = Dot(line.get_left() + RIGHT * 1.4, radius=0.15, color=AMBAR)
- dB = Dot(line.get_right(), radius=0.15, color=VERDE)
- lA = MathTex("0{,}999\\ldots", color=AMBAR).scale(1.0).next_to(dA, DOWN, buff=0.45)
- lB = MathTex("1", color=VERDE).scale(1.4).next_to(dB, DOWN, buff=0.45)
+ dA = Dot(line.get_left() + RIGHT * 1.4, radius=0.15, color=AMBER)
+ dB = Dot(line.get_right(), radius=0.15, color=C_GREEN)
+ lA = MathTex("0{,}999\\ldots", color=AMBER).scale(1.0).next_to(dA, DOWN, buff=0.45)
+ lB = MathTex("1", color=C_GREEN).scale(1.4).next_to(dB, DOWN, buff=0.45)
with self.beat(4) as b:
b.play(FadeOut(q), run_time=0.25)
b.play(Create(line), run_time=0.5)
b.play(FadeIn(dA), FadeIn(dB), Write(lA), Write(lB), run_time=0.8)
- brace = Brace(Line(dA.get_center(), dB.get_center()), UP, color=ROSA, buff=0.15)
+ brace = Brace(Line(dA.get_center(), dB.get_center()), UP, color=C_PINK, buff=0.15)
ask = Text("¿qué número entra acá?", font=FONT, font_size=34,
- weight=BOLD, color=ROSA).next_to(brace, UP, buff=0.2)
+ weight=BOLD, color=C_PINK).next_to(brace, UP, buff=0.2)
self.fit(ask, 7.5)
b.play(GrowFromCenter(brace), FadeIn(ask), run_time=0.8)
gap = VGroup(brace, ask)
@@ -76,46 +76,46 @@ class Nueves(TikTok):
lA.animate.next_to(dB, DOWN, buff=0.45).shift(LEFT * 1.3),
FadeOut(gap), run_time=1.2)
none = Text("nada: es el mismo punto", font=FONT, font_size=40,
- weight=BOLD, color=VERDE).move_to(DOWN * 1.9)
- b.play(Flash(dB, color=VERDE, line_length=0.6, num_lines=18, flash_radius=1.2),
+ weight=BOLD, color=C_GREEN).move_to(DOWN * 1.9)
+ b.play(Flash(dB, color=C_GREEN, line_length=0.6, num_lines=18, flash_radius=1.2),
FadeIn(self.fit(none, 7.8), shift=UP * 0.2), run_time=0.9)
- recta = VGroup(line, dA, dB, lA, lB, none)
+ line_m = VGroup(line, dA, dB, lA, lB, none)
- # --- la demostracion ---
+ # --- the proof ---------
with self.beat(6) as b:
p1 = MathTex(r"\frac{1}{3} = 0{,}333\ldots", color=WHITE).scale(1.9).move_to(UP * 3.7)
- b.play(FadeOut(VGroup(recta, num, head, dots, *nines)), run_time=0.45)
+ b.play(FadeOut(VGroup(line_m, num, head, dots, *nines)), run_time=0.45)
b.play(Write(p1), run_time=1.1)
with self.beat(7) as b:
- x3 = Text("× 3", font=FONT, font_size=60, weight=BOLD, color=AMBAR).move_to(UP * 1.75)
+ x3 = Text("× 3", font=FONT, font_size=60, weight=BOLD, color=AMBER).move_to(UP * 1.75)
ar = VGroup(
- Arrow(UP * 2.75 + LEFT * 2.1, UP * 0.75 + LEFT * 2.1, buff=0, color=AMBAR, stroke_width=8),
- Arrow(UP * 2.75 + RIGHT * 2.1, UP * 0.75 + RIGHT * 2.1, buff=0, color=AMBAR, stroke_width=8),
+ Arrow(UP * 2.75 + LEFT * 2.1, UP * 0.75 + LEFT * 2.1, buff=0, color=AMBER, stroke_width=8),
+ Arrow(UP * 2.75 + RIGHT * 2.1, UP * 0.75 + RIGHT * 2.1, buff=0, color=AMBER, stroke_width=8),
)
b.play(FadeIn(x3, scale=0.6), run_time=0.5)
b.play(*[GrowArrow(a) for a in ar], run_time=0.7)
with self.beat(8) as b:
p2 = MathTex(r"\frac{3}{3} = 0{,}999\ldots", color=WHITE).scale(1.9).move_to(DOWN * 0.55)
- p2[0][0].set_color(VERDE); p2[0][2].set_color(VERDE)
+ p2[0][0].set_color(C_GREEN); p2[0][2].set_color(C_GREEN)
b.play(Write(p2), run_time=1.3)
- b.play(Circumscribe(p2, color=CELESTE, buff=0.3, stroke_width=6), run_time=0.9)
+ b.play(Circumscribe(p2, color=C_SKY, buff=0.3, stroke_width=6), run_time=0.9)
with self.beat(9) as b:
- final = MathTex(r"1 = 0{,}999\ldots", color=VERDE).scale(2.3).move_to(DOWN * 2.6)
+ final = MathTex(r"1 = 0{,}999\ldots", color=C_GREEN).scale(2.3).move_to(DOWN * 2.6)
b.play(FadeOut(VGroup(x3, ar)), run_time=0.3)
b.play(TransformFromCopy(p2, final), run_time=1.2)
- b.play(Flash(final, color=VERDE, line_length=0.7, num_lines=22, flash_radius=2.2),
+ b.play(Flash(final, color=C_GREEN, line_length=0.7, num_lines=22, flash_radius=2.2),
run_time=0.9)
with self.beat(10) as b:
b.play(FadeOut(VGroup(p1, p2)), run_time=0.4)
- cta = self.fit(Text("¿te convencí?", font=FONT, font_size=72, weight=BOLD,
- color=AMBAR), 7.9).move_to(UP * 2.2)
+ count_txt = self.fit(Text("¿te convencí?", font=FONT, font_size=72, weight=BOLD,
+ color=AMBER), 7.9).move_to(UP * 2.2)
sub = Text("escribilo en los comentarios", font=FONT, font_size=40,
- color=GRIS).next_to(cta, DOWN, buff=0.4)
- b.play(Write(cta), run_time=0.8)
+ color=C_GRAY).next_to(count_txt, DOWN, buff=0.4)
+ b.play(Write(count_txt), run_time=0.8)
b.play(FadeIn(sub, shift=UP * 0.2), run_time=0.5)
self.finish()