3

我正在学习metapost,我想知道如何生成像多边形数字http://en.wikipedia.org/wiki/Polygonal_number这样的图形,我得到三角形数字但不是六边形。

感谢帮助。

4

1 回答 1

2

我突然想到,如果您不关心在彼此上绘制点和线,那么这个问题很容易。以下内容与 sin 一样丑陋,主要是因为使用 just 定义 dot fullcircle scaled,但它确实有效:

开始图(1);
对,对,对;
u:=1cm;对:=(u,0);
路径 p,q,dot,seg;
dot:=fullcircle scaled (u/2);
seg:=(0,0)-- (点右移);
对于 N=1 到 6:
  p:=点;nright:=(N*u,0);
  对于 i=1 到 N:
    p:=seg -- (p 右移);
  结束
  q:=(0,0);
  对于 j=1 到 6:
    q:=p -- ((q 旋转 60) 右移);
  结束
  画q;
结束
结束图

这种方法应该适用于所有的n角数。

于 2010-02-17T13:33:56.190 回答