public static void Main()
 {
     var rectangle = new Figure(10, 15);
     var newFigure = Figure.GetRotatedFigure(rectangle, 10);
     Console.WriteLine(rectangle.ToString());
     Console.WriteLine(newFigure.ToString());
 }
Example #2
0
        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);
        }