primitive
#
Module dedicated for basic primitive.
|
Triangulate a set of vertices on the sphere. |
|
Repeat Vertices and triangles of a specific primitive function. |
|
Repeat Vertices and triangles of a specific primitive shape. |
Return vertices and triangles for a square geometry. |
|
|
Return vertices and triangle for a box geometry. |
|
Provide vertices and triangles of the spheres. |
|
Provide vertices and triangles of a superquadrics. |
Return vertices and triangles for a tetrahedron. |
|
Return vertices and triangles for icosahedron. |
|
Return vertices and triangles for rhombicuboctahedron. |
|
|
Return vertices and triangle for star geometry. |
Return vertices and triangle for a regular triangular prism. |
|
Return vertices and triangles for a pentagonal prism. |
|
Return vertices and triangle for an octagonal prism. |
|
Return vertices and triangle for a square frustum prism. |
|
|
Return vertices and triangles for a cylinder. |
|
Return vertices and triangle for arrow geometry. |
|
Return vertices and triangle of a Cone. |
faces_from_sphere_vertices#
repeat_primitive_function#
- fury.primitive.repeat_primitive_function(func, centers, *, func_args=None, directions=(1, 0, 0), colors=(1, 0, 0), scales=1)[source]#
Repeat Vertices and triangles of a specific primitive function.
It could be seen as a glyph. The primitive function should generate and return vertices and faces
- Parameters:
func (callable) – primitive functions
centers (ndarray, shape (N, 3)) – Superquadrics positions
func_args (args) – primitive functions arguments/parameters
directions (ndarray, shape (N, 3) or tuple (3,), optional) – The orientation vector of the cone.
colors (ndarray (N,3) or (N, 4) or tuple (3,) or tuple (4,)) – RGB or RGBA (for opacity) R, G, B and A should be at the range [0, 1]
scales (ndarray, shape (N) or (N,3) or float or int, optional) – The height of the cone.
- Returns:
big_vertices (ndarray) – Expanded vertices at the centers positions
big_triangles (ndarray) – Expanded triangles that composed our shape to duplicate
big_colors (ndarray) – Expanded colors applied to all vertices/faces
repeat_primitive#
- fury.primitive.repeat_primitive(vertices, faces, centers, *, directions=None, colors=(1, 0, 0), scales=1, have_tiled_verts=False)[source]#
Repeat Vertices and triangles of a specific primitive shape.
It could be seen as a glyph.
- Parameters:
vertices (ndarray) – vertices coords to duplicate at the centers positions
triangles (ndarray) – triangles that composed our shape to duplicate
centers (ndarray, shape (N, 3)) – Superquadrics positions
directions (ndarray, shape (N, 3) or tuple (3,), optional) – The orientation vector of the cone.
colors (ndarray (N,3) or (N, 4) or tuple (3,) or tuple (4,)) – RGB or RGBA (for opacity) R, G, B and A should be at the range [0, 1]
scales (ndarray, shape (N) or (N,3) or float or int, optional) – The height of the cone.
have_tiled_verts (bool) – option to control if we need to duplicate vertices of a shape or not
- Returns:
big_vertices (ndarray) – Expanded vertices at the centers positions
big_triangles (ndarray) – Expanded triangles that composed our shape to duplicate
big_colors (ndarray) – Expanded colors applied to all vertices/faces
big_centers (ndarray) – Expanded centers for all vertices/faces
prim_square#
prim_box#
prim_sphere#
- fury.primitive.prim_sphere(*, name='symmetric362', gen_faces=False, phi=None, theta=None)[source]#
Provide vertices and triangles of the spheres.
- Parameters:
name (str, optional) – which sphere - one of: * ‘symmetric362’ * ‘symmetric642’ * ‘symmetric724’ * ‘repulsion724’ * ‘repulsion100’ * ‘repulsion200’
gen_faces (bool, optional) – If True, triangulate a set of vertices on the sphere to get the faces. Otherwise, we load the saved faces from a file. Default: False
phi (int, optional) – Set the number of points in the latitude direction
theta (int, optional) – Set the number of points in the longitude direction
- Returns:
vertices (ndarray) – vertices coords that composed our sphere
triangles (ndarray) – triangles that composed our sphere
Examples
>>> import numpy as np >>> from fury.primitive import prim_sphere >>> verts, faces = prim_sphere('symmetric362') >>> verts.shape == (362, 3) True >>> faces.shape == (720, 3) True
prim_superquadric#
- fury.primitive.prim_superquadric(roundness=(1, 1), sphere_name='symmetric362')[source]#
Provide vertices and triangles of a superquadrics.
- Parameters:
- Returns:
vertices (ndarray) – vertices coords that composed our sphere
triangles (ndarray) – triangles that composed our sphere
Examples
>>> import numpy as np >>> from fury.primitive import prim_superquadric >>> verts, faces = prim_superquadric(roundness=(1, 1)) >>> verts.shape == (362, 3) True >>> faces.shape == (720, 3) True
prim_tetrahedron#
prim_icosahedron#
prim_rhombicuboctahedron#
prim_star#
prim_triangularprism#
prim_pentagonalprism#
prim_octagonalprism#
prim_frustum#
prim_cylinder#
prim_arrow#
- fury.primitive.prim_arrow(*, height=1.0, resolution=10, tip_length=0.35, tip_radius=0.1, shaft_radius=0.03)[source]#
Return vertices and triangle for arrow geometry.
- Parameters:
height (float) – The height of the arrow (default: 1.0).
resolution (int) – The resolution of the arrow.
tip_length (float) – The tip size of the arrow (default: 0.35)
tip_radius (float) – the tip radius of the arrow (default: 0.1)
shaft_radius (float) – The shaft radius of the arrow (default: 0.03)
- Returns:
vertices (ndarray) – vertices of the Arrow
triangles (ndarray) – Triangles of the Arrow