Asymptote的3D作图一例

size(300);
import three;

currentprojection=orthographic(1,1,1);
picture SumOfSquaresN(int n)
{
  int x, y, z;
  picture p;
  for (z = 0; z < n; ++z)
    for (y = 0; y < (n-z); ++y)
      for (x = 0; x < (n-z); ++x)
        draw(p, shift(x,y,z)*unitcube, white, meshpen=black+2, nolight);	

  return p;
}

picture pic = SumOfSquaresN(4);
add(pic);

 这是求的图,调用SumOfSquaresN,就可以了,当n=4时,图片如下:

感谢www.ctex.org以及www.ctex.orgTeX 图形技术 版主cvgmt 。详情见  长方体堆叠要如何画

Posted by 独孤求真 2010年10月02日 06:44