核心

Manim的(内部)颜色数据结构和一些用于颜色转换的工具。

该模块包含ManimColor的实现,这是内部用于表示颜色的数据结构。

使用这些颜色的首选方法是从manim导入它们的常量:

>>> from manim import RED, GREEN, BLUE
>>> print(RED)
#FC6255

请注意,这种方式使用了大写的颜色名称。

注意

类型为“C”的颜色有一个别名,等于没有字母的颜色名称,例如 GREEN = GREEN_C

类型别名

class ParsableManimColor
ManimColor | int | str | RGB_Tuple_Int | RGB_Tuple_Float | RGBA_Tuple_Int | RGBA_Tuple_Float | RGB_Array_Int | RGB_Array_Float | RGBA_Array_Int | RGBA_Array_Float

ParsableManimColor 表示所有可以解析为Manim中颜色的类型。

ManimColor

颜色的内部表示。

函数

average_color(*colors)[source]

确定给定参数的平均颜色

Returns:

输入的平均颜色

Return type:

ManimColor

Parameters:

颜色 (ParsableManimColor)

color_gradient(reference_colors, length_of_output)[source]

创建一个颜色列表,该列表在输入的颜色数组之间插值,具有特定数量的颜色

Parameters:
  • reference_colors (Sequence[ParsableManimColor]) – 用于插值或分散的颜色

  • length_of_output (int) – 输出应具有的颜色数量,理想情况下应多于输入

Returns:

一个包含插值颜色的ManimColor列表

Return type:

列表[ManimColor] | ManimColor

color_to_int_rgb(color)[来源]

用于函数式编程风格的辅助函数,请参考ManimColor中的to_int_rgb()

Parameters:

color (ParsableManimColor) – 一种颜色

Returns:

对应的整数RGB数组

Return type:

RGB_Array_Int

color_to_int_rgba(color, alpha=1.0)[来源]

用于函数式编程风格的辅助函数,请参考ManimColor中的to_int_rgba_with_alpha()

Parameters:
  • color (ParsableManimColor) – 一种颜色

  • alpha (float, optional) – 用于颜色的alpha值,默认为1.0

Returns:

对应的int rgba数组

Return type:

RGBA_Array_Int

color_to_rgb(color)[来源]

用于函数式编程风格的辅助函数。 请参考ManimColor中的to_rgb()

Parameters:

color (ParsableManimColor) – 一种颜色

Returns:

对应的RGB数组

Return type:

RGB_Array_Float

color_to_rgba(color, alpha=1)[source]

用于函数式编程风格的辅助函数,请参考ManimColor中的to_rgba_with_alpha()

Parameters:
  • color (ParsableManimColor) – 一种颜色

  • alpha (float, optional) – 颜色中使用的alpha值,默认为1

Returns:

对应的 rgba 数组

Return type:

RGBA_Array_Float

get_shaded_rgb(rgb, point, unit_normal_vect, light_source)[source]
Parameters:
  • rgb (ndarray[Any, dtype[Any]])

  • (ndarray[任意, 数据类型[任意]])

  • unit_normal_vect (ndarray[Any, dtype[Any]])

  • light_source (ndarray[Any, dtype[Any]])

Return type:

RGBA_Array_Float

hex_to_rgb(hex_code)[source]

用于函数式编程风格的辅助函数,请参考ManimColor中的to_hex()

Parameters:

hex_code (str) – 表示颜色的十六进制字符串

Returns:

表示颜色的RGB数组

Return type:

RGB_Array_Float

interpolate_arrays(arr1, arr2, alpha)[source]

在Manim中使用的辅助函数,用于在两个对象之间平滑淡入淡出

Parameters:
  • arr1 (npt.NDArray[Any]) – 第一个颜色数组

  • arr2 (npt.NDArray[Any]) – 第二个颜色数组

  • alpha (float) – 对应于两个输入之间插值点的alpha值

Returns:

两个数组的插值

Return type:

np.ndarray

interpolate_color(color1, color2, alpha)[来源]

独立函数用于插值两个ManimColors并获取结果,请参考ManimColor中的interpolate()

Parameters:
  • color1 (ManimColor) – 第一个ManimColor

  • color2 (ManimColor) – 第二个ManimColor

  • alpha (float) – 确定颜色之间插值点的alpha值

Returns:

插值的ManimColor

Return type:

ManimColor

invert_color(color)[source]

用于函数式编程风格的辅助函数,请参考ManimColor中的invert()

Parameters:

颜色 (ManimColor) – 一个ManimColor

Returns:

线性反转的ManimColor

Return type:

ManimColor

random_bright_color()[来源]

返回一个随机的亮色

警告

此操作非常昂贵,请记住性能损失。

Returns:

一个明亮的ManimColor

Return type:

ManimColor

random_color()[来源]

返回一个随机的ManimColor

警告

此操作非常昂贵,请记住性能损失。

Returns:

_description_

Return type:

ManimColor

rgb_to_color(rgb)[来源]

用于函数式编程风格的辅助函数,请参考ManimColor中的from_rgb()

Parameters:

rgb (RGB_Array_Float | RGB_Tuple_Float) – 一个包含3个元素的可迭代对象

Returns:

一个具有相应值的ManimColor

Return type:

ManimColor

rgb_to_hex(rgb)[来源]

用于函数式编程风格的辅助函数,请参考ManimColor中的from_rgb()

Parameters:

rgb (RGB_Array_Float | RGB_Tuple_Float) – 一个包含3个元素的可迭代对象

Returns:

颜色的十六进制表示,请参考ManimColor中的to_hex()

Return type:

字符串

rgba_to_color(rgba)[source]

用于函数式编程风格的辅助函数,请参考ManimColor中的from_rgba()

Parameters:

rgba (RGBA_Array_Float | RGBA_Tuple_Float) – 一个包含4个元素的可迭代对象

Returns:

一个具有相应值的ManimColor

Return type:

ManimColor