ともかくも、試してみなくては習得できまい。ということで、配布されているサンプルや、いろんなサイトで見つけたサンプルなどを参考にしつつ、自分で理解できるところから始めることにしよう。
最初の練習は、円と、円上の点の表示。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に慣れることが先決。