manim教程系列-颜色 笔记
这篇文章是在写 manim教程系列视频 的 颜色 部分时做的一些笔记,包括 整个视频的结构 和 写代码时了解的一些用法的笔记
视频已经发布,地址:BV1vZ4y1x7hT
视频结构大纲
- 开头
- 开始,标题,展示所有要将的方法
- 颜色的表示
- 所有
constants.py中的颜色常量 - 使用hex表示颜色
- 使用rgb的ndarray表示颜色
- 所有
- 颜色之间的转换
rgb_to_hexhex_to_rgbcolor_to_rgbrgb_to_colorcolor_to_int_rgb
- 颜色的运算函数
invert_colorcolor_gradientinterpolate_coloraverage_colorrandom_color
- 设置颜色
Mobject略,一般上色的都为VMobjectcolor分为stroke_color和fill_color- 传入
color,stroke_color,fill_color set_color,set_stroke,set_fill方法的color和opacity
- 给子物体上色
set_colorset_color_by_gradientset_colors_by_radial_gradient
- 光泽与渐变色
set_sheenset_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教程系列-颜色 笔记