2009年11月13日金曜日

Asymptote 1.90のインストール

AsymptoteはMetaPostを発展させたベクトルグラフィック記述言語で、LaTeXなどに図として貼りこむことが出来るようです。
Ubuntu 9.10のリポジトリにもパッケージがあるのですが、バージョンが1.80くらいでちょっとだけ古いので、最新版をソースからmakeすることにしました。

まずは公式サイトから現時点で最新版であるasymptote-1.90.src.tgzをダウンロードします。
これを

$ tar xvzf asymptote-1.90.src.tgz

で展開して、出来たディレクトリに移動します。
./configure を実行するのですが、その際にgarbage collectorなるものが必要になるようなので


を実行して、入手したファイルをasymptoteのソースを展開したディレクトリに入れておきます。この後

$ ./configure
$ make all

を実行したところ、私の使っているptetexではtexinfoやpdftexが入っていないためかmakeでエラーが出て止まります。対処法としては、


からマニュアルを取ってきてdocディレクトリに入れ、さらに

$ sudo apt-get install texinfo

でtexinfoをインストールした後でmake allすればすんなり通りました。
後は

$ sudo paco -D make install

でインストールしました。(注: pacoを導入していない場合は普通にsudo make installでOKです.)

使い方が掲載されているサイトがあまり多くないようなので、使えるようになるには相当苦労しそうです。

2009年11月12日木曜日

inkscapeでばねを描く

inkscapeで物理の問題集に出てくるような、簡易的なばねを描いてみたいと思います。
使用するのはinkscape 0.47 pre4です。
まずは適当な大きさの楕円を描き、
「ノードでパスを編集」→「選択オブジェクトをパスに変換」
を選択し、楕円をパスに変換します。


すると楕円が4つのセグメントに分かれるので、上部2つのセグメントのいずれかを選択し、「新しいノードを選択セグメントに挿入」をクリックしてノードを増やします。一方が終わればもう一方もノードを挿入します。
次に挿入したノードを選択し、「選択ノードでパスを切断」をクリックします。


その後、メニューから「パス」→「分割」を選択して、楕円を、端点を持つ2つのパスに分けます。


分割したパスのうち、小さい方は削除し、大きいほうの切断した端点のノードがグリッドの交点にくるように移動します。


この図形を複製して、複製した図形の切断部分がオリジナルの切断部分と同じ位置にくるように移動します。これらの操作は「グリッドにスナップ」を有効にしておくとより正確に行うことが出来ます。


次に、「オブジェクトを選択/移動/変形」をクリックして図全体を選択したのち、メニューの「パス」から「連結」を選択します。これで2つの図形が1つのパスとして扱われます。
さらに「ノードでパスを編集」をクリックして、2つの図形を合わせた切断部分のノードを選択し、「選択した端点ノード同士を連結」をクリックして、ノードを接合します。


さらに、接合されたノードを選択し、「選択ノードの種類をスムーズに」をクリックして、角を無くします。


後は以上の操作を繰り返し行うことでばねを描くことが出来ます。注意するべき点は、図形の端点のノードを接合するときに、ノードをグリッドの交点に合わせてから接合しないと歪みが生じてしまうことです。この操作を3回繰り替えしたのが次の画像です。


この後両端の処理を行ってやれば、ばねの完成です。