Asymptoteの練習No.0001「3つの同心円」

ともかくも、試してみなくては習得できまい。ということで、配布されているサンプルや、いろんなサイトで見つけたサンプルなどを参考にしつつ、自分で理解できるところから始めることにしよう。

最初の練習は、円と、円上の点の表示。MetaPostと同様に、点(pair)や曲線(path)を前もって定義しておいてから、
それを表示すればよい。点の表示には、 dot(....) を用いるとよいようだ。ラベルの位置をオプションで選べる。NEはNorth Eastの位置ってこと。

Asymptoteの練習 No. 0001 「3つの同心円」

/*
 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に慣れることが先決。

コメントを残す

メールアドレスが公開されることはありません。