AstroidState

State class for astroid elements - star-like shape with inward-curving cusps

An astroid is a star-like shape formed by connecting cusp points (sharp tips) with inward-bending circular arcs. The classic astroid has 4 cusps, but this implementation supports any number. The shape gets its distinctive appearance from the concave curves between the pointed cusps, creating an elegant star-burst or flower-like pattern.

Constructor

AstroidState(
    pos: Point2D | None = None,
    scale: float | None = None,
    opacity: float | None = None,
    rotation: float | None = None,
    skew_x: float | None = None,
    skew_y: float | None = None,
    z_index: float = 0.0,
    clip_state: State | None = None,
    mask_state: State | None = None,
    clip_states: list[State] | None = None,
    mask_states: list[State] | None = None,
    filter: Filter | None = None,
    NON_INTERPOLATABLE_FIELDS: frozenset[str] = frozenset({'NON_INTERPOLATABLE_FIELDS'}),
    fill_color: Color | None = Color.NONE,
    fill_opacity: float = 1,
    fill_gradient: Gradient | None = None,
    fill_pattern: Pattern | None = None,
    stroke_color: Color | None = Color.NONE,
    stroke_opacity: float = 1,
    stroke_width: float = 1,
    stroke_gradient: Gradient | None = None,
    stroke_pattern: Pattern | None = None,
    non_scaling_stroke: bool = False,
    closed: bool = True,
    _num_vertices: int | None = None,
    _aligned_contours: VertexContours | None = None,
    radius: float = 50,
    num_cusps: int = 4,
    curvature: float = 0.7
) -> None

Methods

get_contours

get_contours()

Get contours for this shape

get_renderer_class

get_renderer_class()

Get the renderer class for this state.

Returns

The renderer class for this state, or None if not registered

get_vertex_renderer_class

get_vertex_renderer_class()

Get the renderer for morphing transitions (0 < t < 1)

Returns

VertexRenderer class for morphing

get_vertices

get_vertices()

Get outer contour vertices (backwards compatibility)

is_angle

is_angle(field: Field) -> bool

need_morph

need_morph(state)

with_x

with_x(x: float) -> State

with_y

with_y(y: float) -> State

Properties

x
y