GithubHelp home page GithubHelp logo

Comments (1)

ProjectPhysX avatar ProjectPhysX commented on July 23, 2024

Short solution: In your case it looks like the wheels are rotational symmetric, so no re-voxelization is needed after initialization. Then you can simply move the wheel voxelization calls before the loop where you set the ground plane. So first voxelize wheels, then set ground plane, then start the simulation.


For cases where the wheels are not rotational symmetric and need to be periodically revoxelized: The new revoxelization modifies all flags in the bounding box of the mesh. If the wheel bounding box overlaps with the ground boundary plane, the boundary flags in this location are also overwritten/cleared. Only the flag type handed over to the voxelization call is affected, all other flag bits remain unchanged.

In your case, you revoxelize the TYPE_S flag for the wheel, and the ground also is TYPE_S. I've built-in a failsafe that, when there is a translational/rotational velocity present for revoxelized cells, other cells in the bounding box with the same flag but 0 velocity are ignored. If the ground velocity was set to 0, the problem would not arise. But since you have a moving ground plane too, there is no way for the algorithm to differentiate between clearing wheel and ground voxels in the bounding box.

There is 2 possible solutions:

  1. Carefully move the wheel up such that the ground plane is just outside its bounding-box.
  2. After re-voxelization, read flags from device, overwrite the ground plane flags manually, and write back to device. This is potentially slower.

from fluidx3d.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.