       Re: drawing polygon diagonals

• To: mathgroup at smc.vnet.net
• Subject: [mg112315] Re: drawing polygon diagonals
• From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
• Date: Thu, 9 Sep 2010 04:22:03 -0400 (EDT)
• References: <i6755n\$873\$1@smc.vnet.net>

```Hi Matthew,

I simplified the code somewhat using GraphicsComplex. In this way it
is pretty easy to generate all the connecting lines using Subsets.

Manipulate[
pts = Table[{Cos[2 Pi*k/n], Sin[2 Pi*k/n]}, {k, 1, n}];
Graphics[
{
Black, Thickness[0.005],
GraphicsComplex[pts, Line[Subsets[Range[n], {2}]]],
Red, PointSize[0.035],
GraphicsComplex[pts, Point[Range[n]]]
},
PlotRange -> {{-1.2, 1.2}, {-1.2, 1.2}}
], {n, 2, 20, 1}
]

Cheers -- Sjoerd

On Sep 8, 6:58 am, MH <matthewh... at gmail.com> wrote:
> Hi,
>
> This seems basic but it has me stumped.  I'm trying to illustrate the
> idea of the "handshake problem", where small circles represent people
> and the lines between the circles represent handshakes.  With the code
> below, I'm able to show (and manipulate) any number of circles, and
> I'm also able to show the lines between adjacent circles.  This just
> generates a polygon whose vertices are all connected, as it should.
> But how can I update my code to show the diagonals, too, and not just
> the sides of the polygon?  I'm not sure what to add.
>
> Thanks!
>
> MH
>
> =================
>
> Manipulate[
>  Graphics[{
>    {
>     Table[{Black, Thickness[0.005],
>       Line[{{Cos[2 Pi*k/n], Sin[2 Pi*k/n]},
>         {Cos[2 Pi*(k + 1)/n], Sin[2 Pi*(k + 1)/n]}}]},
>      {k, 0, n - 1, 1}
>      ]
>     },
>    {
>     Table[
>      {Red, PointSize[0.035], Point[{Cos[2 Pi*k/n], Sin[2 Pi*k/n]}]}=
,
>      {k, 0, n - 1, 1}
>      ]
>     }
>    },
>   PlotRange -> {{-1.2, 1.2}, {-1.2, 1.2}}
>   ]
>  , {n, 2, 12, 1}]

```

• Prev by Date: Re: Finite Groups...infinite disappoinment
• Next by Date: Re: notebooks default context
• Previous by thread: Re: drawing polygon diagonals
• Next by thread: Re: drawing polygon diagonals