Manim 徽标和横幅的实用

ManimBanner 是 Manim 中用于展示 Manim 标志的类,可以在动画中添加一个简洁的 Manim 标志。dark_theme=True 参数用于选择是否使用深色主题。

ManimBanner(dark_theme=True)

 示例1:

from manim import *

class DarkThemeBanner(Scene):
    def construct(self):
        banner = ManimBanner()
        self.play(banner.create())
        self.play(banner.expand())
        self.wait()
        self.play(Unwrite(banner))

运行结果: 

示例2: 

class DarkThemeBanner(Scene):
    def construct(self):
        banner = ManimBanner()
        logo_black = WHITE
        ds_m1 = MathTex(r"\mathbb{M}", fill_color=logo_black).scale(7)
        ds_m2 = MathTex(r"\mathbb{A}", fill_color=logo_black).scale(4)
        ds_m3 = MathTex(r"\mathbb{N}", fill_color=logo_black).scale(4)
        ds_m4 = MathTex(r"\mathbb{I}", fill_color=logo_black).scale(4)
        ds_m5 = MathTex(r"\mathbb{M}", fill_color=logo_black).scale(4)
        ds_m=VGroup(ds_m1,ds_m2,ds_m3,ds_m4,ds_m5).arrange(RIGHT)
        self.add(ds_m)
        self.wait(1)
        self.play(Unwrite(ds_m))

        self.play(banner.create())
        self.play(banner.expand())
        self.wait()
        self.play(Unwrite(banner))

运行结果:

 

同样的结果可以不同的代码实现:

 示例3:

from manim import *

class ManimCELogo(Scene):
    def construct(self):
        self.camera.background_color = "#ece6e2"
        logo_green = "#87c2a5"
        logo_blue = "#525893"
        logo_red = "#e07a5f"
        logo_black = "#343434"
        ds_m = MathTex(r"\mathbb{M}", fill_color=logo_black).scale(7)
        ds_m.shift(2.25 * LEFT + 1.5 * UP)
        circle = Circle(color=logo_green, fill_opacity=1).shift(LEFT)
        square = Square(color=logo_blue, fill_opacity=1).shift(UP)
        triangle = Triangle(color=logo_red, fill_opacity=1).shift(RIGHT)
        logo = VGroup(triangle, square, circle, ds_m)  # order matters
        logo.move_to(ORIGIN)
        self.add(logo)

 运行结果:

 示例4:

from manim import *

class ExpandDirections(Scene):
    def construct(self):
        banners = [ManimBanner().scale(0.5).shift(UP*x) for x in [-2, 0, 2]]
        self.play(
            banners[0].expand(direction="right"),
            banners[1].expand(direction="center"),
            banners[2].expand(direction="left"),
        )

运行结果: 

 在 Manim 中,有几个函数和类与 ManimBanner 类似,主要用于添加各种类型的标志或元素。以下是一些相关的函数和类:

  1. Title:可以用于为场景添加一个标题。

    title = Title("My Title") 
    self.add(title) 
  2. Subtitle:用于添加副标题,通常是对标题的补充或解释。

    subtitle = Subtitle("My Subtitle") 
    self.add(subtitle) 
  3. ImageMobject:可以用于添加图像,如果你有自定义的图标或标志。

    logo = ImageMobject("path/to/your/logo.png") 
    self.add(logo) 
  4. Text:用于添加简单的文本,适用于需要注释或说明的场景。

    text = Text("Hello, Manim!") 
    self.add(text) 
  5. PolygonCircleSquare 等几何图形:可以用来构建各种形状或装饰元素,也可以用于动画。

    circle = Circle() 
    self.add(circle) 

 示例:

class DarkThemeBanner01(Scene):
    def construct(self):
        title = Title("My Title").set_color(RED,WHITE)  
        self.add(title)
        # 创建副标题  
        subtitle = Text("我的动画", font="SimHei", font_size=48)  
        #title= Text("Using Manim", font_size=18)  
        subtitle.next_to(title, DOWN)  
        self.add(subtitle)
        logo = ImageMobject("BarChartExample112_ManimCE_v0.18.1.png") 
        logo.scale(0.85).shift(DOWN-2*LEFT)  # 将图像缩放到原始大小的50% 
        self.add(logo)
        
        text = Text("Hello, Manim!").shift(UP+4.5*LEFT)  
        self.add(text)
        circle = Circle(fill_opacity=1) .shift(DOWN+4.5*LEFT).scale(1) 
        #self.add(circle)
        square = Square(fill_opacity=1)# .shift(DOWN+4.5*LEFT).scale(0.5) 
        a=VGroup(circle,square).arrange(DOWN).shift(DOWN+4.5*LEFT).scale(0.5) 
        self.add(a)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yasen.M

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值