-
Notifications
You must be signed in to change notification settings - Fork 16
Example: Triangular Mesh Geometry
Jon Drobny edited this page Jan 27, 2024
·
9 revisions
Note that in order for meshes to work properly in RustBCA, the following must be true:
- meshes must consist of only triangles
- meshes must be "watertight" (e.g., check with trimesh:
mesh.is_watertight
must returnTrue
) - all surface normals must point outwards (fix with trimesh:
mesh.fix_normals()
)
Using parry3d, RustBCA can use full 3D triangular meshes. These are currently limited to homogeneous, single-mesh targets, but compound objects and inhomogeneity are planned features for triangular meshes.
To use this feature, run one of the examples below:
cargo run --release --features parry3d TRIMESH examples/tungsten_twist_trimesh.toml
cargo run --release --features parry3d TRIMESH examples/tungsten_tiles.toml
These examples can be plotted using rustbca.py
(requires toml
, shapely
, mayavi
, numpy
, matplotlib
):
from scripts.rustbca import *
do_trajectory_plot_3d('tungsten_twist_', input_file='examples/tungsten_twist_trimesh.toml')