FreeformShape¶

class
FreeformShape
(contains, width, center=(0, 0, 0))¶ Shape in 1 to 3 dimensions, defined by a function and a bounding box
Note that this class can describe 3D shapes, but the
plot()
method can currently only draw in 2D. Nevertheless, aModel
will accept 3D shapes without a problem.Parameters: contains : callable
The function which selects if a point is contained within the shape.
width : array_like
Width up to 3 dimensions which specifies the size of the bounding box.
center : array_like
The position of the center of the bounding box.
Methods
contains
(x: numpy.ndarray[float32[m, 1]], ...)Return True
if the given position is located within the shapeplot
([resolution])Plot a lightly shaded silhouette of the freeform shape with_offset
(vector)Return a copy that’s offset by the given vector 
contains
( x: numpy.ndarray[float32[m, 1]], y: numpy.ndarray[float32[m, 1]], z: numpy.ndarray[float32[m, 1]])¶ Return
True
if the given position is located within the shapeGiven arrays as input the return type is a boolean array.
Parameters: x, y, z : array_like
Positions to test against the shape.

plot
(resolution=(1000, 1000), **kwargs)¶ Plot a lightly shaded silhouette of the freeform shape
This method only works for 2D shapes.
Parameters: resolution : Tuple[int, int]
The (x, y) pixel resolution of the generated shape image.
**kwargs
Forwarded to
matplotlib.pyplot.imshow()
.

with_offset
(vector)¶ Return a copy that’s offset by the given vector
