/// <summary> /// Restituisce trasformazione di scala /// </summary> /// <param name="sx"></param> /// <param name="sy"></param> /// <returns></returns> public static Transform2D Scala(double sx, double sy) { Transform2D tr = new Transform2D(); tr.Set(0,0,sx); tr.Set(1,1,sy); return tr; }
/// <summary> /// Rotazione attorno all'origine /// </summary> /// <param name="alf"></param> /// <param name="radianti"></param> /// <returns></returns> public static Transform2D Rotazione(double alf, bool radianti = true) { Transform2D tr = new Transform2D(); if(radianti == false) alf = alf * Math.PI/180.0; double cosalf = Math.Cos(alf); double sinalf = Math.Sin(alf); tr.Set(0,0,cosalf); tr.Set(1,1,cosalf); tr.Set(0,1,-sinalf); tr.Set(1,0,sinalf); return tr; }
/// <summary> /// Traslazione /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <returns></returns> public static Transform2D Traslazione(double x, double y) { Transform2D tr = new Transform2D(); tr.Set(0,2,x); tr.Set(1,2,y); return tr; }