Properly variable name and comment
This commit is contained in:
parent
e9714885e4
commit
f87e2a6378
@ -130,39 +130,39 @@ void b3MouseForce::Apply(const b3ClothForceSolverData* data)
|
||||
m_f3 += fs[2];
|
||||
m_f4 += fs[3];
|
||||
|
||||
// Jacobian
|
||||
b3Mat33 J[4][4];
|
||||
// Force derivative
|
||||
b3Mat33 K[4][4];
|
||||
for (u32 i = 0; i < 4; ++i)
|
||||
{
|
||||
for (u32 j = 0; j < 4; ++j)
|
||||
{
|
||||
//b3Mat33 d2Cvxij;
|
||||
//b3Mat33 Jij = -m_km * (b3Outer(dCdx[i], dCdx[j]) + C * d2Cvxij);
|
||||
b3Mat33 Jij = -m_km * b3Outer(dCdx[i], dCdx[j]);
|
||||
//b3Mat33 Kij = -m_km * (b3Outer(dCdx[i], dCdx[j]) + C * d2Cvxij);
|
||||
b3Mat33 Kij = -m_km * b3Outer(dCdx[i], dCdx[j]);
|
||||
|
||||
J[i][j] = Jij;
|
||||
K[i][j] = Kij;
|
||||
}
|
||||
}
|
||||
|
||||
dfdx(i1, i1) += J[0][0];
|
||||
dfdx(i1, i2) += J[0][1];
|
||||
dfdx(i1, i3) += J[0][2];
|
||||
dfdx(i1, i4) += J[0][3];
|
||||
dfdx(i1, i1) += K[0][0];
|
||||
dfdx(i1, i2) += K[0][1];
|
||||
dfdx(i1, i3) += K[0][2];
|
||||
dfdx(i1, i4) += K[0][3];
|
||||
|
||||
dfdx(i2, i1) += J[1][0];
|
||||
dfdx(i2, i2) += J[1][1];
|
||||
dfdx(i2, i3) += J[1][2];
|
||||
dfdx(i2, i4) += J[1][3];
|
||||
dfdx(i2, i1) += K[1][0];
|
||||
dfdx(i2, i2) += K[1][1];
|
||||
dfdx(i2, i3) += K[1][2];
|
||||
dfdx(i2, i4) += K[1][3];
|
||||
|
||||
dfdx(i3, i1) += J[2][0];
|
||||
dfdx(i3, i2) += J[2][1];
|
||||
dfdx(i3, i3) += J[2][2];
|
||||
dfdx(i3, i4) += J[2][3];
|
||||
dfdx(i3, i1) += K[2][0];
|
||||
dfdx(i3, i2) += K[2][1];
|
||||
dfdx(i3, i3) += K[2][2];
|
||||
dfdx(i3, i4) += K[2][3];
|
||||
|
||||
dfdx(i4, i1) += J[3][0];
|
||||
dfdx(i4, i2) += J[3][1];
|
||||
dfdx(i4, i3) += J[3][2];
|
||||
dfdx(i4, i4) += J[3][3];
|
||||
dfdx(i4, i1) += K[3][0];
|
||||
dfdx(i4, i2) += K[3][1];
|
||||
dfdx(i4, i3) += K[3][2];
|
||||
dfdx(i4, i4) += K[3][3];
|
||||
}
|
||||
|
||||
if (m_kd > 0.0f)
|
||||
@ -187,37 +187,37 @@ void b3MouseForce::Apply(const b3ClothForceSolverData* data)
|
||||
m_f3 += fs[2];
|
||||
m_f4 += fs[3];
|
||||
|
||||
// Jacobian
|
||||
b3Mat33 J[4][4];
|
||||
// Force derivative
|
||||
b3Mat33 K[4][4];
|
||||
for (u32 i = 0; i < 4; ++i)
|
||||
{
|
||||
for (u32 j = 0; j < 4; ++j)
|
||||
{
|
||||
b3Mat33 Jij = -m_kd * b3Outer(dCdx[i], dCdx[j]);
|
||||
b3Mat33 Kij = -m_kd * b3Outer(dCdx[i], dCdx[j]);
|
||||
|
||||
J[i][j] = Jij;
|
||||
K[i][j] = Kij;
|
||||
}
|
||||
}
|
||||
|
||||
dfdv(i1, i1) += J[0][0];
|
||||
dfdv(i1, i2) += J[0][1];
|
||||
dfdv(i1, i3) += J[0][2];
|
||||
dfdv(i1, i4) += J[0][3];
|
||||
dfdv(i1, i1) += K[0][0];
|
||||
dfdv(i1, i2) += K[0][1];
|
||||
dfdv(i1, i3) += K[0][2];
|
||||
dfdv(i1, i4) += K[0][3];
|
||||
|
||||
dfdv(i2, i1) += J[1][0];
|
||||
dfdv(i2, i2) += J[1][1];
|
||||
dfdv(i2, i3) += J[1][2];
|
||||
dfdv(i2, i4) += J[1][3];
|
||||
dfdv(i2, i1) += K[1][0];
|
||||
dfdv(i2, i2) += K[1][1];
|
||||
dfdv(i2, i3) += K[1][2];
|
||||
dfdv(i2, i4) += K[1][3];
|
||||
|
||||
dfdv(i3, i1) += J[2][0];
|
||||
dfdv(i3, i2) += J[2][1];
|
||||
dfdv(i3, i3) += J[2][2];
|
||||
dfdv(i3, i4) += J[2][3];
|
||||
dfdv(i3, i1) += K[2][0];
|
||||
dfdv(i3, i2) += K[2][1];
|
||||
dfdv(i3, i3) += K[2][2];
|
||||
dfdv(i3, i4) += K[2][3];
|
||||
|
||||
dfdv(i4, i1) += J[3][0];
|
||||
dfdv(i4, i2) += J[3][1];
|
||||
dfdv(i4, i3) += J[3][2];
|
||||
dfdv(i4, i4) += J[3][3];
|
||||
dfdv(i4, i1) += K[3][0];
|
||||
dfdv(i4, i2) += K[3][1];
|
||||
dfdv(i4, i3) += K[3][2];
|
||||
dfdv(i4, i4) += K[3][3];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -133,31 +133,31 @@ void b3ShearForce::Apply(const b3ClothForceSolverData* data)
|
||||
m_f2 += fs[1];
|
||||
m_f3 += fs[2];
|
||||
|
||||
// Jacobian
|
||||
b3Mat33 J[3][3];
|
||||
// Force derivative
|
||||
b3Mat33 K[3][3];
|
||||
for (u32 i = 0; i < 3; ++i)
|
||||
{
|
||||
for (u32 j = 0; j < 3; ++j)
|
||||
{
|
||||
//b3Mat33 d2Cxij = alpha * (dwudx[i] * dwvdx[j] + dwudx[j] * dwvdx[i]) * I;
|
||||
//b3Mat33 Jij = -m_ks * (b3Outer(dCdx[i], dCdx[j]) + C * d2Cxij);
|
||||
b3Mat33 Jij = -m_ks * b3Outer(dCdx[i], dCdx[j]);
|
||||
//b3Mat33 Kij = -m_ks * (b3Outer(dCdx[i], dCdx[j]) + C * d2Cxij);
|
||||
b3Mat33 Kij = -m_ks * b3Outer(dCdx[i], dCdx[j]);
|
||||
|
||||
J[i][j] = Jij;
|
||||
K[i][j] = Kij;
|
||||
}
|
||||
}
|
||||
|
||||
dfdx(i1, i1) += J[0][0];
|
||||
dfdx(i1, i2) += J[0][1];
|
||||
dfdx(i1, i3) += J[0][2];
|
||||
dfdx(i1, i1) += K[0][0];
|
||||
dfdx(i1, i2) += K[0][1];
|
||||
dfdx(i1, i3) += K[0][2];
|
||||
|
||||
dfdx(i2, i1) += J[1][0];
|
||||
dfdx(i2, i2) += J[1][1];
|
||||
dfdx(i2, i3) += J[1][2];
|
||||
dfdx(i2, i1) += K[1][0];
|
||||
dfdx(i2, i2) += K[1][1];
|
||||
dfdx(i2, i3) += K[1][2];
|
||||
|
||||
dfdx(i3, i1) += J[2][0];
|
||||
dfdx(i3, i2) += J[2][1];
|
||||
dfdx(i3, i3) += J[2][2];
|
||||
dfdx(i3, i1) += K[2][0];
|
||||
dfdx(i3, i2) += K[2][1];
|
||||
dfdx(i3, i3) += K[2][2];
|
||||
}
|
||||
|
||||
if (m_kd > 0.0f)
|
||||
@ -181,29 +181,29 @@ void b3ShearForce::Apply(const b3ClothForceSolverData* data)
|
||||
m_f2 += fs[1];
|
||||
m_f3 += fs[2];
|
||||
|
||||
// Jacobian
|
||||
b3Mat33 J[3][3];
|
||||
// Force derivative
|
||||
b3Mat33 K[3][3];
|
||||
for (u32 i = 0; i < 3; ++i)
|
||||
{
|
||||
for (u32 j = 0; j < 3; ++j)
|
||||
{
|
||||
b3Mat33 Jij = -m_kd * b3Outer(dCdx[i], dCdx[j]);
|
||||
b3Mat33 Kij = -m_kd * b3Outer(dCdx[i], dCdx[j]);
|
||||
|
||||
J[i][j] = Jij;
|
||||
K[i][j] = Kij;
|
||||
}
|
||||
}
|
||||
|
||||
dfdv(i1, i1) += J[0][0];
|
||||
dfdv(i1, i2) += J[0][1];
|
||||
dfdv(i1, i3) += J[0][2];
|
||||
dfdv(i1, i1) += K[0][0];
|
||||
dfdv(i1, i2) += K[0][1];
|
||||
dfdv(i1, i3) += K[0][2];
|
||||
|
||||
dfdv(i2, i1) += J[1][0];
|
||||
dfdv(i2, i2) += J[1][1];
|
||||
dfdv(i2, i3) += J[1][2];
|
||||
dfdv(i2, i1) += K[1][0];
|
||||
dfdv(i2, i2) += K[1][1];
|
||||
dfdv(i2, i3) += K[1][2];
|
||||
|
||||
dfdv(i3, i1) += J[2][0];
|
||||
dfdv(i3, i2) += J[2][1];
|
||||
dfdv(i3, i3) += J[2][2];
|
||||
dfdv(i3, i1) += K[2][0];
|
||||
dfdv(i3, i2) += K[2][1];
|
||||
dfdv(i3, i3) += K[2][2];
|
||||
}
|
||||
|
||||
f[i1] += m_f1;
|
||||
|
@ -79,40 +79,40 @@ void b3SpringForce::Apply(const b3ClothForceSolverData* data)
|
||||
|
||||
if (L > m_L0)
|
||||
{
|
||||
// Apply tension
|
||||
b3Vec3 n = dx / L;
|
||||
|
||||
m_f += -m_ks * (L - m_L0) * n;
|
||||
|
||||
// Jacobian
|
||||
b3Mat33 Jx11 = -m_ks * (b3Outer(dx, dx) + (1.0f - m_L0 / L) * (I - b3Outer(dx, dx)));
|
||||
b3Mat33 Jx12 = -Jx11;
|
||||
b3Mat33 Jx21 = Jx12;
|
||||
b3Mat33 Jx22 = Jx11;
|
||||
b3Vec3 dCdx = dx / L;
|
||||
|
||||
dfdx(i1, i1) += Jx11;
|
||||
dfdx(i1, i2) += Jx12;
|
||||
dfdx(i2, i1) += Jx21;
|
||||
dfdx(i2, i2) += Jx22;
|
||||
m_f += -m_ks * (L - m_L0) * dCdx;
|
||||
|
||||
// Force derivative
|
||||
b3Mat33 K11 = -m_ks * (b3Outer(dx, dx) + (1.0f - m_L0 / L) * (I - b3Outer(dx, dx)));
|
||||
b3Mat33 K12 = -K11;
|
||||
b3Mat33 K21 = K12;
|
||||
b3Mat33 K22 = K11;
|
||||
|
||||
dfdx(i1, i1) += K11;
|
||||
dfdx(i1, i2) += K12;
|
||||
dfdx(i2, i1) += K21;
|
||||
dfdx(i2, i2) += K22;
|
||||
}
|
||||
}
|
||||
|
||||
if (m_kd > 0.0f)
|
||||
{
|
||||
// Apply damping
|
||||
// C * J
|
||||
b3Vec3 dv = v1 - v2;
|
||||
|
||||
m_f += -m_kd * dv;
|
||||
|
||||
b3Mat33 Jv11 = -m_kd * I;
|
||||
b3Mat33 Jv12 = -Jv11;
|
||||
b3Mat33 Jv21 = Jv12;
|
||||
b3Mat33 Jv22 = Jv11;
|
||||
b3Mat33 K11 = -m_kd * I;
|
||||
b3Mat33 K12 = -K11;
|
||||
b3Mat33 K21 = K12;
|
||||
b3Mat33 K22 = K11;
|
||||
|
||||
dfdv(i1, i1) += Jv11;
|
||||
dfdv(i1, i2) += Jv12;
|
||||
dfdv(i2, i1) += Jv21;
|
||||
dfdv(i2, i2) += Jv22;
|
||||
dfdv(i1, i1) += K11;
|
||||
dfdv(i1, i2) += K12;
|
||||
dfdv(i2, i1) += K21;
|
||||
dfdv(i2, i2) += K22;
|
||||
}
|
||||
|
||||
f[i1] += m_f;
|
||||
|
@ -145,31 +145,31 @@ void b3StrechForce::Apply(const b3ClothForceSolverData* data)
|
||||
m_f2 += fs[1];
|
||||
m_f3 += fs[2];
|
||||
|
||||
// Jacobian
|
||||
b3Mat33 J[3][3];
|
||||
// Force derivative
|
||||
b3Mat33 K[3][3];
|
||||
for (u32 i = 0; i < 3; ++i)
|
||||
{
|
||||
for (u32 j = 0; j < 3; ++j)
|
||||
{
|
||||
b3Mat33 d2Cuxij = (alpha * inv_len_wu * dwudx[i] * dwudx[j]) * (I - b3Outer(n_wu, n_wu));
|
||||
|
||||
b3Mat33 Jij = -m_ks * (b3Outer(dCudx[i], dCudx[j]) + Cu * d2Cuxij);
|
||||
b3Mat33 Kij = -m_ks * (b3Outer(dCudx[i], dCudx[j]) + Cu * d2Cuxij);
|
||||
|
||||
J[i][j] = Jij;
|
||||
K[i][j] = Kij;
|
||||
}
|
||||
}
|
||||
|
||||
dfdx(i1, i1) += J[0][0];
|
||||
dfdx(i1, i2) += J[0][1];
|
||||
dfdx(i1, i3) += J[0][2];
|
||||
dfdx(i1, i1) += K[0][0];
|
||||
dfdx(i1, i2) += K[0][1];
|
||||
dfdx(i1, i3) += K[0][2];
|
||||
|
||||
dfdx(i2, i1) += J[1][0];
|
||||
dfdx(i2, i2) += J[1][1];
|
||||
dfdx(i2, i3) += J[1][2];
|
||||
dfdx(i2, i1) += K[1][0];
|
||||
dfdx(i2, i2) += K[1][1];
|
||||
dfdx(i2, i3) += K[1][2];
|
||||
|
||||
dfdx(i3, i1) += J[2][0];
|
||||
dfdx(i3, i2) += J[2][1];
|
||||
dfdx(i3, i3) += J[2][2];
|
||||
dfdx(i3, i1) += K[2][0];
|
||||
dfdx(i3, i2) += K[2][1];
|
||||
dfdx(i3, i3) += K[2][2];
|
||||
}
|
||||
}
|
||||
|
||||
@ -193,29 +193,29 @@ void b3StrechForce::Apply(const b3ClothForceSolverData* data)
|
||||
m_f2 += fs[1];
|
||||
m_f3 += fs[2];
|
||||
|
||||
// Jacobian
|
||||
b3Mat33 J[3][3];
|
||||
// Force derivative
|
||||
b3Mat33 K[3][3];
|
||||
for (u32 i = 0; i < 3; ++i)
|
||||
{
|
||||
for (u32 j = 0; j < 3; ++j)
|
||||
{
|
||||
b3Mat33 Jij = -m_kd * b3Outer(dCudx[i], dCudx[j]);
|
||||
b3Mat33 Kij = -m_kd * b3Outer(dCudx[i], dCudx[j]);
|
||||
|
||||
J[i][j] = Jij;
|
||||
K[i][j] = Kij;
|
||||
}
|
||||
}
|
||||
|
||||
dfdv(i1, i1) += J[0][0];
|
||||
dfdv(i1, i2) += J[0][1];
|
||||
dfdv(i1, i3) += J[0][2];
|
||||
dfdv(i1, i1) += K[0][0];
|
||||
dfdv(i1, i2) += K[0][1];
|
||||
dfdv(i1, i3) += K[0][2];
|
||||
|
||||
dfdv(i2, i1) += J[1][0];
|
||||
dfdv(i2, i2) += J[1][1];
|
||||
dfdv(i2, i3) += J[1][2];
|
||||
dfdv(i2, i1) += K[1][0];
|
||||
dfdv(i2, i2) += K[1][1];
|
||||
dfdv(i2, i3) += K[1][2];
|
||||
|
||||
dfdv(i3, i1) += J[2][0];
|
||||
dfdv(i3, i2) += J[2][1];
|
||||
dfdv(i3, i3) += J[2][2];
|
||||
dfdv(i3, i1) += K[2][0];
|
||||
dfdv(i3, i2) += K[2][1];
|
||||
dfdv(i3, i3) += K[2][2];
|
||||
}
|
||||
}
|
||||
|
||||
@ -248,31 +248,31 @@ void b3StrechForce::Apply(const b3ClothForceSolverData* data)
|
||||
m_f2 += fs[1];
|
||||
m_f3 += fs[2];
|
||||
|
||||
// Jacobian
|
||||
b3Mat33 J[3][3];
|
||||
// Force derivative
|
||||
b3Mat33 K[3][3];
|
||||
for (u32 i = 0; i < 3; ++i)
|
||||
{
|
||||
for (u32 j = 0; j < 3; ++j)
|
||||
{
|
||||
b3Mat33 d2Cvxij = (alpha * inv_len_wv * dwvdx[i] * dwvdx[j]) * (I - b3Outer(n_wv, n_wv));
|
||||
|
||||
b3Mat33 Jij = -m_ks * (b3Outer(dCvdx[i], dCvdx[j]) + Cv * d2Cvxij);
|
||||
b3Mat33 Kij = -m_ks * (b3Outer(dCvdx[i], dCvdx[j]) + Cv * d2Cvxij);
|
||||
|
||||
J[i][j] = Jij;
|
||||
K[i][j] = Kij;
|
||||
}
|
||||
}
|
||||
|
||||
dfdx(i1, i1) += J[0][0];
|
||||
dfdx(i1, i2) += J[0][1];
|
||||
dfdx(i1, i3) += J[0][2];
|
||||
dfdx(i1, i1) += K[0][0];
|
||||
dfdx(i1, i2) += K[0][1];
|
||||
dfdx(i1, i3) += K[0][2];
|
||||
|
||||
dfdx(i2, i1) += J[1][0];
|
||||
dfdx(i2, i2) += J[1][1];
|
||||
dfdx(i2, i3) += J[1][2];
|
||||
dfdx(i2, i1) += K[1][0];
|
||||
dfdx(i2, i2) += K[1][1];
|
||||
dfdx(i2, i3) += K[1][2];
|
||||
|
||||
dfdx(i3, i1) += J[2][0];
|
||||
dfdx(i3, i2) += J[2][1];
|
||||
dfdx(i3, i3) += J[2][2];
|
||||
dfdx(i3, i1) += K[2][0];
|
||||
dfdx(i3, i2) += K[2][1];
|
||||
dfdx(i3, i3) += K[2][2];
|
||||
}
|
||||
}
|
||||
|
||||
@ -297,29 +297,29 @@ void b3StrechForce::Apply(const b3ClothForceSolverData* data)
|
||||
m_f2 += fs[1];
|
||||
m_f3 += fs[2];
|
||||
|
||||
// Jacobian
|
||||
b3Mat33 J[3][3];
|
||||
// Force derivative
|
||||
b3Mat33 K[3][3];
|
||||
for (u32 i = 0; i < 3; ++i)
|
||||
{
|
||||
for (u32 j = 0; j < 3; ++j)
|
||||
{
|
||||
b3Mat33 Jij = -m_kd * b3Outer(dCvdx[i], dCvdx[j]);
|
||||
b3Mat33 Kij = -m_kd * b3Outer(dCvdx[i], dCvdx[j]);
|
||||
|
||||
J[i][j] = Jij;
|
||||
K[i][j] = Kij;
|
||||
}
|
||||
}
|
||||
|
||||
dfdv(i1, i1) += J[0][0];
|
||||
dfdv(i1, i2) += J[0][1];
|
||||
dfdv(i1, i3) += J[0][2];
|
||||
dfdv(i1, i1) += K[0][0];
|
||||
dfdv(i1, i2) += K[0][1];
|
||||
dfdv(i1, i3) += K[0][2];
|
||||
|
||||
dfdv(i2, i1) += J[1][0];
|
||||
dfdv(i2, i2) += J[1][1];
|
||||
dfdv(i2, i3) += J[1][2];
|
||||
dfdv(i2, i1) += K[1][0];
|
||||
dfdv(i2, i2) += K[1][1];
|
||||
dfdv(i2, i3) += K[1][2];
|
||||
|
||||
dfdv(i3, i1) += J[2][0];
|
||||
dfdv(i3, i2) += J[2][1];
|
||||
dfdv(i3, i3) += J[2][2];
|
||||
dfdv(i3, i1) += K[2][0];
|
||||
dfdv(i3, i2) += K[2][1];
|
||||
dfdv(i3, i3) += K[2][2];
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user