Surface

Surface

class manimlib.mobject.types.surface.Surface(**kwargs)

曲面(基类)

  • u_range : u 范围

  • v_range : v 范围

  • resolution : 分割精度

  • color : 颜色

  • opacity : 透明度

  • gloss : 光泽

  • shadow : 阴影

  • opacity : 透明度

get_partial_points_array(points: np.ndarray, a: float, b: float, resolution: npt.ArrayLike, axis: int) → np.ndarray

获取百分比从 a 到 b 的部分点集

get_shader_data() → numpy.ndarray

获取 shader 数据

get_unit_normals() → numpy.ndarray

获取每个分割面的法向量

pointwise_become_partial(smobject: Surfac, a: float, b: float, axis: np.ndarray | None = None)

生成一个曲面百分比从 a 到 b 的物件

ParametricSurface

class manimlib.mobject.types.surface.ParametricSurface(uv_func: Callable[[float, float], Iterable[float]], u_range: tuple[float, float] = (0, 1), v_range: tuple[float, float] = (0, 1), **kwargs)

参数曲面

传入 func 为自变量为参数 u,v ,返回值为一个点的函数

  • u_range, v_range : 参数范围

  • resolution : u, v 范围分为多少段(为一个数时 uv 均为此值,为元组时 u 为第一个 v 为第二个)

SGroup

class manimlib.mobject.types.surface.SGroup(*parametric_surfaces: manimlib.mobject.types.surface.Surface, **kwargs)

参数曲面集合,相当于 Group

  • u_range : u 范围

  • v_range : v 范围

  • resolution : 分割精度

  • color : 颜色

  • opacity : 透明度

  • gloss : 光泽

  • shadow : 阴影

  • opacity : 透明度

TexturedSurface

class manimlib.mobject.types.surface.TexturedSurface(uv_surface: Surface, image_file: str, dark_image_file: str | None = None, **kwargs)

带有贴图的曲面

  • uv_surface : 曲面(类型必须为 Surface

  • image_file : 物件受光面显示的贴图(路径)

  • dark_image_file : 物件的背光面显示的贴图(路径)

关于受光面与背光面:

  • 相机默认有一个光源,坐标位置在 [-10, 10, 10],光源能够直接照射到的部分贴图为受光面,不能直接照射到的为背光面

pointwise_become_partial(tsmobject: TexturedSurface, a: float, b: float, axis: int = 1)

生成一个曲面百分比从 a 到 b 的物件

set_opacity(opacity: float, recurse: bool = True)

设置透明度