public static void Main() { var rectangle = new Figure(10, 15); var newFigure = Figure.GetRotatedFigure(rectangle, 10); Console.WriteLine(rectangle.ToString()); Console.WriteLine(newFigure.ToString()); }
public static Figure GetRotatedFigure(Figure figure, double rotatingAngle) { double cosOfAngle = Math.Cos(rotatingAngle); double sinOfAngle = Math.Sin(rotatingAngle); var newWidth = (Math.Abs(cosOfAngle) * figure.Width) + (Math.Abs(sinOfAngle) * figure.Height); var newHeight = (Math.Abs(sinOfAngle) * figure.Width) + (Math.Abs(cosOfAngle) * figure.Height); return new Figure(newWidth, newHeight); }