Search found 324 matches

by Erin Catto
Fri May 30, 2008 10:06 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: A new PGS solver
Replies: 19
Views: 9847

Re: A new PGS solver

Box2D now implements a block solver for normal contact. If the contact manifold consists of two points, then the 2-by-2 MLCP is solved directly through enumeration. For small systems enumeration is easy to implement: 1 - Assume both constraints are active and solve the 2-by-2 equality problem. If bo...
by Erin Catto
Thu May 29, 2008 7:32 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Baumgarte 'Jet Propulsion'
Replies: 2
Views: 2407

Re: Baumgarte 'Jet Propulsion'

This sounds more like a bug than a problem with Baumgarte. Baumgarte provides a low speed jet, not a rocket. If you set the Baumgarte coefficient to zero, do you still see problems. Is it related to bugs in warm starting? Are you performing impulse clamping correctly?
by Erin Catto
Tue May 20, 2008 5:31 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: CA and numerical integration and root finding
Replies: 18
Views: 7046

Re: CA and numerical integration and root finding

1. When you detect a mid-frame collision, do you advance/regress the entire simulation back to the time of impact? That's my biggest gripe with most continuous collision response methods (or my understanding of most continuous collision response methods, at least), since the problem has such a high...
by Erin Catto
Tue May 20, 2008 4:11 am
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: CA and numerical integration and root finding
Replies: 18
Views: 7046

Re: CA and numerical integration and root finding

Box 2D cheats, IIRC, how it resolves collision response after CCD returns a TOI. It locks both bodies to their positions at the time of impact, and resolves the resulting collision after the entire timestep has been integrated. My main issue with this method is that it isn't "correct". Even if it's...
by Erin Catto
Sun Apr 27, 2008 8:57 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: EPA
Replies: 20
Views: 7846

Re: EPA

More testing would be useful, even though I think Nathanael's btGjkEpa is very robust. There is some very basic comparison/test in Bullet/Demos/EPAPenDepthDemo. How robust is it on polytopes without a margin? Have you tested degenerate configurations of intersecting boxes? I think this is where thi...
by Erin Catto
Sat Apr 26, 2008 9:34 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: EPA
Replies: 20
Views: 7846

Re: EPA

I never used closest_is_internal() because my construct_triangle function will return NULL if that is the case and I quit. Are you sure? All I see is a determinant check, which is really just a degeneracy check. I think you need the non-internal triangles because they may be traversed while buildin...
by Erin Catto
Fri Apr 25, 2008 8:54 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: EPA
Replies: 20
Views: 7846

Re: EPA

Yeah, I can see that the simplex_size==2 case will produce CW triangles. How about the cases 3 and 4? Case 3 seems to be CCW because you are building the normal according to the cross(y1 - y0, y2 - y0) then finding a support y3 in the normal direction and then building a triangle y0-y1-y3. Shouldn't...
by Erin Catto
Fri Apr 25, 2008 7:10 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: EPA
Replies: 20
Views: 7846

Re: EPA

Okay, we need consistent ordering so that the sillouette edge is built in a known order. The sillouette edge must be ordered so that we can link the new faces together correctly. This means that the initial simplex must be ordered by swapping vertices as necessary.
by Erin Catto
Fri Apr 25, 2008 5:09 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Convex-Convex collision detection issues
Replies: 34
Views: 15999

Re: Convex-Convex collision detection issues

You can compress the QuadEdge structure quite a bit by limiting the number of features. This way you can use bytes for indices (and don't use pointers). I also recommend storing data as simple arrays. This gets around padding issues for SIMD types. For example: struct SubEdge { uint8 index; // 0-3 u...
by Erin Catto
Thu Apr 24, 2008 9:59 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: EPA
Replies: 20
Views: 7846

Re: EPA

Another thing, it seems you are pushing triangles onto the heap even when the closest point on the triangle to the origin is on the perimeter.
by Erin Catto
Thu Apr 24, 2008 5:24 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: EPA
Replies: 20
Views: 7846

Re: EPA

Hmm, I'm a bit confused. Gino's book suggests that we should try to maintain consistent vertex ordering, but I don't know why it matters in the actual code. In particular, see Figure 4.17 on page 156.
by Erin Catto
Wed Apr 23, 2008 11:49 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: EPA
Replies: 20
Views: 7846

Re: EPA

What Erwin mentions is not so much a bug with your EPA, but just how one might feed in the initial simplex incorrectly. When the simplex is a line segment, you form a dypyramid by finding 3 support points in directions perpendicular to the line segment (with 120 degrees between each direction). Then...
by Erin Catto
Wed Apr 23, 2008 10:24 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: EPA
Replies: 20
Views: 7846

Re: EPA

John, does this code assume that every triangle is CCW pointing outwards? The line segment case might create CW triangles.
by Erin Catto
Wed Apr 23, 2008 8:57 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: EPA
Replies: 20
Views: 7846

Re: EPA

Well, I've been re-writing the code to understand it better. I doubt that case is hit very often. It would be nice to have a test suite that forced each of the initial simplex scenarios to occur. Do you have any comparisons to share about your EPA vs Bullets or vs SOLID? I think this is a valuable r...
by Erin Catto
Wed Apr 23, 2008 6:28 pm
Forum: Research and development discussion about Collision Detection and Physics Simulation
Topic: Convex-Convex collision detection issues
Replies: 34
Views: 15999

Re: Convex-Convex collision detection issues

Does this also mean that we might need to test the same direction twice, since they have different representations on the unit sphere. Sad but true. At least it is O(1). Indeed, but only if the edges build a Minkowski face on the unit face. Otherwise I need to query for the extremal vertices in thi...