Pentagram Challenge

pentagon-circumcircleA polygon is a plane shape (2D) with straight lines. It consists of vertices and edges.

A polygon is regular when all angles are equal and all sides are equal. For instance a regular pentagon consists of 5 vertices and 5 edges of equal size. The vertices of a regular pentagon are equally spread on a circle. This outside circle is called a circumcircle, and it connects all vertices (corner points) of the polygon. The radius of the circumcircle is also the radius of the polygon. We can use the trigonometric formulas to work out the (x,y) coordinates of each vertex of a regular pentagon. (See picture on the right).

Using this approach, we can use a Python script to calculate the (x,y) coordinates of the 5 vertices of a regular pentagon and store them in a list of [x,y] sub-lists.

R = 150
for n in range(0,5):
  x = R*math.cos(math.radians(90+n*72))
  y = R*math.sin(math.radians(90+n*72))

Star Shapes

pentagramA pentagram is a polygon that looks like a 5-pointed star. The outer vertices (points of the stars) form a regular pentagon. The inner vertices of the star also form a smaller “inner” regular pentagon.

We can hence use a similar approach to calculate the (x,y) coordinates of both “outer” and “inner” vertices of our pentagram.

Python Turtle

We have completed the code to calculate the coordinates of a regular pentagon (using the code provided above) and have created a function called drawPolygon() that uses Python Turtle to draw a polygon on screen.

Your Task

Adapt the above Python code to calculate the coordinates of all the vertices of a pentagram (star shape) and draw the pentagram on screen.

The output of your program should be as follows:

Extension Task

Use the shoelace algorithm to calculate the area of your pentagram.


The solution for this challenge is available to full members!
Find out how to become a member:
➤ Members' Area

Did you like this challenge?

Click on a star to rate it!

Average rating 4.9 / 5. Vote count: 7

No votes so far! Be the first to rate this post.

As you found this challenge interesting...

Follow us on social media!

Tagged with: ,