- This topic has 2 replies, 2 voices, and was last updated 5 years ago by .
Viewing 3 posts - 1 through 3 (of 3 total)
Viewing 3 posts - 1 through 3 (of 3 total)
- You must be logged in to reply to this topic.
Home › Forum › SOFA › Programming with SOFA › [SOLVED] Collision detection of "Interactive Training System for Interventional…."
Tagged: 64_bits, Plugin_other, SOFA_1906, Windows_10
In paper of “Interactive Training System for InterventionalElectrocardiology Procedures”,it says the BVH of blood vessel needs to be recomputed at each navigation step since the heart is beating.
But as far as I know,the computation of BVH is very time consuming, it will cost even a few seconds.So when the recomputation is done,the blood vessel probably has changed a lot. So how to solve this problem? I suppose there should be something I have missed.
One way I can think is that precompute all the BVHs corresponding to animate frames of the heart, then store them. When perform collision detection, just read the BVHs’ data corrsponding to current animate frame.As a result,this method avoids recomputing the BVH during navigation step which saves time.
Hi @charles,
I see you are still digging in the papers.
The collision in SOFA works in three steps: broad detection check (using coarse BVH), narrow detection (several options here, by default using discrete intersection) and response.
In the paper we are following this process with:
– broad phase using BVH
– narrow phase using discrete geometries
– Lagrange multipliers resolution of the contacts (as constraints) including friction.
One of the perpective of the paper is the last option you mentioned: precomputing information for the collision (BVH or other). This was not implemented for the paper. If I remember properly a distance map was finally precomputed and used for the endocardium.
Does this answer your question?
Best,
Hugo
Yes,totally! Thanks a lot!
WARNING
The forum has been moved to GitHub Discussions.
Old topics and replies are kept here as an archive.