Optimization

This commit is contained in:
Irlan 2019-06-27 17:03:24 -03:00
parent b6d9f56583
commit 51d45ae372
2 changed files with 4 additions and 11 deletions

View File

@ -261,7 +261,7 @@ void b3ClothForceSolver::Solve(float32 dt, const b3Vec3& gravity)
// b = h * (f0 + h * dfdx * v0 + dfdx * y)
// A
b3SparseMat33 A = M - h * dfdv - h * h * dfdx;
b3SparseMat33 A = M - h * dfdv - (h * h) * dfdx;
// View for A
b3SparseMat33View viewA(A);

View File

@ -134,21 +134,14 @@ void b3ShearForce::Apply(const b3ClothForceSolverData* data)
m_f3 += fs[2];
// Jacobian
b3Mat33 d2Cxij;
for (u32 i = 0; i < 3; ++i)
{
for (u32 j = 0; j < 3; ++j)
{
d2Cxij(i, j) = alpha * (dwudx[i] * dwvdx[j] + dwudx[j] * dwvdx[i]);
}
}
b3Mat33 J[3][3];
for (u32 i = 0; i < 3; ++i)
{
for (u32 j = 0; j < 3; ++j)
{
b3Mat33 Jij = -m_ks * (b3Outer(dCdx[i], dCdx[j]) + (C * d2Cxij(i, j) * I));
b3Mat33 d2Cxij = alpha * (dwudx[i] * dwvdx[j] + dwudx[j] * dwvdx[i]) * I;
b3Mat33 Jij = -m_ks * (b3Outer(dCdx[i], dCdx[j]) + C * d2Cxij);
J[i][j] = Jij;
}