mirror of
https://github.com/3b1b/manim.git
synced 2025-09-19 04:41:56 +00:00
Sketched anim for Birthday Paradox
This commit is contained in:
parent
ff8bd27c44
commit
d94870ba24
1 changed files with 47 additions and 0 deletions
47
active_projects/eop/birthday.py
Normal file
47
active_projects/eop/birthday.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
from helpers import *
|
||||
from mobject import Mobject
|
||||
from mobject.vectorized_mobject import *
|
||||
from animation.animation import Animation
|
||||
from animation.transform import *
|
||||
from animation.simple_animations import *
|
||||
from topics.geometry import *
|
||||
from scene import Scene
|
||||
from camera import *
|
||||
from topics.number_line import *
|
||||
from topics.three_dimensions import *
|
||||
from topics.light import *
|
||||
from topics.characters import *
|
||||
from topics.numerals import *
|
||||
|
||||
|
||||
|
||||
class Birthday(Scene):
|
||||
|
||||
def construct(self):
|
||||
|
||||
sidelength = 6.0
|
||||
corner = np.array([-sidelength/2,-sidelength/2,0])
|
||||
nb_days_left = 365.0
|
||||
toggle = False
|
||||
|
||||
def probability():
|
||||
width = rect.get_width()
|
||||
height = rect.get_height()
|
||||
return width * height / sidelength**2
|
||||
|
||||
rect = Square().scale(sidelength/2)
|
||||
|
||||
while probability() > 0.5:
|
||||
|
||||
self.add(rect.copy())
|
||||
nb_days_left -= 1
|
||||
|
||||
if toggle:
|
||||
dim = 0
|
||||
else:
|
||||
dim = 1
|
||||
|
||||
rect.stretch_about_point(nb_days_left / 365, dim, corner)
|
||||
|
||||
toggle = not toggle
|
||||
|
Loading…
Add table
Reference in a new issue