ipc-sim / IPC

Incremental Potential Contact (IPC) is for robust and accurate time stepping of nonlinear elastodynamics. IPC guarantees intersection- and inversion-free trajectories regardless of materials, time-step sizes, velocities, or deformation severity.
https://ipc-sim.github.io/
MIT License
558 stars 73 forks source link

Can IPC be used to simulate voxel-based object #26

Closed zhehaoli1999 closed 2 years ago

zhehaoli1999 commented 2 years ago

Hi, Thanks for your great work!!

I'd like to know if IPC is able to be used to simulate contact between voxel-based objects with inner voxels, like: image

instead of the mesh-based representation which can only represent the surface of an object: image

However, in the example, it seems all objects are represented as surface mesh without inner structures.

Thanks!

liminchen commented 2 years ago

Hi,

Thanks for your interest in our work!

Regard your questions, first, note that the simulator in this repo takes tetrahedral mesh as input, which is a volumetric mesh. IPC then extracts the surface for contact processing. If there is a hole inside, IPC will also extract the inner surface.

Similarly, if the voxel-based shape is tessellated as a tetrahedral mesh, IPC can automatically handle it. If it is represented as a VDB or something else, then the key is to figure out a way to define the distances between surface primitives, and then the IPC framework can still apply.

zhehaoli1999 commented 2 years ago

Thanks for your reply!