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


Asymptote作图两例

 用Asymptote作图还是很方便的,前提是要改变用那种可视化工具作图的习惯,不是一来就打开软件,一边画一边改。Asymptote在画之前,需要先在草稿上画个大概,有个构思,要哪些点,或辅助点,这些规划好了,然后再用Asymptote,还是挺快的。

unitsize(2cm);

pair O=(0, 0);
pair X=(5, 0);
pair a=(4, 0);
pair ah=(4, 0.5);
pair ahl=(4, 0.3);
pair d=(3, 0);
pair dh=(3, 0.3);
pair c=(2.5, 0);
pair ch=(2.5, 0.3);
pair b=(1.5, 0);
pair bh=(1.5, 0.5);
pair bhl=(1.5, 0.3);

draw(O -- X, Arrow);
label(Label("$x$"), X, SW);
label(Label("$+$"), X, NW);
dot(a);
label(Label("$a$"), a, S);
draw(a -- ah, dashed+red);
dot(d);
draw(d -- dh, dashed);
dot(c);
draw(c -- ch, dashed);
dot(d);
draw(b -- bh, dashed+red);
dot(b);
label(Label("$b$"), b, S);

draw(ch -- bhl, Arrow);
label(Label("$y_n$"), ch -- bhl, N);
draw(dh -- ahl, Arrow);
label(Label("$x_n$"), dh -- ahl, N);

效果图如下:

再来一个:

import math;

unitsize(2cm);

pair O=(0, 0);
pair X=(5, 0);
pair a=(4, 0);
pair ah=(4, 0.6);
pair ahl=(4, 0.3);
pair c=(3, 0);
pair ch=(3, 0.5);
pair d=(2.5, 0);
pair dh=(2.5, 0.3);
pair b=(1.5, 0);
pair bh=(1.5, 0.6);
pair bhl=(1.5, 0.5);

draw(O -- X, Arrow);
label(Label("$x$"), X, SW);
label(Label("$+$"), X, NW);
dot(a);
label(Label("$a$"), a, S);
draw(a -- ah, dashed+red);
dot(d);
draw(d -- dh, dashed);
dot(c);
draw(c -- ch, dashed);
dot(d);
draw(b -- bh, dashed+red);
dot(b);
label(Label("$b$"), b, S);

draw(ch -- bhl, Arrow);
label(Label("$y_n$"), ch -- bhl, N);
draw(dh -- ahl, Arrow);
label(Label("$x_n$"), dh -- ahl, N);
pair cc=extension(dh, ahl, c, ch);
filldraw(d--dh--cc--c--cycle, fillpen=opacity(0.1), drawpen=gray);

效果如下:

Posted by 独孤求真 2010年9月27日 19:01


Latex写数学表达式

用Latex做数学表达式真是又方便又好看,准备以后把用过的表达式极其代码都保存到这里,用于备忘。随时更新。还有,对Latex爱好者来说,http://www.codecogs.com 这个网站真的很方便。

1. 分数,极限及上标(n次方)

\lim_{n \rightarrow \infty}
\frac{1+a+a^2+\cdots +a^n}{1+b+b^2+\cdots+b^n}, 
(\left\vert a \right\vert < 1, \left\vert b \right\vert < 1)

[tex]\lim_{n \rightarrow \infty}\frac{1+a+a^2+\cdots +a^n}{1+b+b^2+\cdots+b^n},(\left\vert a \right\vert < 1, \left\vert b \right\vert < 1)[/tex]

2. 大括号推倒符号

a_n \leq b_n \Rightarrow sup \begin{Bmatrix} a_n \end{Bmatrix} 
\leq sup \begin{Bmatrix} b_n \end{Bmatrix}

[tex]a_n \leq b_n \Rightarrow sup \begin{Bmatrix} a_n \end{Bmatrix} \leq sup \begin{Bmatrix} b_n \end{Bmatrix}[/tex]

a_n \leq b_n \Rightarrow \sup \big\{ a_n \big\}\leq \sup \big\{ b_n \big\}

[tex] a_n \leq b_n \Rightarrow \sup \big\{ a_n \big\}\leq \sup \big\{ b_n \big\} [/tex]

3. 求和符号:

\sum\limits_{k=1}^n K^2

[tex]\sum\limits_{k=1}^n K^2[/tex]

Posted by 独孤求真 2010年9月23日 07:20