mirror of
https://github.com/3b1b/manim.git
synced 2025-07-30 13:34:19 +08:00
37 lines
850 B
Python
37 lines
850 B
Python
from utils.color import *
|
|
from active_projects.eop.reusables.eop_constants import *
|
|
|
|
def binary(i):
|
|
# returns an array of 0s and 1s
|
|
if i == 0:
|
|
return []
|
|
j = i
|
|
binary_array = []
|
|
while j > 0:
|
|
jj = j/2
|
|
if jj > 0:
|
|
binary_array.append(j % 2)
|
|
else:
|
|
binary_array.append(1)
|
|
j = jj
|
|
return binary_array[::-1]
|
|
|
|
def nb_of_ones(i):
|
|
return binary(i).count(1)
|
|
|
|
|
|
def rainbow_color(alpha):
|
|
nb_colors = 100
|
|
rainbow = color_gradient([RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE], nb_colors)
|
|
rainbow = np.append(rainbow,PURPLE)
|
|
index = int(alpha * nb_colors)
|
|
return rainbow[index]
|
|
|
|
def graded_color(n,k):
|
|
if n != 0:
|
|
alpha = float(k)/n
|
|
else:
|
|
alpha = 0.5
|
|
color = interpolate_color(GRADE_COLOR_1, GRADE_COLOR_2, alpha)
|
|
return color
|