"""Square wave from harmonics: odd sines adding up toward a square wave.
Render (the driver does this for every palette; these are for eyeballing):
P=/opt/homebrew/opt/python@3.11/bin/python3.11
ASSET_MODE=still $P -m manim -s -r 1600,1600 manim/square_wave_harmonics.py SquareWaveHarmonics
ASSET_MODE=motion $P -m manim -qh -r 1080,1080 manim/square_wave_harmonics.py SquareWaveHarmonicsLoop
"""
import numpy as np
from manim import (
DOWN,
LEFT,
PI,
RIGHT,
UP,
Axes,
The full Manim source and the rendered video come with a plan.