scale integrals before adding
This commit is contained in:
parent
151ce1f385
commit
fd04c35886
@ -135,22 +135,22 @@ b3Vec3 b3Hull::GetCentroid() const
|
||||
b3Subexpressions(p1.y, p2.y, p3.y, f1y, f2y, f3y);
|
||||
b3Subexpressions(p1.z, p2.z, p3.z, f1z, f2z, f3z);
|
||||
|
||||
intgex += d.x * f1x;
|
||||
intgex += inv6 * (d.x * f1x);
|
||||
|
||||
intgcx += d.x * f2x;
|
||||
intgcy += d.y * f2y;
|
||||
intgcz += d.z * f2z;
|
||||
intgcx += inv24 * (d.x * f2x);
|
||||
intgcy += inv24 * (d.y * f2y);
|
||||
intgcz += inv24 * (d.z * f2z);
|
||||
|
||||
edge = next;
|
||||
} while (GetEdge(edge->next) != begin);
|
||||
}
|
||||
|
||||
// Apply constants
|
||||
intgex *= inv6;
|
||||
//intgex *= inv6;
|
||||
|
||||
intgcx *= inv24;
|
||||
intgcy *= inv24;
|
||||
intgcz *= inv24;
|
||||
//intgcx *= inv24;
|
||||
//intgcy *= inv24;
|
||||
//intgcz *= inv24;
|
||||
|
||||
// Center of volume
|
||||
B3_ASSERT(intgex > B3_EPSILON);
|
||||
|
@ -100,29 +100,29 @@ void b3HullShape::ComputeMass(b3MassData* data, float32 density) const
|
||||
b3Subexpressions(p1.y, p2.y, p3.y, f1y, f2y, f3y, g0y, g1y, g2y);
|
||||
b3Subexpressions(p1.z, p2.z, p3.z, f1z, f2z, f3z, g0z, g1z, g2z);
|
||||
|
||||
is[0] += d.x * f1x;
|
||||
is[0] += ks[0] * (d.x * f1x);
|
||||
|
||||
is[1] += d.x * f2x;
|
||||
is[2] += d.y * f2y;
|
||||
is[3] += d.z * f2z;
|
||||
is[1] += ks[1] * (d.x * f2x);
|
||||
is[2] += ks[2] * (d.y * f2y);
|
||||
is[3] += ks[3] * (d.z * f2z);
|
||||
|
||||
is[4] += d.x * f3x;
|
||||
is[5] += d.y * f3y;
|
||||
is[6] += d.z * f3z;
|
||||
is[4] += ks[4] * (d.x * f3x);
|
||||
is[5] += ks[5] * (d.y * f3y);
|
||||
is[6] += ks[6] * (d.z * f3z);
|
||||
|
||||
is[7] += d.x * (p1.y * g0x + p2.y * g1x + p3.y * g2x);
|
||||
is[8] += d.y * (p1.z * g0y + p2.z * g1y + p3.z * g2y);
|
||||
is[9] += d.z * (p1.x * g0z + p2.x * g1z + p3.x * g2z);
|
||||
is[7] += ks[7] * (d.x * (p1.y * g0x + p2.y * g1x + p3.y * g2x));
|
||||
is[8] += ks[8] * (d.y * (p1.z * g0y + p2.z * g1y + p3.z * g2y));
|
||||
is[9] += ks[9] * (d.z * (p1.x * g0z + p2.x * g1z + p3.x * g2z));
|
||||
|
||||
edge = next;
|
||||
} while (m_hull->GetEdge(edge->next) != begin);
|
||||
}
|
||||
|
||||
// Apply constants
|
||||
for (u32 i = 0; i < 10; ++i)
|
||||
{
|
||||
is[i] *= ks[i];
|
||||
}
|
||||
//for (u32 i = 0; i < 10; ++i)
|
||||
//{
|
||||
//is[i] *= ks[i];
|
||||
//}
|
||||
|
||||
// Volume
|
||||
float32 V = is[0];
|
||||
|
Loading…
x
Reference in New Issue
Block a user