Documentation6. より高度なトピック

 

数式やグラフィックスの表示

サーバは,タイプセットされた数式やグラフィックスを表示するために,画像を生成することができます.これは,計算結果を見る簡単な方法です.しかしこれには,クライアントは使えないという大きな欠点があります.サイズ調整もできませんしフォントを変えることもできません.他の方法で見ることもできません.また,コンピュータのプログラムで画像から何らかの意味を抽出することも大変困難です.この画像生成の代りとなる方法がいくつか提供されています.数式の場合はMathMLを,グラフィックスにはSVGを使い,3Dのグラフィックスにはアプレットを配置することができます.しかし,これらの代替法が常に適切な解決法であるとはいえません.そのため,画像を生成する関数が備えられているのです.

Mathematica のカーネルが画像を生成すると,その画像はサーバ上のファイルに保存され,返されるHTMLファイルにこのファイルへの参照が置かれます.例えば,次の例でimg要素が生成されたとしましょう.

<img src="/webMathematica/MSP?MSPStoreID=MSPStore1042942578_0&amp;MSPStoreType=image/gif" alt="Created by webMathematica"/>

ファイル名を与えるパラメータを含む相対URLを介してSRC属性がMSPサーブレットを参照します.MSPサーブレットはファイルの内容を返します.古くなった画像ファイルは定期的に削除されます.画像ファイルが保存されている実際の場所はサーブレットコンテナが提供するワークプレースディレクトリです.

画像生成に関してもっとお知りになりたければ「Mathematica 関数のリファレンス」の,特にMSPFormatMSPShowMSPShowAnimationをご覧ください.

画像生成の第3の方法としてMathematica コマンドのExportを使うことが考えられます.これは,関数MSPExportImageと一緒に使うことができます.この関数は透過的な背景のようにより多くの機能を提供しますが,生成には時間がかかります.MSPExportImageは常にMathematica のフロントエンドを使います.

MSP関数で画像を返す

MSPの関数には画像を返すものがたくさんあります.MSPShowMSPShowAnimationMSPExportImageMSPFormat等が画像を返します.これらのコマンドの動きについては「Mathematica 関数のリファレンス」セクションをご覧ください.これらはすべて,サーバにある画像を参照するのに必要なimgタグを含む文字列を返します.次の例をご覧ください.

<msp:evaluate>
   MSPShow[ graphics]
</msp:evaluate>

このため,次の例のようにMSP関数の後ろにセミコロン(;)を置くと,出力が隠されます.出力を隠すためのセミコロンの使い方については「評価のフォーマット」をご覧ください.

<msp:evaluate>
   MSPShow[ graphics];
</msp:evaluate>

これらの関数は「HTML関数」におけるように,結果を何か他のフォーマット関数の中に埋め込むために使うこともできます.次の例は2つの画像を含むHTMLの表を返します.

<msp:evaluate>
   Needs["MSP`HTML`"]
</msp:evaluate>

<msp:evaluate>
   HTMLTableForm[ {MSPShow[ g1], MSPShow[ g2]}]
</msp:evaluate>