[Math] Finding vertices of regular polygon

geometrypolygons

I am trying to find the vertices of a regular polygon using just the number of sides and 2 vertices. After the second vertex, I will make left turns to find each subsequent vertex that follows.

For example, If I have 4 sides, and 2 points, (0,0) & (0,10), how would I go about find the next to point of the square? I know the points would be (10,10) and then (10,0), but I can't think of a formula to accomplish this.

Thank you for any help, and I hope I provided enough information.

Best Answer

For simplicity I am assuming the centre of the polygon is origin.

If two consecutive vertices are given then the angle they make at origin can be found. Call it $\theta=2\pi/n$. Now all points are obtainable from any single point by rotating repeatedly by this angle (centred at origin). As rotation is a linear transformation, this can be achieved by matrix multiplication $$ R_\theta=\pmatrix{\cos\theta & -\sin\theta\cr \sin\theta &\cos\theta\cr}$$ Write the co-ordinates of a vertex of the polygon as a column vector $v_1=\displaystyle {x_1\choose y_1}$. Matrix multiplication $v_2=R_\theta v_1, v_3=R_\theta v_2$ etc will give the co-ordinates of all the vertices.

Related Question