Skip to content

Instantly share code, notes, and snippets.

@gindemit
Last active September 10, 2015 16:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gindemit/81fe31b6b15e4339a985 to your computer and use it in GitHub Desktop.
Save gindemit/81fe31b6b15e4339a985 to your computer and use it in GitHub Desktop.
public static class MathHelper
{
public struct MassPosition
{
public Vector3 position;
public float mass;
}
public static Vector3 CenterOfMass(List<MassPosition> massPositions)
{
float massSum = massPositions[0].mass;
Vector3 center = massPositions[0].position;
for (int i = 1; i < massPositions.Count; i++)
{
MassPosition mp = massPositions[i];
float summ = massSum + mp.mass;
center = (center * massSum + mp.position * mp.mass) / summ;
massSum += mp.mass;
}
return center;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment