用 MetaPost 作的第一个图,七个六边形

beginfig(1)
  u := 1cm;

  pair t;
  t = dir (60);

  pair a[];
  pair b[];
  a0 = (0, 0);
  b0 = (u, 0);
 
  for i=1 upto 6:
    pair c[];
    pair d[];
    c0 = a[i-1];
    d0 = b[i-1];
    for j=1 upto 5:
      c[j] = c[j-1] + d[j-1];
      draw c[j-1]--c[j];
      d[j] = (xpart t * xpart d[j-1] - ypart t * ypart d[j-1],
xpart t * ypart d[j-1] + ypart t * xpart d[j-1]);
    endfor;
    a[i] = a[i-1] + b[i-1];
    b[i] = (xpart t * xpart b[i-1] + ypart t * ypart b[i-1],
      xpart t * ypart b[i-1] - ypart t * xpart b[i-1]);
  endfor;

  dotlabel.lrt("0", 1/2[a0, a3]+(-5, 5));
endfig;
每次画五条边,共六次,组成七个六边形。算是一个小型蜂窝了。

图形:

阅读更多
文章标签: pair 图形 c
个人分类: Linux
相关热词: metapost
上一篇批量转换图片之 bash 版
下一篇重新安装 Windows 的引导程序
想对作者说点什么? 我来说一句

MetaPost超简明教程(中文).pdf

2013年03月03日 236KB 下载

没有更多推荐了,返回首页

关闭
关闭