cyclone-physics icon indicating copy to clipboard operation
cyclone-physics copied to clipboard

The Physics engine that accompanies the book "Game Physics Engine Design"

Results 41 cyclone-physics issues
Sort by recently updated
recently updated
newest added

in function void ParticleContact::resolveInterpenetration(real duration) (pcontacts.cpp around line 100) you calculate total inverse mass like this // The movement of each object is based on their inverse mass, so //...

https://github.com/idmillington/cyclone-physics/blob/faf5da184d6ed1a459ceb1e6c1dd272321ebc2d3/src/body.cpp#L175 https://github.com/idmillington/cyclone-physics/blob/faf5da184d6ed1a459ceb1e6c1dd272321ebc2d3/src/body.cpp#L176 Shouldn't we first multiply by a drag value (lines 175, 176) before calculating the new total velocity and rotation? The book (page 211) states that total rotation equals...

please, why add these code for impulseContact.x in dynamic friction: impulseContact.x = deltaVelocity.data[0] + deltaVelocity.data[1]_friction_impulseContact.y + deltaVelocity.data[2]_friction_impulseContact.z; impulseContact.x = desiredDeltaVelocity / impulseContact.x; how derive it? why not use impulseContact directly?...

I'm using the getRotation() and setRotation() for a rigid body and I noticed that these functions weren't returning an orientation like the comments suggested. Instead of orientation these functions seem...

In my opinion the calculation of the buoyancy is incorrect (file pfgen.cpp lines 120 and 121). I think the correct calculation should look like this: ``` force.y = liquidDensity *...

This line https://github.com/idmillington/cyclone-physics/blob/master/src/fgen.cpp#L106 magnitude = real_abs(magnitude - restLength); should be magnitude = magnitude - restLength; The force should become repulsive when magnitude is less than restLength. Consistently with the book.

Relative path were broken after change to build folder. This commit fixes relative paths from VS2012 projects

resolveVelocity calculates impulse using the sum of the inverse mass of two particles: ``` real totalInverseMass = particle[0]->getInverseMass(); if (particle[1]) totalInverseMass += particle[1]->getInverseMass(); ``` This is not correct because (1...

Fixed small issues.

Considering applyImpulse is not called by anything else (that i could see) my guess is it's an obsolete function from an older version.