Skip to content
Merged
  •  
  •  
  •  
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.
Binary file not shown.
Binary file not shown.
20 changes: 13 additions & 7 deletions calc-frontend/src/Animations/derivativeAnimation.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def construct(self):

func = axes.plot(
lambda x: .5 * x * (x-3) * (x-4) + .6,
x_range = (0,10)
x_range = (0,5)
)

x = ValueTracker(7)
Expand All @@ -38,7 +38,7 @@ def construct(self):
)
)

dot1 =always_redraw(
dot1 = always_redraw(
lambda: Dot()
.scale(0.7)
.move_to(axes.c2p(x.get_value(), func.underlying_function(x.get_value())))
Expand All @@ -55,12 +55,18 @@ def construct(self):
)
)

tangent_label = always_redraw(
lambda: MathTex("y = f'(x)")
.scale(0.6)
.next_to(secant, UP, buff=0.1)
.set_color(GREEN)
)

self.add(axes, axes_labels,func)
self.play(Create(VGroup(dot1,dot2,secant)))
self.add(dot1,dot2,secant,tangent_label)
self.play(dx.animate.set_value(.001), run_time=1)
self.wait(2)
self.play(x.animate.set_value(1), run_time = 4)
self.play(x.animate.set_value(7), run_time = 4)
self.wait()
self.play(dx.animate.set_value(2), run_time = 4)
self.wait()
self.play(dx.animate.set_value(2), run_time = 1)

self.wait(3)
65 changes: 65 additions & 0 deletions calc-frontend/src/Animations/integralAnimations.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
from manim import *

class RightRiemannSum(Scene):
def construct(self):
axes = Axes(
x_range=[0, 2.5, 1],
y_range=[0, 5, 1],
x_length=10,
y_length=5,
axis_config={"include_numbers": True}
).to_edge(LEFT)

x_label = axes.get_x_axis_label("x")
y_label = axes.get_y_axis_label("y")

self.play(Create(axes), Write(x_label), Write(y_label))

graph = axes.plot(lambda x: 0.6 * x**2, x_range=[0, 2.3], color=WHITE)
self.play(Create(graph), run_time=2)

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

for i in range(1, n + 1):
x_right = a + i * dx
height = 0.6 * x_right**2
area_sum += height * dx

rect_corner = axes.c2p(x_right - dx, 0)
rect_width = axes.c2p(dx, 0)[0] - axes.c2p(0, 0)[0]
rect_height = axes.c2p(0, height)[1] - axes.c2p(0, 0)[1]

rect = Rectangle(
width=rect_width,
height=rect_height,
fill_color=YELLOW,
fill_opacity=0.8,
stroke_width=0.5
)
rect.align_to(rect_corner, DOWN + LEFT)
rectangles.add(rect)

for rect in rectangles:
self.play(FadeIn(rect, run_time=0.2))

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)

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

self.wait(3)
81 changes: 81 additions & 0 deletions calc-frontend/src/Animations/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)

def get_tangent_angle(x):
dx = 0.001
dy = func(x + dx) - func(x)
return np.arctan2(dy, dx)

t_left = ValueTracker(0.7)
t_right = ValueTracker(3.5)

left_arrow = Triangle(color=GREEN, fill_opacity=1).scale(0.2)
left_arrow.rotate(PI/2)
left_updater = always_redraw(
lambda: left_arrow.move_to(axes.c2p(t_left.get_value(), func(t_left.get_value())))
.set_angle(get_tangent_angle(t_left.get_value()))
)

right_arrow = Triangle(color=YELLOW, fill_opacity=1).scale(0.2)
right_arrow.rotate(PI/2)
right_updater = always_redraw(
lambda: right_arrow.move_to(axes.c2p(t_right.get_value(), func(t_right.get_value())))
.set_angle(get_tangent_angle(t_right.get_value()))
)

self.add(left_updater, right_updater)

self.play(
t_left.animate.set_value(1.99),
t_right.animate.set_value(2.01),
run_time=2,
rate_func=linear
)

self.wait(.5)

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

self.wait(3)
10 changes: 10 additions & 0 deletions calc-frontend/src/Animations/media/Tex/66e1bc57a83e0f07.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions calc-frontend/src/Animations/media/Tex/66e1bc57a83e0f07.tex
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}
16 changes: 16 additions & 0 deletions calc-frontend/src/Animations/media/Tex/70b3a8630e8c4922.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions calc-frontend/src/Animations/media/Tex/70b3a8630e8c4922.tex
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}
10 changes: 10 additions & 0 deletions calc-frontend/src/Animations/media/Tex/b330e3953bf029d7.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions calc-frontend/src/Animations/media/Tex/b330e3953bf029d7.tex
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}
10 changes: 10 additions & 0 deletions calc-frontend/src/Animations/media/Tex/b47c9feb1c667bc8.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions calc-frontend/src/Animations/media/Tex/b47c9feb1c667bc8.tex
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}
Loading