2. The repulsive force of both polyhedra depends on penetration of
their bounding spheres, do I read it right?
(dist=normOf(distance_Edge3d_Edge3d(...)); delta=R1+R2-dist;
if(delta>0){ f=n*(Kn*delta) }). I am wondering how that could give
correct results, especially for complex shapes like the jumping cow
you sent.
The idea is to allow multiple contacts between each pair of
interacting bodies. The
contact interactions are given by well defined equations, that you can
found in this paper.
Multiple contacts beween one pair of bodies are not possible in yade;
adding it would be far-reaching and will not (as I see it) happen.
BTW: what does means "aabb"? esys refers to esys_Particle?
Oh, sorry. Axis-aligned bounding box. esys=ESyS-Particle, yes (really
nice piece of code; you probably know it as you are at uq.edu.au)
As far as I know YADE detect collision by enclosing particles in a box
and checking
whether the boxes overlap. for complex shapes I dont think there is a
large difference
between this and grid-based (link cell) collision-detection.
Yes, yade uses aabb-based collision detection, which is O(n log(n)).
Given that the grid algorithms are O(n), if yade development continues,
I would consider grid-based algorithm at the top of the list.
As you say, the most important
is to break the particle into features, and then perform neighbor
identification between
their features (in my case the features are vertices ,edges and
faces). This is something I did in 2D and that i have to do in 3D in
order to speed up the simulations. But for the moment the contact
detection of YADE is enough for me
This is misunderstanding. Yade doesn't decompose bodies into features.
You build the bounding AABB for the whole body and then your geometry
algorithms are given just 2 bodies to check their collision. If you
break them in features internally, that is fine; but the bounding box
will be very large, creating large number of spurious bounding volumes
overlaps, which can have severe performance impact.
You are right, SPOLY3D is not intended to be sophisticated, but it is
a simple algorithm
to handle collision with arbitrary shaped particles. My interest is to
merge SPOLY3D with the contact detection algorithm and graphical
interface of YADE. I really think YADE is one of the best option, and
i hope I will became one of the YADE's supporters for the future.
Hm... then why not using gts for the polyhedra intersections instead of
simple (therefore probably inefficient) algorithms? Currently you can
create arbitrary meshed surface by clumping the facets in one body
(which has collision detection per-facet, but moves as rigid whole).
What you don't get is mutual interactions of these two meshed surfaces
-- maybe that is what spoly3d can be good for; however, that would mean
bunch of work to define poly-poly, poly-sphere, poly-facet interactions.
Graphical interface: the only graphics you might get is the opengl
rendering of the polyhedron (if you write the code).
Regards, Vaclav
_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yade-dev
More help : https://help.launchpad.net/ListHelp