/// <summary> /// Crea una matriz con la escala respecto a un punto de aplicacion. /// </summary> /// <param name="p">Punto de aplicacion.</param> /// <param name="e">Escala.</param> /// <returns>Matriz escala.</returns> public static Matrix3x3d Scale(Point2d p, Vector2d e) { return(Scale(p.X, p.Y, e.X, e.Y)); }
/// <summary> /// Crea una matriz con la traslacion, rotacion y escala: mt * mr * me. /// Primero se escala, despues se rota y finalmente se traslada. /// </summary> /// <param name="o">Origen.</param> /// <param name="r">Rotacion en radianes.</param> /// <param name="e">Escala.</param> /// <returns>Matriz de traslacion, rotacion y escala.</returns> public static Matrix3x3d TranslateRotateScale(Point2d o, double r, Vector2d e) { return(TranslateRotateScale(o.X, o.Y, r, e.X, e.Y)); }
/// <summary> /// Crea una matriz con la escala respecto a un punto de aplicacion. /// </summary> /// <param name="p">Punto de aplicacion.</param> /// <param name="e">Escala.</param> /// <returns>Matriz escala.</returns> public static Matrix3x3d Scale(Point2d p, double e) { return(Scale(p.X, p.Y, e, e)); }
/// <summary> /// Crea una matriz con la rotacion respecto a un punto de aplicacion. /// </summary> /// <param name="p">Punto de aplicacion.</param> /// <param name="r">Angulo en radianes.</param> /// <returns>Matriz de rotacion.</returns> public static Matrix3x3d Rotate(Point2d p, double r) { return(Rotate(p.X, p.Y, r)); }
/// <summary> /// Crea una matriz con la traslacion. /// </summary> /// <param name="o">Origen.</param> /// <returns>Matriz de traslacion.</returns> public static Matrix3x3d Translate(Point2d o) { return(Translate(o.X, o.Y)); }
/// <summary> /// Establece la mat 3x3 con los vectores directores <c>vX, vY</c> /// y el punto origen <c>o</c>. /// </summary> /// <param name="vX">Vector X.</param> /// <param name="vY">Vector Y.</param> /// <param name="o">Origen.</param> public void Set(Vector2d vX, Vector2d vY, Point2d o) { this.Set(vX.X, vY.X, o.X, vX.Y, vY.Y, o.Y, 0, 0, 1); }
/// <summary> /// Crea un mat 3x3 con los vectores directores <c>vX, vY</c> /// y el origen <c>o</c>. /// </summary> /// <param name="vX">Vector X.</param> /// <param name="vY">Vector Y.</param> /// <param name="o">Origen.</param> public Matrix3x3d(Vector2d vX, Vector2d vY, Point2d o) { this.Set(vX, vY, o); }