January 15th, 2008, 2:11 pm
In Mathematica:ngon[p_, q_] := Polygon[Table[{Cos[2 Pi k q/p], Sin[2 Pi k q/p]}, {k, p}]];vrtngon[p_, q_] := Table[{Cos[2 Pi k q/p], Sin[2 Pi k q/p]}, {k, p}];linesngon[p_, q_] := Tuples[vrtngon[p, q], 2];nocenterlinesngon[p_, q_] := Module[{lista, iguais, opostos}, lista = linesngon[p, q]; iguais = Map[(#[[1]] == #[[2]]) &, lista]; opostos = Map[(#[[1]] == -#[[2]]) &, lista]; Pick[lista, Map[Apply[And, #] &, Transpose[{Map[Not, iguais], Map[Not, opostos]}]]]];GraphicsGrid[ Transpose[{Table[ Graphics[Map[Line, nocenterlinesngon[n, 1]], ImageSize -> Medium], {n, 5, 12}]}]]