simkit.shape_outlines#
2D outline generators and Triangle-based meshing from closed polylines.
Functions#
|
Triangulate a closed outline into a surface mesh. |
|
Closed polyline outline of an arrow shape. |
|
Closed polyline approximating a circle. |
|
Closed polyline with approximately uniform arc-length spacing on an ellipse. |
|
Axis-aligned rectangle outline. |
|
Plus-sign outline (12 vertices). |
|
Star outline with alternating inner and outer vertices. |
Module Contents#
- simkit.shape_outlines.shape_mesh(outline_func: Callable[Ellipsis, Tuple[numpy.ndarray, numpy.ndarray]], flags: str = 'qa0.1', *args: Any, **kwargs: Any) Tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray]#
Triangulate a closed outline into a surface mesh.
- Parameters:
outline_func (callable) – Function returning
(Xs, Es)boundary vertices and edges.flags (str, optional) – Flags passed to
igl.triangle.triangulate.*args – Forwarded to
outline_func.**kwargs – Forwarded to
outline_func.
- Returns:
X (np.ndarray (nv, 2)) – Interior mesh vertices.
F (np.ndarray (nf, 3)) – Triangle faces.
Xs (np.ndarray) – Boundary vertices from the outline.
Es (np.ndarray) – Boundary edges from the outline.
- simkit.shape_outlines.arrow_outline(height_body: float = 1, width_body: float = 0.15, width_head: float = 0.3, height_head: float = 0.3) Tuple[numpy.ndarray, numpy.ndarray]#
Closed polyline outline of an arrow shape.
- Parameters:
- Returns:
X (np.ndarray (7, 2)) – Outline vertices.
E (np.ndarray (7, 2)) – Closed edge list.
- simkit.shape_outlines.circle_outline(radius: float = 1.0, n: int = 100) Tuple[numpy.ndarray, numpy.ndarray]#
Closed polyline approximating a circle.
- simkit.shape_outlines.ellipse_outline(a: float = 1, b: float = 0.5, n: int = 100) Tuple[numpy.ndarray, numpy.ndarray]#
Closed polyline with approximately uniform arc-length spacing on an ellipse.
- simkit.shape_outlines.rectangle_outline(small: float = 0.5, large: float = 2) Tuple[numpy.ndarray, numpy.ndarray]#
Axis-aligned rectangle outline.
- simkit.shape_outlines.plus_sign_outline(small: float = 0.5, large: float = 2) Tuple[numpy.ndarray, numpy.ndarray]#
Plus-sign outline (12 vertices).
- simkit.shape_outlines.star_sign_outline(small: float = 0.5, large: float = 5, legs: int = 10) Tuple[numpy.ndarray, numpy.ndarray]#
Star outline with alternating inner and outer vertices.