# Polygon

Write a program that can calculate some key values for any regular polygon.

## Collecting Information¶

Ask the user to input the following values:

• `number_of_corners` should be an integer and not less than 3
• `side_length` should be a floating point number larger than 0
• The value of the `side_length` is assumed to be given in mm

If the input values are not valid, report this in the output.

## Doing the Math¶

Do this only if the input was valid.

From the given values you can infer a lot of other ones. Calculate the following values:

• The Center angle (in degrees) is the angle between the projections from the center to two adjacent corners.
• The Corner angle (in degrees) is the angle between two adjacent border segments on the inside of the polygon.
• The Outer radius (in mm) is determined by the distance of any corner from the center point.
• This is the radius of the smallest circle which can completely circumscribe the polygon.
• The Inner radius (in mm) is calculated by the shortest distance fron the center to any border.
• It happens to be the distance between the center point and the midpoint of any border segment.

You may need trigonometric functions from the `math` module for some calculations. Note that the functions offered work in radians not degrees, so you may need to convert between those two.

Hints

Doing the calculations in some orders is more difficult than in others. Using half-angles or half-lengths as intermediate values also can make the process a lot easier

Here is one possible approach:

``````center angle = 360° / number of corners
corner angle / 2 = 180° - 90°- center angle / 2
inner radius = tan(corner angle / 2) * (side length / 2)