ともかくも、試してみなくては習得できまい。ということで、配布されているサンプルや、いろんなサイトで見つけたサンプルなどを参考にしつつ、自分で理解できるところから始めることにしよう。
最初の練習は、円と、円上の点の表示。MetaPostと同様に、点(pair)や曲線(path)を前もって定義しておいてから、
それを表示すればよい。点の表示には、 dot(....) を用いるとよいようだ。ラベルの位置をオプションで選べる。NEはNorth Eastの位置ってこと。
/*
Asymptoteの練習No.0001「3つの同心円」
t0001_3circles.asy
*/
size(8cm,0);
import math;
real r1=1.5;
real r2=sqrt(7);
real r3=4;
pair O=0;
path c1=circle(O,r1);
path c2=circle(O,r2);
path c3=circle(O,r3);
draw(c1,magenta);
draw(c2,green);
draw(c3,green);
real th=pi/5;
pair A=(r1*cos(th),r1*sin(th));
pair B=(r2*cos(2*th),r2*sin(2*th));
pair C=(r3*cos(3*th),r3*sin(3*th));
dot("$O$",O,S,red);
dot("$A$",A,red);
dot("$B$",B,NE,red);
dot("$C$",C,N,red);
主な変数型は、real (実数)、pair (点=複素数)、path (曲線)の3つ。細かい文法とかは気にせず、というか、多くはMetaPostと同様だから、どんどん書いてみよう。MetaPostよりも、普通のプログラム言語に近いように感じる。この例では、円上の点を三角関数でパラメーター表示しているが、角度を変化させると、3つの点が一斉に変わるので面白い。
ラベルの表示には TeX が呼び出されているようだ。ここの呼び出しを日本語TeXにしたり、数式フォントを変更したりもできるようだが、まあ、それは後で考えよう。とりあえずは、Asymptoteに慣れることが先決。
