manim教程系列-颜色 笔记

这篇文章是在写 manim教程系列视频颜色 部分时做的一些笔记,包括 整个视频的结构 和 写代码时了解的一些用法的笔记
视频已经发布,地址:BV1vZ4y1x7hT

视频结构大纲

  1. 开头
    • 开始,标题,展示所有要将的方法
  2. 颜色的表示
    • 所有constants.py中的颜色常量
    • 使用hex表示颜色
    • 使用rgb的ndarray表示颜色
  3. 颜色之间的转换
    • rgb_to_hex
    • hex_to_rgb
    • color_to_rgb
    • rgb_to_color
    • color_to_int_rgb
  4. 颜色的运算函数
    • invert_color
    • color_gradient
    • interpolate_color
    • average_color
    • random_color
  5. 设置颜色
    • Mobject略,一般上色的都为VMobject
    • color分为stroke_colorfill_color
    • 传入color, stroke_color, fill_color
    • set_color, set_stroke, set_fill方法的coloropacity
  6. 给子物体上色
    • set_color
    • set_color_by_gradient
    • set_colors_by_radial_gradient
  7. 光泽与渐变色
    • set_sheen
    • set_color中使用列表达到渐变色

一些码视频时的笔记

  • isinstance函数检测对象的类型
  • 对一个字符串进行format时,想要用空格补齐左边到一定个数,可以使用str(...).rjust(num)
  • 涉及到TransformText的地方,在Text里面不可以有空格,需要用白色的~来做出伪空格
  • 字符串中查找一个字符的下标可以用.index(" ", beg=..., end=...)方法来查找第一次出现的位置,第二次出现需要传入beg为第一次位置+1
  • manim的rgb_to_color函数传入的rgb的值为01,不是0255
  • 用for循环遍历字典键值对for key, value in dic.items():,遍历其中一部分for key, value in list(dic.items())[1:3]将键值对转化为列表,并用切片
  • Arrow的箭头为.tip
  • .keys(),.values()不为列表,需要套在list()里面
  • set_colors_by_radial_gradient利用中心与center的距离对颜色进行插值,radius外的所有子物体全为outer_color颜色
  • 含有sheen_factor的物体设置渐变色后与sheen_factor无关

manim教程系列-颜色 笔记

https://blog.tonycrane.cc/p/2e2c9a7.html

作者

TonyCrane

发布于

2020-04-18

更新于

2020-05-05

许可协议