CalcSymmetricGivensCoefficients() public static method

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
示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }