Skip to content

Commit 3fdfaf2

Browse files
authored
Merge pull request #172 from Speedrunyourknowledge/manim
Adjusted limits animation and cleaned up the folders
2 parents 175d2a4 + a6f0bc5 commit 3fdfaf2

File tree

52 files changed

+196
-34
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+196
-34
lines changed

calc-backend/animation-gen/derivativeAnimation.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,6 @@ def construct(self):
6767
self.play(x.animate(rate_func=linear).set_value(3), run_time = 1.5)
6868
self.play(x.animate(rate_func=rush_from).set_value(1), run_time = 2)
6969
self.play(x.animate(rate_func=rush_into).set_value(3), run_time = 2)
70-
self.play(x.animate(rate_func=linear).set_value(5.5), run_time = 1.5)
70+
self.play(x.animate(rate_func=linear).set_value(5.5), run_time = 1.5)
71+
72+
self.wait(3)

calc-backend/animation-gen/integralAnimation.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,15 @@ def construct(self):
2020

2121
self.add(axes, x_label, y_label)
2222

23-
# Plot y = 0.6 * x^2 from 0 to 2.6
2423
graph = axes.plot(lambda x: 0.6 * x**2, x_range=[0, 2.3], color=WHITE)
2524
self.play(Create(graph), run_time=1)
2625

27-
# Riemann sum parameters
2826
a, b = 0, 2
2927
n = 10
3028
dx = (b - a) / n
3129
rectangles = VGroup()
3230
area_sum = 0
3331

34-
# Create rectangles using f(x) = 0.6 * x^2
3532
for i in range(1, n + 1):
3633
x_right = a + i * dx
3734
height = 0.6 * x_right**2
@@ -55,17 +52,17 @@ def construct(self):
5552
for rect in rectangles:
5653
self.play(FadeIn(rect, run_time=0.15))
5754

58-
# Show area label in top-right corner
5955
area_text = Text(f"Area ≈ {area_sum:.2f}", font_size=36)
6056
area_text.to_edge(UP).shift(DOWN*2.4 + LEFT * 3.5)
6157
self.play(Write(area_text))
6258

6359
self.wait(1.5)
64-
65-
# Fade everything out
60+
6661
self.play(
6762
FadeOut(rectangles),
6863
FadeOut(area_text),
6964
FadeOut(graph),
7065
run_time=1
7166
)
67+
68+
self.wait(3)
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
import numpy as np
2+
from manim import *
3+
4+
class Limit(Scene):
5+
def construct(self):
6+
7+
axes = Axes(
8+
x_range=[0.1, 4, 1],
9+
y_range=[0, 10, 2],
10+
axis_config={"include_numbers": True},
11+
x_length=8,
12+
y_length=5
13+
)
14+
labels = axes.get_axis_labels(x_label="x", y_label="y")
15+
self.play(Create(axes), Write(labels))
16+
17+
def func(x):
18+
if x == 2:
19+
return np.nan # removable discontinuity
20+
return (x**2 + 4*x - 12)/(x**2 - 2*x)
21+
22+
graph = axes.plot(
23+
func,
24+
color=WHITE,
25+
discontinuities=[2],
26+
dt=0.01,
27+
x_range=[.7, 3.9]
28+
)
29+
30+
hole_point = Circle(
31+
radius=0.04,
32+
color=WHITE,
33+
fill_opacity=0,
34+
stroke_width=4
35+
).move_to(axes.c2p(2, func(2.01)))
36+
37+
self.play(Create(graph), FadeIn(hole_point), run_time=2)
38+
39+
# ValueTrackers for dynamic movement
40+
t_left = ValueTracker(0.7)
41+
t_right = ValueTracker(3.5)
42+
43+
# Initial dummy arrows
44+
left_arrow = always_redraw(lambda: Arrow(
45+
start=axes.c2p(0.7, func(0.7) + 0.3),
46+
end=axes.c2p(t_left.get_value(), func(t_left.get_value())),
47+
color=BLUE,
48+
stroke_width=6,
49+
buff=0
50+
))
51+
52+
right_arrow = always_redraw(lambda: Arrow(
53+
start=axes.c2p(3.5, func(3.5) + 0.3),
54+
end=axes.c2p(t_right.get_value(), func(t_right.get_value())),
55+
color=YELLOW,
56+
stroke_width=6,
57+
buff=0
58+
))
59+
60+
self.add(left_arrow, right_arrow)
61+
62+
# Animate trackers to move arrows toward x = 2
63+
self.play(
64+
t_left.animate.set_value(1.99),
65+
t_right.animate.set_value(2.01),
66+
run_time=2,
67+
rate_func=linear
68+
)
69+
70+
self.wait(0.5)
71+
72+
self.play(
73+
FadeOut(axes),
74+
FadeOut(labels),
75+
FadeOut(graph),
76+
FadeOut(hole_point),
77+
FadeOut(left_arrow),
78+
FadeOut(right_arrow)
79+
)
80+
81+
self.wait(3)

calc-frontend/package-lock.json

Lines changed: 10 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

calc-frontend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"@radix-ui/react-tooltip": "^1.2.0",
1818
"@tailwindcss/vite": "^4.0.4",
1919
"axios": "^1.8.1",
20-
"better-auth": "^1.2.4",
20+
"better-auth": "^1.2.7",
2121
"class-variance-authority": "^0.7.1",
2222
"clsx": "^2.1.1",
2323
"jsdom": "^26.0.0",
Binary file not shown.
Lines changed: 10 additions & 0 deletions
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
\documentclass[preview]{standalone}
2+
\usepackage[english]{babel}
3+
\usepackage{amsmath}
4+
\usepackage{amssymb}
5+
\begin{document}
6+
\begin{align*}
7+
0
8+
\end{align*}
9+
\end{document}
Lines changed: 16 additions & 0 deletions
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
\documentclass[preview]{standalone}
2+
\usepackage[english]{babel}
3+
\usepackage{amsmath}
4+
\usepackage{amssymb}
5+
\begin{document}
6+
\begin{align*}
7+
f(x)
8+
\end{align*}
9+
\end{document}

0 commit comments

Comments
 (0)