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
___________________________________________________________________________________

Reply via email to