示例#1
0
        public Affine2f Lerp(Affine2f other, float t)
        {
            if (Generality() < other.Generality())
            {
                return(other.Lerp(this, -t));
            }

            Affine2f ot = (other is Affine2f) ? (Affine2f)other : new Affine2f(other);

            return(new Affine2f(m00 + t * (ot.m00 - m00), m01 + t * (ot.m01 - m01), m10 + t * (ot.m10 - m10),
                                m11 + t * (ot.m11 - m11), tx + t * (ot.tx - tx), ty + t * (ot.ty - ty)));
        }
示例#2
0
 public Affine2f PreConcatenate(Affine2f other)
 {
     if (Generality() < other.Generality())
     {
         return(other.Concatenate(this));
     }
     if (other is Affine2f)
     {
         return(Multiply((Affine2f)other, this, new Affine2f()));
     }
     else
     {
         Affine2f oaff = new Affine2f(other);
         return(Multiply(oaff, this, oaff));
     }
 }