MATHalino logo made with Manim
Category
Below is the Python code for the logo. The image generated by Manim is transparent PNG file and the colors are suitable for dark background.
from manim import *
class AnimatedLogoDarkBG(Scene):
def construct(self):
self.camera.background_color = GRAY_E
Tex.set_default(color=LOGO_WHITE)
Text.set_default(color=LOGO_WHITE)
centerSphere = Sphere(radius=2, resolution=(101, 51)).set_color(BLUE_E)
rIN = 2.49
rMID = 3.4
rOUT = 3.9
AngleBetInMid = 3
AngleOUT = 8
AngleMIDlen = 22.5 - AngleOUT - 2*AngleBetInMid
AngleMIDstart = 0.5*AngleOUT + AngleBetInMid
arcOUT = VGroup()
arcOUT += Arc(radius=rOUT, start_angle=135*PI/180, angle=0.5*AngleOUT*PI/180, stroke_width=2, stroke_color=BLUE_A) #BLACK)
for x in np.arange(157.5, 360, 22.5):
arcOUT += Arc(radius=rOUT, start_angle=(x - 0.5*AngleOUT)*PI/180, angle=AngleOUT*PI/180, stroke_width=2, stroke_color=BLUE_A) #BLACK)
arcOUT += Arc(radius=rOUT, start_angle=(360 - 0.5*AngleOUT)*PI/180, angle=0.5*AngleOUT*PI/180, stroke_width=2, stroke_color=BLUE_A) #BLACK)
arcMID = VGroup()
for y in np.arange(135, 360, 22.5):
arcMID += Arc(radius=rMID, start_angle= (y + AngleMIDstart)*PI/180, angle=AngleMIDlen*PI/180, stroke_width=2, stroke_color=BLUE_A) #BLACK)
arcIN = Arc(radius=rIN, start_angle=0, angle=-225*PI/180, stroke_width=2, stroke_color=BLUE_A) #BLACK)
poly_conf = {"stroke_width": 2, "stroke_color": BLUE_A, "fill_opacity": 1, "fill_color": "#0072BC",}
gearLogo = ArcPolygonFromArcs(
arcOUT[0], arcMID[0], arcOUT[1], arcMID[1], arcOUT[2], arcMID[2], arcOUT[3], arcMID[3], arcOUT[4],
arcMID[4], arcOUT[5], arcMID[5], arcOUT[6], arcMID[6], arcOUT[7], arcMID[7], arcOUT[8],
arcMID[8], arcOUT[9], arcMID[9], arcOUT[10], arcIN, **poly_conf,
)
MATHalino = Tex("$\\mathbb{MATH}$", "$\\alpha$","lino", font_size=40) #.set_color(BLUE_A) #.set_color(BLACK)
MATHalino[1].set_style(stroke_color=PURE_YELLOW, stroke_width=1, fill_color=PURE_RED)
MATHalino.rotate(-90 * DEGREES)
MATHalino.apply_complex_function(np.exp)
MATHalino.rotate(67.5 * DEGREES)
MATHalino.scale(2.9)
# MATHalino.shift(1.80 * UP + 0.30 * LEFT) #-- Almost perfect
MATHalino.shift(1.78 * UP + 0.28 * LEFT)
self.play(DrawBorderThenFill(gearLogo, run_time=2), Write(centerSphere), Write(MATHalino, run_time=2))
self.play(ApplyWave(MATHalino))
self.wait()
Available at GitHub: https://github.com/JhunVert/Animations/blob/main/mathalino-logo.py
