Richard Baker
Senior Members-
Posts
62 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
Richard Baker's Achievements
Meson (3/13)
2
Reputation
-
As far as the face-on-face contact problem goes, I realize that I can't remove contact points willy-nilly. But it is important to make sure, each contact normal is facing the same direction. Sometimes they don't due to numerical issues. So, I remove contacts that don't face the same direction, as the normal returned by the GJKEPA. Sometimes objects will interpenetrate a tiny amount, and pop out on another side, resulting in a bad GJKEPA normal. This is particularly the case for very neat stacks. Messy stacks don't have this problem. But it seems as long as I used small enough time steps, this doesn't happen. Is this the correct way to do it? My next question: What is the best way to find contact data? When GJKEPA returns a normal end location, that is all I need to feed into my contact force solver, when one of the objects is a sphere. For polytopes this is not the case. I am currently going through all vertex face and edge combinations if a collision was detected. This seems inefficient. Also, I want the geometry of the objects to be consistent between collision and contact forces. But because I am using margins with collision detection, all the edges and vertices are beveled. Is it sufficient for the signed distance of the unenlarged objects to be negative or less than the sum of the margins? Thank you. I did not have a computer for a few weeks.
-
I am using VSP trees. They also help with painter's algorithm. My problem is not with collision detection, however, but with contact force. Check out my last post about the optimization I want to use with PGS. Also, another contact force problem I am having; when I have a force act along a similar line but opposite direction of another force Baumgarte stabilization makes the termination criteria bad because the resulting acceleration is not 0 due to the contact force pushing objects away. This causes PGS to stall.
-
Thank you. More to come.
-
Update: I am now using Gilbert Johnson Keerthi with margins and expanding polytope algorithm whenever the depth exceeds the sum of the margins. No narrow phase, no binary search, much better. My next question is about an optimization I want to use on the contact force side. A sphere has only one contact point, but a polytope can have many. For example, a box stacked on another box has up to eight contact points. I know how to find location, signed distance, and normal vector. I want to consolidate these contact points into one contact force. Is it possible? Thank you.
-
I have another question. It has to do with the interplay of collision detection and contact force. Is it possible to have GJK ignore collision points that are already in contact? I want to turn off collisions for these points and let Baumgarte correction prevent interpenetration.
-
I successfully implemented GJK. It is fast, but narrow phase is a bottleneck because i do GJK many times in the binary search. I read about the EPA, expanding poly tope algorithm. Question: EPA returns the point on the CSO closest to the origin. Does this point correspond to the edge/edge or vertex/face to collide first?
-
I successfully implemented GJK. It is fast, but narrow phase is a bottleneck because i do GJK many times in the binary search. I read about the EPA, expanding poly tope algorithm. Question: EPA returns the point on the CSO closest to the origin. Does this point correspond to the edge/edge or vertex/face to collide first?
-
Thanks for the responses. As it turns out, I was incorrectly binding dynamic friction to equal zero if there was enough force to break static friction but still zero tangential velocity. If instead I just let PGS work its magic, the non-zero friction at each vertex cancels out so that an object at rest will continue at rest. Unfortunately, I don't know much about parallel processing on the GPU. But that will probably be my next step after extending to 3D. I suppose in a multi-player online setting the GPU can perform server-side computations such as if a grenade starts to slide or grow after bouncing a few times? Thanks again.
-
I am using PGS to solve the contact force part of my rigid body simulator (2D for now). It seems to be functional but I can only seem to get a few decimals worth of accuracy. The algorithm will start cycling between different values. I realize that due to the lack of uniqueness theorem that there are many solutions to the NCP due to the introduction of friction. I want to find one solution that works and I feel that this cycling reduces accuracy. I tried subspace minimization but that doesn't seem to fix the problem. Fingers crossed that someone can help me. Thank You.
-
This is about the paper "Fast contact force computation for non-penetrating rigid bodies". Has anybody made sense of this? I have questions. Do I completely neglect the unprocessed a's that are neither mc nor c? If the sign for an unprocessed "a" changes, should I stop and pivot and put that index in either nc or c? I know that the unprocessed "f's" remain zero, but what if the sign of an unprocessed "a" changes? Do I actually perform a pivot operation on a matrix? Or is that done by moving between a "c" and an "mc"?
-
I have a function y (x) defined over a range from x0 to x1 I want to know the probability that y will equal some number within a given interval if I choose a random value for x.
-
Now my son wants a statistics textbook. (for the uninitiated, I am only his humble scribe and mother). I remember my stats textbooks from 35 years ago in grad school (Statistics: An Intuitive Approach: Weinberg, George H.: 9780818504266: Amazon.com: Books), but they are not necessarily the best today. He wants one that will take him from relatively basic stuff up to regression analysis. If not one, then two in a series. Hopefully something that is inexpensive and/or available secondhand through Amazon. Suggestions? Thank you.
-
The normalizing factor m = 1/(pi2*{2pi}2*{3pi}2*...{npi}2) I derived this from the products formula but it is only valid for x in the neighborhood of 0. It was a neat exercise but I don't totally understand why m should equal this but it is cool nonetheless.
-
Thank you. I will be watching the thread for other responses.
-
If you look at the graph of sin (x) you see that all the zeroes are located at multiples of pi. So if you were to factor sin (x) as if it were a polynomial you would get m * x * (x-pi) * (x + pi) * ( x-2pi) * (x + 2pi) * ( x - 3pi ) * (x + 3pi) ..... (x - n pi) * ( x + n pi) as n approaches infinity. Question: what is m? I figured this much from computer experiments, m is not a constant, it is a function of x and n. m is less than 0 if n is odd, m is greater than 0 if n is even. If you graph abs (x) and scaled it by the appropriate very large factor you'd see that m (x) looks like a bump centered at x =0 which morphs as n increases, it retains the bump figure. It is not of the form c * exp ( - k x2), although it looks like it could be. What is this mystery function m? Please help me figure this out.