【manim动画教程】-- 图形样式

manim,动画教程,图形,样式 · 浏览次数 : 121

小编点评

**控制图形显示的样式参数:** * **stroke_width:**图形边框的粗细。 * **color:**图形的颜色。 * **fill_color:**图形填充色的颜色。 * **fill_opacity:**图形填充色的透明度。 **示例代码:** ```manim Circle( radius=0.8, stroke_width=1, color=RED, ) ``` **其他颜色属性:** * **fill:**用于填充的颜色。 * **outline:**用于绘制边框的颜色。 * **stroke:**用于绘制边框的颜色。 **效果:** * **#圆(这里的 shift 函数是用来调整圆的位置)**:圆的边框颜色为红色。 * **# 多边形Polygon(......)**:多边形的边框颜色为红色。 * **# 颜色各种基本图形本身有默认颜色**:例如,线默认是白色,圆默认红色,多边形默认蓝色等。

正文

manim绘制图形时,除了上一节提到的那些必须的参数,还有一些可选的参数,
这些参数可以控制图形显示的样式。

绘制各类基本图形(点,线,圆,多边形等)时,每个图形都有自己的默认的样式,比如上一节的图形,
有的默认是白色,有的默认是红色。

控制图形样式的参数最常用的有以下四个:

  1. stroke_width:图形边框的粗细
  2. color:图形的颜色
  3. fill_color:图形的填充色
  4. fill_opacity:填充色的透明度,这个参数一般和 fill_color一起使用

边框

线多边形都可以通过 stroke_width调整边框粗细程度。
线的边框:

# 线
Line(
    [-1, 1, 0],
    [1, 1, 0],
    stroke_width=1,
)
Line(
    [-1, 0, 0],
    [1, 0, 0],
    stroke_width=5,
)
Line(
    [-1, -1, 0],
    [1, -1, 0],
    stroke_width=10,
)

上面的示例中是3种不同粗细的线
运行效果:
out01.gif

圆的边框:

# 圆(这里的 shift 函数是用来调整圆的位置)
Circle(
    radius=0.8,
    stroke_width=1,
).shift(LEFT * 2)
Circle(
    radius=0.8,
    stroke_width=5,
)
Circle(
    radius=0.8,
    stroke_width=10,
).shift(RIGHT * 2)

运行效果:
out01.gif

多变形的边框:

# 多边形
Polygon(
    [-3, 1, 0],
    [-1, 1, 0],
    [-2, -1, 0],
    stroke_width=5,
)
Polygon(
    [1, 1, 0],
    [2, 0, 0],
    [3, 1, 0],
    [3, -1, 0],
    [1, -1, 0],
    stroke_width=10,
)

运行效果:
out01.gif

颜色

各种基本图形本身有默认的颜色,比如线默认是白色,默认红色,多边形默认蓝色等。
除了默认颜色,manim还预置了一系列的颜色,可以直接按颜色的名称来使用。
ColorsOverview-1.png

设置图形的颜色,使用 color属性。
线的颜色:(线默认是白色)

# 线
Line(
    [-1, 1, 0],
    [1, 1, 0],
    stroke_width=1,
    color=RED,
)
Line(
    [-1, 0, 0],
    [1, 0, 0],
    stroke_width=5,
    color=YELLOW,
)
Line(
    [-1, -1, 0],
    [1, -1, 0],
    stroke_width=10,
    color=GREEN,
)

运行效果:
out01.gif

圆的颜色:(线默认是红色)

# 圆
Circle(
    radius=0.8,
    stroke_width=1,
    color=RED,
).shift(LEFT * 2)
Circle(
    radius=0.8,
    stroke_width=5,
    color=YELLOW,
)
Circle(
    radius=0.8,
    stroke_width=10,
    color=GREEN,
).shift(RIGHT * 2)

运行效果:
out01.gif

多边形的颜色:(线默认是蓝色)

# 多边形
Polygon(
    [-3, 1, 0],
    [-1, 1, 0],
    [-2, -1, 0],
    stroke_width=5,
    color=RED,
)
Polygon(
    [1, 1, 0],
    [2, 0, 0],
    [3, 1, 0],
    [3, -1, 0],
    [1, -1, 0],
    stroke_width=10,
    color=GREEN,
)

运行效果:
out01.gif

填充

最后是填充色,关联两个属性:fill_colorfill_opacity
这两个属性一般用在闭合的图形中,比如圆和多边形。
圆的填充:

# 圆
Circle(
    radius=0.8,
    stroke_width=1,
    color=RED,
    fill_color=YELLOW,
    fill_opacity=0.5,
).shift(LEFT * 2)
Circle(
    radius=0.8,
    stroke_width=5,
    color=YELLOW,
    fill_color=GREEN,
    fill_opacity=0.5,
)
Circle(
    radius=0.8,
    stroke_width=10,
    color=GREEN,
    fill_color=RED,
    fill_opacity=0.5,
).shift(RIGHT * 2)

运行效果:
out01.gif

多边形的填充:

# 多边形
Polygon(
    [-3, 1, 0],
    [-1, 1, 0],
    [-2, -1, 0],
    stroke_width=5,
    color=RED,
    fill_color=GREEN,
    fill_opacity=0.5,
)
Polygon(
    [1, 1, 0],
    [2, 0, 0],
    [3, 1, 0],
    [3, -1, 0],
    [1, -1, 0],
    stroke_width=10,
    color=GREEN,
    fill_color=RED,
    fill_opacity=0.5,
)

运行效果:
out01.gif

总结回顾

制作动画时,利用边框和颜色,可以有效的区分各个图形之间区别,也可以突出重点要表示的部分。
尝试多使用上述四个属性,让动画更加美观。
stroke_widthcolorfill_colorfill_opacity

本文关联的微信视频号短视频:
manim-图形样式-视频号.png

与【manim动画教程】-- 图形样式相似的内容:

【manim动画教程】-- 图形样式

manim绘制图形时,除了上一节提到的那些必须的参数,还有一些可选的参数, 这些参数可以控制图形显示的样式。 绘制各类基本图形(点,线,圆,多边形等)时,每个图形都有自己的默认的样式,比如上一节的图形, 有的默认是白色,有的默认是红色。 控制图形样式的参数最常用的有以下四个: stroke_widt

【manim动画教程】-- 基本图形

制作数学视频时,各类几何图形是使用最频繁的。 一般来说,常用的几何图形包括:点,线,圆以及多边形。 1. 点 点是最简单图形,也是其他所有图形的基础。 绘制其他任何图形时,都是用点来定位的。 manim中生成一个点很方便,只要给定一个坐标即可。 这里的坐标包含 [x, y, z]3个维度,如果绘制二

【manim动画教程】-- 坐标系

没有引入坐标系之前,在绘制图形时,也有一个隐含的坐标系,它和屏幕的像素相关。 比如,我们之前示例中的各个图形,屏幕的中心就是坐标原点([0, 0]), 横轴坐标的范围大概是 [-3.5, 3.5],纵轴的坐标范围大概是 [-4, 4],这个范围与设置的视频分辨率有关,分辨率设置的越高的话,坐标范围越

【manim】之目录动画

概要 最近,结合视频剪辑工具剪映制作短视频时, 如果不是数学相关的内容,使用视频剪辑工具配置字幕,添加图片等等比 manim更加方便。 所以,用 manim封装一个目录的动画,用来配合剪辑工具中的其他资源。 代码封装 基于manim封装一个目录显示的 class。 主要属性就是 titles,也就是

【manim动画教程】-- 安装

manim是基于python语言开发的开源框架,是由 3blue1brown 开发的。 本来是他们自己用来制作数学视频用的,因为其友好的API和漂亮的UI效果,在开源之后,立刻流行起来。 原先开源的地址是: 后来托管给了社区,现在安装最新的版本请从这里下载: 改版之后,命令行更加清晰,简单。 支持的

【manim动画教程】-- 文字和公式

manim中提供了两种方式来表示文字信息,一种是 Text系列,一种是 Tex系列。 从目前我自己的使用的体验来看, Text系列在显示文字信息方面,提供了更多的的属性来调整显示效果。如果有大段的文字要排版,或者对文字的显示效果要求高的话,建议使用 Text。 而 Tex系列最大的优势是支持 Lat

【manim动画教程】-- 文本样式

文本的样式主要指颜色和字体相关的属性设置。 对于manim的两个文本对象 Text和 Tex来说, Text对象有更多的属性可以调整样式,相对来说,由于 Tex主要用来显示数学公式,所以关于样式的属性要少一些。 下面介绍一些我在视频制作时最常用的一些颜色和字体相关的属性。 1. 颜色相关 颜色设置主

【manim动画教程】--常用动画效果

manim的主要功能就是制作动画,因此它提供了各类丰富的动画效果, 本篇主要介绍其中最常用的几种动画效果。 至于特殊的动画效果,以及自定义动画效果的方法以后再另外介绍。 1. 创建效果 展示某个元素或者文字时,一下子就全显示出来会显得比较突兀,通过创建效果的动画,让各个元素的出现更加的自然。 常用的

【manim动画教程】--高级动画效果

在常用的动画效果中,介绍了一些元素的创建,销毁,移动和变换的方法,这些方法都是针对单个动画的。 如果需要多个动画互相关联,或者元素需要有更复杂的运动方式,那么,仅仅依靠常用的动画效果可能就无法满足要求了。 本篇的高级动画效果主要介绍一些更加灵活的元素运动方式,如何组合多个动画,以及如何联动多个动画的

【manim动画教程】--相机

相机(Camera)在二维的场景下使用不多,一般在3D场景中提及的比较多。 相机相当于我们看动画的视角,简单来理解的话,相当于我们的眼睛(实际情况会复杂一些,相机还有其他一些辅助功能)。 默认的相机焦点在屏幕的中心位置,相机默认是以俯视的视角查看所有的元素。 之前的介绍的常用动画效果和高级动画效果,