pyvista.Superquadric

Contents

pyvista.Superquadric#

Superquadric(
center: VectorLike[float] = (0.0, 0.0, 0.0),
scale: VectorLike[float] = (1.0, 1.0, 1.0),
size: float = 0.5,
theta_roundness: float = 1.0,
phi_roundness: float = 1.0,
theta_resolution: int = 16,
phi_resolution: int = 16,
toroidal: bool = False,
thickness: float = 0.3333333333333333,
) PolyData[source]#

Create a superquadric.

Parameters:
centersequence[float], default: (0.0, 0.0, 0.0)

Center of the superquadric in [x, y, z].

scalesequence[float], default: (1.0, 1.0, 1.0)

Scale factors of the superquadric in [x, y, z].

sizefloat, default: 0.5

Superquadric isotropic size.

theta_roundnessfloat, default: 1.0

Superquadric east/west roundness. Values range from 0 (rectangular) to 1 (circular) to higher orders.

phi_roundnessfloat, default: 1.0

Superquadric north/south roundness. Values range from 0 (rectangular) to 1 (circular) to higher orders.

theta_resolutionint, default: 16

Number of points in the longitude direction. Values are rounded to nearest multiple of 4.

phi_resolutionint, default: 16

Number of points in the latitude direction. Values are rounded to nearest multiple of 8.

toroidalbool, default: False

Whether or not the superquadric is toroidal (True) or ellipsoidal (False).

thicknessfloat, default: 0.3333333333

Superquadric ring thickness. Only applies if toroidal is set to True.

Returns:
pyvista.PolyData

Superquadric mesh.

See also

pyvista.ParametricSuperEllipsoid

Parametric superquadric if toroidal is False.

pyvista.ParametricSuperToroid

Parametric superquadric if toroidal is True.

Examples

>>> import pyvista as pv
>>> superquadric = pv.Superquadric(
...     scale=(3.0, 1.0, 0.5),
...     phi_roundness=0.1,
...     theta_roundness=0.5,
... )
>>> superquadric.plot(show_edges=True)
../../../_images/pyvista-Superquadric-1_00_00.png