Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion calc-backend/animation-gen/derivativeAnimation.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,4 +67,6 @@ def construct(self):
self.play(x.animate(rate_func=linear).set_value(3), run_time = 1.5)
self.play(x.animate(rate_func=rush_from).set_value(1), run_time = 2)
self.play(x.animate(rate_func=rush_into).set_value(3), run_time = 2)
self.play(x.animate(rate_func=linear).set_value(5.5), run_time = 1.5)
self.play(x.animate(rate_func=linear).set_value(5.5), run_time = 1.5)

self.wait(3)
9 changes: 3 additions & 6 deletions calc-backend/animation-gen/integralAnimation.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,15 @@ def construct(self):

self.add(axes, x_label, y_label)

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

# Riemann sum parameters
a, b = 0, 2
n = 10
dx = (b - a) / n
rectangles = VGroup()
area_sum = 0

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

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

self.wait(1.5)

# Fade everything out

self.play(
FadeOut(rectangles),
FadeOut(area_text),
FadeOut(graph),
run_time=1
)

self.wait(3)
81 changes: 81 additions & 0 deletions calc-backend/animation-gen/limitsAnimation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
import numpy as np
from manim import *

class Limit(Scene):
def construct(self):

axes = Axes(
x_range=[0.1, 4, 1],
y_range=[0, 10, 2],
axis_config={"include_numbers": True},
x_length=8,
y_length=5
)
labels = axes.get_axis_labels(x_label="x", y_label="y")
self.play(Create(axes), Write(labels))

def func(x):
if x == 2:
return np.nan # removable discontinuity
return (x**2 + 4*x - 12)/(x**2 - 2*x)

graph = axes.plot(
func,
color=WHITE,
discontinuities=[2],
dt=0.01,
x_range=[.7, 3.9]
)

hole_point = Circle(
radius=0.04,
color=WHITE,
fill_opacity=0,
stroke_width=4
).move_to(axes.c2p(2, func(2.01)))

self.play(Create(graph), FadeIn(hole_point), run_time=2)

# ValueTrackers for dynamic movement
t_left = ValueTracker(0.7)
t_right = ValueTracker(3.5)

# Initial dummy arrows
left_arrow = always_redraw(lambda: Arrow(
start=axes.c2p(0.7, func(0.7) + 0.3),
end=axes.c2p(t_left.get_value(), func(t_left.get_value())),
color=BLUE,
stroke_width=6,
buff=0
))

right_arrow = always_redraw(lambda: Arrow(
start=axes.c2p(3.5, func(3.5) + 0.3),
end=axes.c2p(t_right.get_value(), func(t_right.get_value())),
color=YELLOW,
stroke_width=6,
buff=0
))

self.add(left_arrow, right_arrow)

# Animate trackers to move arrows toward x = 2
self.play(
t_left.animate.set_value(1.99),
t_right.animate.set_value(2.01),
run_time=2,
rate_func=linear
)

self.wait(0.5)

self.play(
FadeOut(axes),
FadeOut(labels),
FadeOut(graph),
FadeOut(hole_point),
FadeOut(left_arrow),
FadeOut(right_arrow)
)

self.wait(3)
35 changes: 10 additions & 25 deletions calc-frontend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion calc-frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"@radix-ui/react-tooltip": "^1.2.0",
"@tailwindcss/vite": "^4.0.4",
"axios": "^1.8.1",
"better-auth": "^1.2.4",
"better-auth": "^1.2.7",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"jsdom": "^26.0.0",
Expand Down
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
\documentclass[preview]{standalone}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
\begin{align*}
0
\end{align*}
\end{document}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
\documentclass[preview]{standalone}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
\begin{align*}
f(x)
\end{align*}
\end{document}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
\documentclass[preview]{standalone}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
\begin{align*}
6
\end{align*}
\end{document}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
\documentclass[preview]{standalone}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
\begin{align*}
8
\end{align*}
\end{document}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# This file is used internally by FFMPEG.
file 'file:/home/drake/CalculusVisualizerProject/calc-visualizer/calc-backend/animation-gen/media/videos/limitsAnimation/1080p60/partial_movie_files/Limit/3529212410_1240247844_223132457.mp4'
file 'file:/home/drake/CalculusVisualizerProject/calc-visualizer/calc-backend/animation-gen/media/videos/limitsAnimation/1080p60/partial_movie_files/Limit/3040924799_1376512726_2967433267.mp4'
file 'file:/home/drake/CalculusVisualizerProject/calc-visualizer/calc-backend/animation-gen/media/videos/limitsAnimation/1080p60/partial_movie_files/Limit/3040924799_2510802644_669525166.mp4'
file 'file:/home/drake/CalculusVisualizerProject/calc-visualizer/calc-backend/animation-gen/media/videos/limitsAnimation/1080p60/partial_movie_files/Limit/3040924799_2341082278_949554925.mp4'
file 'file:/home/drake/CalculusVisualizerProject/calc-visualizer/calc-backend/animation-gen/media/videos/limitsAnimation/1080p60/partial_movie_files/Limit/3040924799_1333778094_730062091.mp4'
file 'file:/home/drake/CalculusVisualizerProject/calc-visualizer/calc-backend/animation-gen/media/videos/limitsAnimation/1080p60/partial_movie_files/Limit/3040924799_4166842112_3149261676.mp4'
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# This file is used internally by FFMPEG.
file 'file:/home/drake/CalculusVisualizerProject/calc-visualizer/calc-backend/animation-gen/media/videos/limitsAnimation/480p15/partial_movie_files/Limit/1185818338_1240247844_223132457.mp4'
file 'file:/home/drake/CalculusVisualizerProject/calc-visualizer/calc-backend/animation-gen/media/videos/limitsAnimation/480p15/partial_movie_files/Limit/624642324_1376512726_2967433267.mp4'
file 'file:/home/drake/CalculusVisualizerProject/calc-visualizer/calc-backend/animation-gen/media/videos/limitsAnimation/480p15/partial_movie_files/Limit/624642324_2510802644_4234489363.mp4'
file 'file:/home/drake/CalculusVisualizerProject/calc-visualizer/calc-backend/animation-gen/media/videos/limitsAnimation/480p15/partial_movie_files/Limit/624642324_2341082278_384939764.mp4'
file 'file:/home/drake/CalculusVisualizerProject/calc-visualizer/calc-backend/animation-gen/media/videos/limitsAnimation/480p15/partial_movie_files/Limit/624642324_960113373_1562076290.mp4'
file 'file:/home/drake/CalculusVisualizerProject/calc-visualizer/calc-backend/animation-gen/media/videos/limitsAnimation/480p15/partial_movie_files/Limit/624642324_4166842112_3149261676.mp4'
3 changes: 2 additions & 1 deletion calc-frontend/src/pages/Home.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import SignInButton from "../components/ui/SignInButton";
import SignOutButton from "../components/ui/SignOutButton";
import derivativeVideo from '../animations/manim-videos/derivativeAnimation/1080p60/DerivativeAnimation.mp4';
import integralVideo from '../animations/manim-videos/integralAnimation/1080p60/RightRiemannSum.mp4';
import limitVideo from '../animations/manim-videos/limitsAnimation/1080p60/Limit.mp4';

function Home() {
const { session, isPending } = useAuth();
Expand Down Expand Up @@ -91,7 +92,7 @@ function Home() {

<video
className="w-full object-cover rounded-t-md"
src={derivativeVideo}
src={limitVideo}
autoPlay
loop
muted
Expand Down