3b1b-manim/constants.py

158 lines
4 KiB
Python
Raw Normal View History

import os
2015-06-19 08:31:02 -07:00
import numpy as np
DEFAULT_HEIGHT = 1080
DEFAULT_WIDTH = 1920
2015-10-29 13:45:28 -07:00
DEFAULT_FRAME_DURATION = 0.04
2016-02-27 16:29:11 -08:00
#There might be other configuration than pixel_shape later...
2016-03-07 19:07:00 -08:00
PRODUCTION_QUALITY_CAMERA_CONFIG = {
2016-02-27 16:29:11 -08:00
"pixel_shape" : (DEFAULT_HEIGHT, DEFAULT_WIDTH),
2015-05-07 21:28:02 -07:00
}
2016-03-07 19:07:00 -08:00
MEDIUM_QUALITY_CAMERA_CONFIG = {
2016-02-27 16:29:11 -08:00
"pixel_shape" : (720, 1280),
2015-10-20 21:55:46 -07:00
}
2016-03-07 19:07:00 -08:00
LOW_QUALITY_CAMERA_CONFIG = {
2016-07-12 10:34:35 -07:00
"pixel_shape" : (480, 853),
2015-05-07 21:28:02 -07:00
}
DEFAULT_POINT_DENSITY_2D = 25
2016-03-21 19:30:36 -07:00
DEFAULT_POINT_DENSITY_1D = 250
2015-05-07 21:28:02 -07:00
DEFAULT_POINT_THICKNESS = 4
2015-11-23 10:34:42 -08:00
#TODO, Make sure these are not needed
2015-06-19 08:31:02 -07:00
SPACE_HEIGHT = 4.0
SPACE_WIDTH = SPACE_HEIGHT * DEFAULT_WIDTH / DEFAULT_HEIGHT
2016-08-17 16:14:15 -07:00
SMALL_BUFF = 0.1
MED_BUFF = 0.5
LARGE_BUFF = 1
DEFAULT_MOBJECT_TO_EDGE_BUFFER = MED_BUFF
2016-08-18 12:54:04 -07:00
DEFAULT_MOBJECT_TO_MOBJECT_BUFFER = SMALL_BUFF
#All in seconds
2015-06-27 04:49:10 -07:00
DEFAULT_ANIMATION_RUN_TIME = 1.0
2015-10-20 21:55:46 -07:00
DEFAULT_POINTWISE_FUNCTION_RUN_TIME = 3.0
DEFAULT_DITHER_TIME = 1.0
2015-06-19 08:31:02 -07:00
ORIGIN = np.array(( 0, 0, 0))
UP = np.array(( 0, 1, 0))
DOWN = np.array(( 0,-1, 0))
RIGHT = np.array(( 1, 0, 0))
LEFT = np.array((-1, 0, 0))
IN = np.array(( 0, 0,-1))
OUT = np.array(( 0, 0, 1))
2015-03-26 22:49:22 -06:00
TOP = SPACE_HEIGHT*UP
BOTTOM = SPACE_HEIGHT*DOWN
LEFT_SIDE = SPACE_WIDTH*LEFT
RIGHT_SIDE = SPACE_WIDTH*RIGHT
2015-10-29 13:45:28 -07:00
THIS_DIR = os.path.dirname(os.path.realpath(__file__))
2016-07-12 10:34:35 -07:00
FILE_DIR = os.path.join(THIS_DIR, "files")
2015-10-29 13:45:28 -07:00
IMAGE_DIR = os.path.join(FILE_DIR, "images")
GIF_DIR = os.path.join(FILE_DIR, "gifs")
MOVIE_DIR = os.path.join(FILE_DIR, "movies")
STAGED_SCENES_DIR = os.path.join(FILE_DIR, "staged_scenes")
2015-10-29 13:45:28 -07:00
TEX_DIR = os.path.join(FILE_DIR, "Tex")
TEX_IMAGE_DIR = os.path.join(IMAGE_DIR, "Tex")
MOBJECT_DIR = os.path.join(FILE_DIR, "mobjects")
IMAGE_MOBJECT_DIR = os.path.join(MOBJECT_DIR, "image")
for folder in [FILE_DIR, IMAGE_DIR, GIF_DIR, MOVIE_DIR, TEX_DIR,
TEX_IMAGE_DIR, MOBJECT_DIR, IMAGE_MOBJECT_DIR,
STAGED_SCENES_DIR]:
if not os.path.exists(folder):
os.mkdir(folder)
2015-03-26 22:49:22 -06:00
TEX_TEXT_TO_REPLACE = "YourTextHere"
2015-10-29 13:45:28 -07:00
TEMPLATE_TEX_FILE = os.path.join(THIS_DIR, "template.tex")
TEMPLATE_TEXT_FILE = os.path.join(THIS_DIR, "text_template.tex")
2016-04-17 00:31:38 -07:00
2015-03-26 22:49:22 -06:00
LOGO_PATH = os.path.join(IMAGE_DIR, "logo.png")
FFMPEG_BIN = "ffmpeg"
2015-06-13 19:00:23 -07:00
2015-10-20 21:55:46 -07:00
### Colors ###
COLOR_MAP = {
2015-10-29 13:45:28 -07:00
"DARK_BLUE" : "#236B8E",
"DARK_BROWN" : "#8B4513",
2015-10-20 21:55:46 -07:00
"LIGHT_BROWN" : "#CD853F",
"BLUE_E" : "#1C758A",
"BLUE_D" : "#29ABCA",
2015-10-29 13:45:28 -07:00
"BLUE_C" : "#58C4DD",
"BLUE_B" : "#9CDCEB",
"BLUE_A" : "#C7E9F1",
"TEAL_E" : "#49A88F",
"TEAL_D" : "#55C1A7",
2015-10-29 13:45:28 -07:00
"TEAL_C" : "#5CD0B3",
"TEAL_B" : "#76DDC0",
"TEAL_A" : "#ACEAD7",
"GREEN_E" : "#699C52",
"GREEN_D" : "#77B05D",
2015-10-29 13:45:28 -07:00
"GREEN_C" : "#83C167",
"GREEN_B" : "#A6CF8C",
"GREEN_A" : "#C9E2AE",
"YELLOW_E" : "#E8C11C",
"YELLOW_D" : "#F4D345",
2015-12-23 11:29:14 -08:00
"YELLOW_C" : "#FFFF00",
"YELLOW_B" : "#FFEA94",
"YELLOW_A" : "#FFF1B6",
"GOLD_E" : "#C78D46",
"GOLD_D" : "#E1A158",
2015-10-29 13:45:28 -07:00
"GOLD_C" : "#F0AC5F",
"GOLD_B" : "#F9B775",
"GOLD_A" : "#F7C797",
"RED_E" : "#CF5044",
"RED_D" : "#E65A4C",
2015-10-29 13:45:28 -07:00
"RED_C" : "#FC6255",
"RED_B" : "#FF8080",
"RED_A" : "#F7A1A3",
"MAROON_E" : "#94424F",
"MAROON_D" : "#A24D61",
2015-10-29 13:45:28 -07:00
"MAROON_C" : "#C55F73",
"MAROON_B" : "#EC92AB",
"MAROON_A" : "#ECABC1",
"PURPLE_E" : "#644172",
"PURPLE_D" : "#715582",
2015-10-29 13:45:28 -07:00
"PURPLE_C" : "#9A72AC",
"PURPLE_B" : "#B189C6",
"PURPLE_A" : "#CAA3E8",
2015-10-29 13:45:28 -07:00
"WHITE" : "#FFFFFF",
"BLACK" : "#000000",
2015-12-20 16:43:52 -08:00
"GRAY" : "#888888",
2015-12-22 11:03:28 -08:00
"GREY" : "#888888",
2015-12-25 08:27:52 -08:00
"DARK_GREY" : "#444444",
"DARK_GRAY" : "#444444",
2016-07-13 22:03:31 -07:00
"GREY_BROWN" : "#736357",
"PINK" : "#D147BD",
"GREEN_SCREEN": "#00FF00",
2016-08-24 10:57:16 -07:00
"ORANGE" : "#FF862F",
2015-10-20 21:55:46 -07:00
}
PALETTE = COLOR_MAP.values()
2016-07-27 13:10:45 -07:00
locals().update(COLOR_MAP)
2015-10-29 13:45:28 -07:00
for name in filter(lambda s : s.endswith("_C"), COLOR_MAP.keys()):
2016-07-27 13:10:45 -07:00
locals()[name.replace("_C", "")] = locals()[name]
2015-06-13 19:00:23 -07:00