13 - 各种颜色玩法
本帖最后由 不二如是 于 2022-12-16 18:45 编辑这节课我们看如何在 Manim 中进行颜色修改。
重点:
[*]十六进制+set_color
[*]rgb_to_color()
[*]hex_to_rgb()
[*]rgb_to_hex()
[*]HSL()
十六进制
Manim 中默认支持 16 进制的颜色写法,缩写也可以。
可以直接通过 color 参数设置,也可以通过 set_color() 设置颜色:
color1 = "#2ebb96"
color2 = "#3AF"
circle = Dot(color=color1).scale(3)
text = Text("FishC")
text.set_color(color2)
self.add(circle, text)
效果:
color1 是完成的十六进制颜色写法,color2 是缩写。
如果相邻两位相同 AABBCC 这种,就可以写成 #ABC。
可以通过 hex_to_rgb() 将十六进制转成 RGB 数据:
hex_to_rgb("#2AF")
输出:
反之通过 rgb_to_hex() 可以将 RGB 转成十六进制:
rgb_to_hex()
结果就是 #22aaff。
RGB
RGB 三原色可以用数组表示 rgb_to_color):
color3 = rgb_to_color()
circle = Dot(color=color3).scale(3)
效果:
列表中第一位表示 0.8*RED 的红色,依次是 1*GREEN 和 0*BLUE。
HSL
如果需要 HSL 格式,可以这么用:
from colour import Color
def HSL(hue,saturation,lightness=0.5):
return Color(hsl=(hue,saturation,lightness))
myGreen = HSL(120/360)
circle.set_color(myGreen)
需要依赖 Color 模块才行,大家按需使用~
此外 Manim 中默认也有一些颜色,大家可以直接调用:
_A,_B 这些表示明亮度,不指定的话,默认都是 _C。
好啦,Manim 中所有玩法操作就是这样了。
沉迷 Manim 沉迷 Manim
页:
[1]