Advertisement

Precision Problems with bouding sphere

Started by August 02, 2017 05:31 AM
2 comments, last by terrysworkstations 7 years, 4 months ago

I tried to make two spheres with bounding sphere to detect collision so they stop when they collide. But it seems that im having a precision issue. They stey stuck together because of small decimal keeping it stuck. Is there a way around this? Since they are in a 3d space, adding or subtracting a little off seems impossible and expensive. How can I solve these precision issues?

 

The code I used.


oldleftright = leftright, oldupdown = updown;

if(GetAsyncKeyState(VK_RIGHT))
    leftright += 0.0001;
if(GetAsyncKeyState(VK_LEFT))
    leftright -= 0.0001;
if(GetAsyncKeyState(VK_DOWN))
    updown -= 0.0001;
if(GetAsyncKeyState(VK_UP))
    updown += 0.0001;

collide = test.Intersect(test2);
if (collide)
{
    leftright = oldleftright;
    updown = oldupdown;
}
collide = false;

 

I think you need to compute the amount of intersection between the spheres and use that to push either one sphere or both of them away from each other so they stop intersecting.

Advertisement

Alright, I got to work. thx

This topic is closed to new replies.

Advertisement