public static CalcSymmetricGivensCoefficients ( float a_pp, float a_pq, float a_qq, float &c, float &s ) : void | ||
a_pp | float | |
a_pq | float | |
a_qq | float | |
c | float | |
s | float | |
return | void |
public void Rot01(float c, float s) { Mat3.CalcSymmetricGivensCoefficients(m00, m01, m11, out c, out s); float cc = c * c; float ss = s * s; float mix = 2 * c * s * m01; SetSymmetric(cc * m00 - mix + ss * m11, 0, c * m02 - s * m12, ss * m00 + mix + cc * m11, s * m02 + c * m12, m22); }
public void Rot02(ref float c, ref float s) { Mat3.CalcSymmetricGivensCoefficients(m00, m02, m22, out c, out s); float cc = c * c; float ss = s * s; float mix = 2 * c * s * m02; SetSymmetric(cc * m00 - mix + ss * m22, c * m01 - s * m12, 0, m11, s * m01 + c * m12, ss * m00 + mix + cc * m22); }
public void Rot12(float c, float s) { Mat3.CalcSymmetricGivensCoefficients(m11, m12, m22, out c, out s); float cc = c * c; float ss = s * s; float mix = 2 * c * s * m12; SetSymmetric(m00, c * m01 - s * m02, s * m01 + c * m02, cc * m11 - mix + ss * m22, 0, ss * m11 + mix + cc * m22); }