SURFEX V. 0.89.02 FOR LINUX/UNIXA Short Documentation
Oliver Labs
翻訳:横田 博史

2006 年 6 月 12 日

目次
第 1 章 概要

1

第 2 章 はじめてみよう

22.1

2.2

あらかじめ必要なもの . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 JAVA(必須) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

222.1.2 SURF(必須) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 CONVERT(動画生成の為のオプション) . . . . . . . . . . . . . . . . . . .
インストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

223

起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.32.4

例題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

342.5

文書 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4第 3 章 インターフェイス

3.1
3.2

5

3 個のウィンドウ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
surfex ウィンドウ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 メニュー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5553.2.2
3.2.3

Project タイトル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Action Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

663.2.4
3.2.5
3.2.6

General Properties Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parameters ウィンドウ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Equation ウィンドウ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

677

3.2.7
3.2.8curves ウィンドウ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
solitary Points ウィンドウ . . . . . . . . . . . . . . . . . . . . . . . . . . .

88i

第1章

概要

SURFEX は実代数曲面の対話的処理による高品質の可視化ツールである.SURF や JAVAVIEWの様な幾つかの可視化ツールの強みを結合した上位のソフトウエア (Meta-software) である. 我々は又 SURFEX.LIB と名付けた SINGULAR のライブラリを実装した. これは,SURFEX の可視化の品質を, 特異点の断面等の計算を利用する事で, 拡張するものである. SURFEX と SURFEX.LIBの最新版は, 我々のウエブサイト: www.surfex.AlgebraicSurface.net から入手可能である.

1

第2章

はじめてみよう可視化ソフトウェア SURFEX の 0.89.02 版は surfex 0 89 -2.tar.gz と言う名前で下記の我々のサイトから入手する事が可能である:

www.surfex.AlgebraicSurface.net

2.1

あらかじめ必要なもの

SURFEX の最新版は美しい画像を計算する為に光路追跡ソフトウエアの SURF を用いる. SURFEX を用いたければ, このソフトウエアをシステムにインストールしていなければならない.SURFEX を使って動画を生成したいのであれば, 画像変換ツールの CONVERT をインストールしていなければならない, これは IMAGEMAGIC パッケージに含まれている.

2.1.1

JAVA(必須)

SURFEX は JAVA のプログラムである. 何故なら, 多くのオペレーティングシステム向けにあまり作業をしなくて済む事と, インターネット越しに作業させる事が容易に遂行可能だからである.
現在の SURFEX は Java Runtime Environment(JRE),version 1.4.2 以降を必要とする. これはwww.java.sun.com から入手可能である.

2.1.2

SURF(必須)

Linux で SURF をインストールする正規の手順は先ず,SURF のウエブサイト: http://surf.sourceforge.net
から最新版を入手する事である. このサイトからソースコードを入手すれば, コンパイルしてインストールを行おう. 10.5 版は最新の C++コンパイラを使えば最新の Linux で簡単にコンパイルが出来る.
それから, 入手したパッケージに含まれている INSTALL LINUX ファイルの操作を行う.
ところで, 一部のシステムには予めコンパイルされた版がある. 例えば,SINGILAR のウエブサイ
ト: www.singular.uni-kl.de を参照して頂きたい. これらの版は多くの Linux システム1 で動作する.
現時点での SURF バイナリ版の名前は surf-1.0.5 である.SURFEX が SURF を見付けられる様に, 実行ファイルの名前は surf に変更して頂きたい.

2.1.3

CONVERT(動画生成の為のオプション)

代数曲面の動画を生成する為に,SURFEX は優れた画像変換ツール CONVERT を用いる, これは,IMAGEMagic パッケージに含まれている. これは www.imagemagick.org から入手可能である.
1 訳者註:x86 向け

2

バイナリを入手してインストールする方法で, 最も簡単な方法は rpm パッケージ形式で入手する事である. この文書を書き上げた時点での, 現行版は 6.2.7-6 で, 対応するファイルは ImageMagic-6.2.7-6.i386.rpm
2である.
インストールする為に,(スーパーユーザ (root) となって) 以下を入力しよう:

rpm -i ImageMagic-6.2.7-6.i386.rpm

2.2

インストールJAVA と SURF(そして, オプションとして CONVERT) が前述の様に貴方のシステムにインストールされていれば,SURFEX のインストールは非常に簡単である.
先ず, 以下の手順を踏む事になる:• シェルを開く. 望ましいのは bash である. このシェルは殆どの Linux システムで使える.bashの起動は bash と入力するだけである.

• ディレクトリを変更する. 例えば, /hiome/yourlogin/software に貴方が入手したファイル
surfex 0 89 02.tar.gz があれば, cd /home/yourlogin/software と入力する• 以下の命令をシェルに入力して, 入手したファイルを展開する:
tar -xzvf surfex 0 89 02.tar.gz• これで surfex 0 89 02 という名前のディレクトリが生成される. それから, 以下の命令をシェルに入力して, このディレクトリに移動する:
cd surfex 0 89 02 以下の様に入力して,• INSTALL LINUX スクリプトを実行する.
./INSTALL LINUXINSTALL LINUX が上手く動作すれば,surfex という名前のスクリプトがカレントディレク
トリ上に生成される. それを貴方の bash の PATH 変数に含まれているディレクトリに複製しておく• これで, 以下の様に入力すれば surfex が起動する:
surfex

2.3

起動

SURFEX が正しくインストールされていれば,surfex とシェルに入力すれば起動する.surfex が起動すると 3 個のウィンドウが現われ (後のページの図 3.1 参照), デフォルトの曲面が見えている
筈である.SURFEX に以下の式で直接それを呼出す事も可能である:
surfex -e x^3+y^2-z^2もし, 式が括弧を含んでいれば, 引用符で方程式を括らなければならない:
surfex -e "(x+y)*(x-y)+z^3"

2 訳者註:ImageMagic-6.2.7-6.i386.rpm は x86 版である. その他のアーキテクチャ, 例えば,PPC や x86 64 の場合は,それに対応する RPM に対応するものを入手するか,SRPM を入手すると良い.

3SURFEX ファイル, 例えば,sample.sux があれば, 次の様に入力する事で, ファイルを開く事が可能である:
surfex example.sux

2.4

例題

インストール作業中に出来たディレクトリ 0 ]89 02 には, examples という名前の副フォルダがある.
更に, もっと沢山の例を将来は我々のウエブサイトで提供する予定である. www.surfex.AlgebraicSurface.net
を参照されたい.

2.5

文書

今, 貴方が読んでいる文書の最新版は我々のサイト: www.surfex.AlgebraicSurface.net から利用可能である.

4

第3章

3.1

インターフェイス

3 個のウィンドウ

図 3.1: SURFEX のインターフェイス

SURFEX を起動させると,surfex,triangulation と raytraced surface と表題の付いた 3 個のウィンドウが現われる.

raytraced surface ウィンドウは (surf を用いて生成した) 曲面を光路追跡した画像を表示する.
triangulartion ウィンドウは, 現時点では球面だけが表示されている. だが, このウィンドウでマウスを引き回す事で, raytraced surface ウィンドウに表示されている曲面を回転させる事が出来る.
main ウィンドウは surfex ウィンドウである:ここで, 方程式やその他の大半のデータを指定する.
我々は次の小節でこの事を詳細に述べる事とする.

3.2

surfex ウィンドウ

3.2.1

メニュー5現行版では,menu はそんなに機能がない.ﬁle メニューだけに幾つかの重要な項目がある:SURFEXのファイルを開いたり, 光路追跡した曲面の画像や動画を保存する為のものである.

3.2.2

Project タイトル

3.2.3

Action Bar

主な操作は action bar を用いて実行する. 左から右に, ホタンは次の機能を持っている.

• 現行の project を保存する• 現行の光路追跡した画像を保存する (必要があれば, 高解像度で)• 現行の画像を基にした動画を (望むのであれば, 高い解像度で) 保存する
• プロジェクトに助変数を追加する• プロジェクトに方程式を追加する• プロジェクトに曲線を追加する• プロジェクトに孤立点を追加する• 一旦, 画像を光路追跡する• 常に光路追跡する; 即ち, 貴方な何かを変更すると直ちに新しい光路追跡した新しい画像を生成する

3.2.4

General Properties Bar

general Properties bar を用いる事で, 一つの対象のみに影響を及ぼすだけではなく, 全ての代数多様体に対して, 同時に作用させる事が可能である.
左から右に:• antialiasing:光路追跡した画像を計算した後に,antialiasing を処理する (これは画像の品質を増進させるものであるが, 時間がかかる).
• previes-quality:1(最高画質),...,8(最低画質).
• background-color:光路追跡した画像の背景色を設定.
63.2.5

Parameters ウィンドウ

各助変数に対して与えられた情報で, その左端に助変数の名前 (ここでは p1 がある. この助変数の名前は現時点では変更が出来ない.
但し, その助変数の値域や, 勿論, 値そのものを指定する事は可能である. 現在, 助変数はスライダーのみを用いて変更が可能だが, キーボードから変更する事は出来ない.
注意! 助変数の下限や上限にある十進数を入力して, 一度変更した場合でも, RETURN キーを押さなければならない (そうしなければ, カーソルは新規に数値を入力した文書入力欄の中にそのまま居る).

3.2.6

Equation ウィンドウ

チェックボックスが各方程式の左端にある. これを使って, どの曲面を描いて, どれを描かないかを決定する事が可能である.
色の付いた二つのボタンをクリックする事で, 曲面の内部 (即ち, その方程式が正値になる側から見た点) と表側の色彩を指定する事が可能である.

del ボタンは現在利用出来ない.
opts ボタンでオプションのダイアログボックスを開く. 現在, 透明度の指定 (%) だけがそこで可能である. もし,100%を指定した場合, 曲面は結局絵の中では見えなくなる.
このボタンの右には, 方程式の名前が表示されている.
方程式の構文方程式自体は, 大きな入力欄に入力する. ここで演算子: +,-,*,^を全て正確に記述しなければならない (例えば,3xy の様な入力は許容されない). 括弧として,(と) を用いても構わない.
更に, 助変数名を含んでいても (分子でも分母でも) 構わず, 更に,(分子に) その他の方程式名を含んでいても構わない.
十進数や, 助変数に対しては, 三角函数 (sin,cos,tan,arccos,arcsin,arctan) や sqrt でさえも使っても構わない (これらは実際に surf で実装されている). 即ち, 二つの助変数 p1 と p2 があり, 二つの方程式 f1 と f2 があった場合, 第三の方程式は, 例えば, 次の様な式でも構わない:

cos(pi)*f1+(sqrt(p2)+1)*f2
SURF は多項式を生成する幾つかの多項式の構文がある:• hesse(曲面の Hessian を生成する)7

• diﬀ(p,x),diﬀ(p,y),diﬀ(p,z)(偏微分. ここで p は多項式)• roatet(p,v,xAxis),roatet(p,v,yAxis), roatet(p,v,zAxis). ここで,p は多項式,v はある十進数 (あるいは助変数!); この方法で, 貴方独自の非標準的な回転を指定する事が可能である
例えば,diff(f1,x)*p1 + diff(f1,y)*p2 + diff(f1,z)*p3 は座標 p1,p2,p3(これらは助変数スライダーを用いて値を指定可能である) を持った点での曲面 f1 の接平面の方程式である.

3.2.7

curves ウィンドウ方程式と同様に, 左側のチェックボックスを使わないで, 曲線を表示するかどうかを指定する事が可能である.
色彩ボタンもある.
各曲線は幾つかの方程式で与えられる.
注意!

重要な事として, 指定した曲面で一番最初のものの上にこれらの曲線が描かれる事がある.

これは殊に曲面のチェックボックスでチェックされたものだけが描かれる事を意味し, そうでなければ透明度が 100%となる.
この最後の機能は曲面を表示せずに, 空間曲線を描く事にも使える.

3.2.8

solitary Points ウィンドウ

Solitary Points は絵では小さな球面として現われている. 現時点では, これらの属性は曲面のそれと同じものでなければならない. 左側のリストから番号を指定しなければならない. 点の座標系は助変数を用いた多項式が含まれていても構わない.
スライダーで孤立点を表現する小球面の半径を与える事が可能である. 現在, 全ての孤立点は同じ半径を持つ球面として表現されている.

8