Search found 861 matches

by Dirk Gregorius
Mon May 01, 2017 5:13 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Non-linear Gauss-Seidel solver
Replies: 11
Views: 124642

Re: Non-linear Gauss-Seidel solver

Box2D has a separate projection step for the position constraints. As you pointed out already in another thread velocity constraints are linear, but position constraints are not. So you need to solve a *non-linear* system equations. Conceptually you can think of an outer loop for the Newton solver a...
by Dirk Gregorius
Thu Apr 27, 2017 5:35 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Impulse-based vs force-based constraint solvers
Replies: 7
Views: 35572

Re: Impulse-based vs force-based constraint solvers

Pooh, I haven't looked into this for a long time. When you solve on the acceleration level you can compute the constraint forces and use an integrator of your choice. Obviously forces are not constant over a timestep (both direction and length can vary). E.g. see how the constraint force changes dir...
by Dirk Gregorius
Tue Apr 25, 2017 5:54 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Impulse-based vs force-based constraint solvers
Replies: 7
Views: 35572

Re: Impulse-based vs force-based constraint solvers

Classical position based dynamics using otrthogonal projection is an energy sink. While this can be appreciable for rigid body dynamics in games (e.g. you want objects go to sleep quickly) it is not so much in cloth simulation. Good cloth simulation is about stiffness and energy preservation in my o...
by Dirk Gregorius
Mon Apr 24, 2017 9:42 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Impulse-based vs force-based constraint solvers
Replies: 7
Views: 35572

Re: Impulse-based vs force-based constraint solvers

You are correct, solving multi-body dynamics on the acceleration level can lead to infinite friction forces. This can be easily shown when inspecting the problem of a falling rod. I am not sure how much of a practical problem this is though. Implementation and stabilization is much easier on the vel...
by Dirk Gregorius
Mon Apr 24, 2017 9:24 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Contact constraint derivation question
Replies: 2
Views: 13116

Re: Contact constraint derivation question

A non-penetration constraint for two bodies usually looks like this: C = (p2 - p1) * n The time derivative yields: dC/dt = ( v2 + cross( omega2, r2 ) - v1 - cross( omega1, r1 ) ) * n + ( p2 - p1 ) * dn/dt Here p1 and p2 are the contact points in global space on each body. r1 and r2 are the offset ve...
by Dirk Gregorius
Thu Mar 23, 2017 7:07 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Continuous GJK
Replies: 7
Views: 27623

Re: Continuous GJK

You can maybe think of it this way. Say you sweep two spheres. The swept volumes would be capsules. If you compute the overlap of these capsules with GJK it still wouldn't give you the TOI. CCD is a root finding problem. So I think your intuition for binary searching is good. For linear time of impa...
by Dirk Gregorius
Wed Mar 22, 2017 6:21 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Continuous GJK
Replies: 7
Views: 27623

Re: Continuous GJK

Interesting question. Here is how I see it. Say we have two initially disjoint shapes which move through time. At each moment in time there will be two closest points cp2(t) and cp1(t). We need to track these closest points until the distance becomes zero. Hence: d(t) = ( cp2(t) - cp1(t) ) * n(t) = ...
by Dirk Gregorius
Thu Jan 12, 2017 12:22 am
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Johnson's distance subalgorithm
Replies: 3
Views: 9367

Re: Johnson's distance subalgorithm

Gino released the Solid 3.5 source code on Github. I would run the failure cases against his code and see if it repeats there as well: https://github.com/dtecta/solid3

Sorry, as I never implemented Johnson I will not be able to help much. I try to ping Gino if he can help.
by Dirk Gregorius
Wed Jan 11, 2017 5:03 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Johnson's distance subalgorithm
Replies: 3
Views: 9367

Re: Johnson's distance subalgorithm

Difficult to say without any code and debugger. I would guess it might be a precision issue. It depends on what shapes you are testing and what floating point precision you are using. I personally use a geometric simplex solver using barycentric coordinates to determine the Voronoi region. From ther...
by Dirk Gregorius
Wed Oct 05, 2016 5:23 pm
Forum: General Bullet Physics Support and Feedback
Topic: Two Outstanding Issues
Replies: 7
Views: 12567

Re: Two Outstanding Issues

The first issue looks a bit like you are loosing contact points. What collision margin do you use? You would need to scale this one as well. I think that Bullet also uses a distance threshold where it break old contact points. You would need to check that this tolerance works with your units. One th...
by Dirk Gregorius
Thu Sep 22, 2016 5:13 pm
Forum: General Bullet Physics Support and Feedback
Topic: Voxels collision
Replies: 10
Views: 16563

Re: Voxels collision

I would not use compounds of boxes. You will get a lot of ghost collisions with internal edges which will be difficult to handle. It might be also very inefficient. The slow cooking times are indeed a problem. When I experimented with this I wrote a fast mesh compiler to handle this. The voxel mesh ...
by Dirk Gregorius
Thu Sep 22, 2016 3:07 am
Forum: General Bullet Physics Support and Feedback
Topic: Voxels collision
Replies: 10
Views: 16563

Re: Voxels collision

I think mesh colliders are the right way to do this. How many voxels did you batch into one mesh? A good size might be something around 12x12 voxels. Is PhysX cooking really so slow that it cannot do this on the fly? This can be done also in parallel.
by Dirk Gregorius
Tue Sep 13, 2016 7:47 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Concurrent Physics Engine with Synthetic Sense Modelling
Replies: 1
Views: 6589

Re: Concurrent Physics Engine with Synthetic Sense Modelling

The collision module of the physics engine can help you since it usually provides API for ray and convex casts or volume queries. Those are useful to implement touch, sight or hearing obviously. You don't want to duplicate those in an AI system.
by Dirk Gregorius
Sat Aug 06, 2016 3:27 pm
Forum: General Bullet Physics Support and Feedback
Topic: Object grabbing in Virtual Reality
Replies: 5
Views: 8330

Re: Object grabbing in Virtual Reality

This is quite a difficult problem. In a nutshell you want zero lag when moving an object in free space without collision. In this case it is best to parent the picked object to the VR hand. Once you detect collision you need physics and I switch to a soft weld joint in Rubikon. This works pretty wel...