I think it works like (0, r) rotated (a) -- (0, r) rotated (a * 2) -- ... (0, r) rotated (a*20) -- cycle
Is my understanding correct? Also, how can I label these vertices in a for loop? On Wed, Aug 28, 2024 at 2:25 PM Shiv Shankar Dayal <shivshankar.da...@gmail.com> wrote: > > Hi, > > Consider following code: > > vardef polygon_with_side(expr n, s) = > save a, b, r; numeric a, b, r; > a * n = 360; a + 2b = 180; r = s * sind(b) / sind(a); > for i = 0 upto n-1: (0, r) rotated (a * i) -- endfor cycle > enddef; > > beginfig(1); > path p; p = polygon_with_side(21, 20); > draw p; > endfig; > bye; > > It draws a polygon with 21 sides with radius 20. I understand all of > it except the for loop. > > What is (0, r) rotated (a *i) doing? > > -- > Respect, > Shiv Shankar Dayal -- Respect, Shiv Shankar Dayal ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________