illustratorでsin(x)を描く方法

illustratorサインカーブ(sin x)を描く方法として、javascriptを使う方法を紹介します。このエントリは、はてな人力検索の質問 question:1167923268 に触発されて書きました。

illustratorスクリプト

illustratorでは、javascriptスクリプト(=プラグインのようなもの)が記述できます。sin(x)を書くスクリプトは以下のようになります。

N=100;
SCALE=50;

PI=3.14159265;
for (t=0;t<N;t++) {
  line = activeDocument.pathItems.add();

  y0 = Math.sin(t/N*2*PI)*SCALE;
  y1 = Math.sin((t+1)/N*2*PI)*SCALE;

  line.setEntirePath([[t,y0],[t+1,y1]]);
  line.filled = false;
  line.stroked = true;
  line.selected = true;							
}

使い方

使い方は簡単で

  1. 上記の内容のテキストファイルを作成、たとえば sin.js という名前で保存。
  2. イラストレータを起動して、メニューの"ファイル" ⇒ "スクリプト" ⇒ "参照" で、sin.js を開きます

以上の手順で、左下にサインカーブが描画されます

簡単(というか手抜き)なスクリプトですが、Math.sin() の部分を Math.cos() や Math.tan() に書き換えれば、それぞれコサイン、タンジェントのグラフも描画できます。