trimesh.permutate module¶
permutate.py¶
Randomly deform meshes in different ways.
- class trimesh.permutate.Permutator(mesh)¶
Bases:
object
- __init__(mesh)¶
A convenience object to get permutated versions of a mesh.
- noise(magnitude=None)¶
Add gaussian noise to every vertex of a mesh, making no effort to maintain topology or sanity.
- Parameters:
mesh (trimesh.Trimesh) – Input geometry, will not be altered
magnitude (float) – What is the maximum distance per axis we can displace a vertex. If None, value defaults to (mesh.scale / 100.0)
- Returns:
permutated – Input mesh with noise applied
- Return type:
- tessellation()¶
Subdivide each face of a mesh into three faces with the new vertex randomly placed inside the old face.
This produces a mesh with exactly the same surface area and volume but with different tessellation.
- Parameters:
mesh (trimesh.Trimesh) – Input geometry
- Returns:
permutated – Mesh with remeshed facets
- Return type:
- transform(translation_scale=1000)¶
Return a permutated variant of a mesh by randomly reordering faces and rotatating + translating a mesh by a random matrix.
- Parameters:
mesh (trimesh.Trimesh) – Mesh, will not be altered by this function
- Returns:
permutated – Mesh with same faces as input mesh but reordered and rigidly transformed in space.
- Return type:
- trimesh.permutate.noise(mesh, magnitude=None)¶
Add gaussian noise to every vertex of a mesh, making no effort to maintain topology or sanity.
- Parameters:
mesh (trimesh.Trimesh) – Input geometry, will not be altered
magnitude (float) – What is the maximum distance per axis we can displace a vertex. If None, value defaults to (mesh.scale / 100.0)
- Returns:
permutated – Input mesh with noise applied
- Return type:
- trimesh.permutate.tessellation(mesh)¶
Subdivide each face of a mesh into three faces with the new vertex randomly placed inside the old face.
This produces a mesh with exactly the same surface area and volume but with different tessellation.
- Parameters:
mesh (trimesh.Trimesh) – Input geometry
- Returns:
permutated – Mesh with remeshed facets
- Return type:
- trimesh.permutate.transform(mesh, translation_scale=1000.0)¶
Return a permutated variant of a mesh by randomly reordering faces and rotatating + translating a mesh by a random matrix.
- Parameters:
mesh (trimesh.Trimesh) – Mesh, will not be altered by this function
- Returns:
permutated – Mesh with same faces as input mesh but reordered and rigidly transformed in space.
- Return type: