开发者

How to generate a polygon number figure using metapost?

I'm开发者_StackOverflow learning metapost and i want to know how to generate a figure like a polygon number http://en.wikipedia.org/wiki/Polygonal_number , i got triangular numbers but not hexagonal.

Thanks for help.


It occurred to me that if you don't care about drawing points and lines upon each other, then this problem is pretty easy. The following is as ugly as sin, mostly because of the definition of dot using just fullcircle scaled, but it works:

beginfig(1);
pair right, nright;
u:=1cm; right:=(u,0);
path p,q,dot,seg;
dot:=fullcircle scaled (u/2);
seg:=(0,0)-- (dot shifted right);
for N=1 upto 6:
  p:=dot; nright:=(N*u,0);
  for i=1 upto N:
    p:=seg -- (p shifted right);
  endfor
  q:=(0,0);
  for j=1 upto 6:
    q:=p -- ((q rotated 60) shifted nright);
  endfor
  draw q;
endfor
endfig

This approach should work for all of the n-gonal numbers.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜