public Transform Rotate(float angle) { float rad = Calc.ToRadians(angle); float cos = Calc.Cos(rad); float sin = Calc.Sin(rad); var rotation = new Transform(cos, -sin, 0f, sin, cos, 0f, 0f, 0f, 1f); return(Combine(rotation)); }
public Transform Rotate(float angle, float center_x, float center_y) { float rad = Calc.ToRadians(angle); float cos = Calc.Cos(rad); float sin = Calc.Sin(rad); var rotation = new Transform( cos, -sin, center_x * (1 - cos) + center_y * sin, sin, cos, center_y * (1 - cos) - center_x * sin, 0f, 0f, 1f ); return(Combine(rotation)); }