Surface

Qualified name: algan.mobs.manim\_compat.Surface

class Surface(func, u_range=(0, 1), v_range=(0, 1), resolution=32, surface_piece_config={}, fill_color=ManimColor('#29ABCA'), fill_opacity=1.0, checkerboard_colors=[ManimColor('#29ABCA'), ManimColor('#236B8E')], stroke_color=ManimColor('#BBBBBB'), stroke_width=0.5, should_make_jagged=False, pre_function_handle_to_anchor_scale_factor=1e-05, **kwargs)

Bases: ManimCompatMob

Creates a Parametric Surface using a checkerboard pattern.

Parameters:
  • func (Callable[[float, float], np.ndarray]) – The function defining the Surface.

  • u_range (tuple[float, float]) – The range of the u variable: (u_min, u_max).

  • v_range (tuple[float, float]) – The range of the v variable: (v_min, v_max).

  • resolution (int | Sequence[int]) – The number of samples taken of the Surface. A tuple can be used to define different resolutions for u and v respectively.

  • fill_color (ParsableManimColor) – The color of the Surface. Ignored if checkerboard_colors is set.

  • fill_opacity (float) – The opacity of the Surface, from 0 being fully transparent to 1 being fully opaque. Defaults to 1.

  • checkerboard_colors (Iterable[ParsableManimColor] | Literal[False]) – ng individual faces alternating colors. Overrides fill_color.

  • stroke_color (ParsableManimColor) – Color of the stroke surrounding each face of Surface.

  • stroke_width (float) – Width of the stroke surrounding each face of Surface. Defaults to 0.5.

  • should_make_jagged (bool) – Changes the anchor mode of the Bézier curves from smooth to jagged. Defaults to False.

  • surface_piece_config (dict)

  • pre_function_handle_to_anchor_scale_factor (float)

  • kwargs (Any)

Methods

Attributes

animation_manager

This mob's scene-owned animation manager.

basis

The Mob's orientation and scale, as a flattened 3x3 matrix of shape (*, 9).

casts_shadows

Whether this Mob's geometry blocks light on its way from a light source to another surface -- whether it casts a shadow.

children

The Mobs attached below this one, in attachment order.

closed_shell

Whether this Mob's triangles form a CLOSED shell -- every camera ray that enters the geometry crosses a second time on its way out.

draws_descendants

Whether get_render_primitives returns geometry belonging to this Mob's DESCENDANTS as well as its own.

forward

Get the direction the Mob is facing.

lifespan

This mob's [spawn, despawn) interval on its Scene timeline (a Lifespan).

location

The Mob's position in world space, shape (*, 3).

normalized_basis

The Mob's orientation with scale divided out, shape (*, 9).

parents

The Mobs this one is attached to, in attachment order.

receives_shadows

Whether this Mob's surfaces are darkened by shadows cast onto them.

right

Get the Mob's own rightward direction.

scale_coefficient

The Mob's scale along its own right, up and forward axes, shape (*, 3).

stroke_color

The color of the circuit's border stroke.

two_sided

Whether this Mob's geometry should be lit from whichever side the ray arrives on.

up

Get the Mob's own upward direction.

x

The Mob's x coordinate in world units, shape (*, 1).

xy

The Mob's x and y coordinates in world units, shape (*, 2).

y

The Mob's y coordinate in world units, shape (*, 1).

z

The Mob's z coordinate in world units, shape (*, 1).

z_index

Which of two exactly coplanar circuits draws in front (higher wins).