Mac用プロットライブラリ-2 [考え中 - プロットライブラリ]
さて、プロットライブラリにはどんな機能を持たせるか、を考える。
ポイントと機能
- Objective-CベースのCocoa frameworkとする
- cocoaらしいシンプルさを持ったframeworkのインタフェイスにする
- Macの描画機能を、移植性を無視して使い切る(WindowsやほかのUnixは無視する)
- 高い描画効率を目指す
- 2D、3D(SurfaceGraphics)、density、Contourグラフを生成(Mathematicaが生成できるグラフを包含する)
- MacOSX独特の各種描画機能を利用した表現を可能にする
具体的なPlot機能
- 線、ポリゴン、文字列、bitmapの表示
- 2次元グラフ
- MathematicaのListPlotと同様の機能
- 棒グラフ、円グラフなど一般のグラフ描画
- 3次元グラフ
- MathematicaのListPlot3Dと同様の機能
- MathematicaのListDensityPlotと同様の機能
- MathematicaのListContourPlotと同様の機能
- 組み合わせグラフ
- matlabのsurfcと同様の機能
- 任意の2次元データを3次元グラフの任意の面に貼付ける
表現力を高めるための機能
- 線や面の色づけ、破線処理、矢印
- Bezier Smoothing
- 線や面の半透明化(*)
- 2次元プリミティブへの影付け(*)
- 文字列のグリフ選択
- 文字列の3次元面への貼付け
いかにもPDFベースのQuartzの売り文句そのまんま。(*)は既存のプロットライブラリには無い機能で、Quartzを前提にするからこそできる、はず。
その他の機能
- Objective-Cによる簡単なAPI
- デフォルトパラメータのNSDictionaryによるテンポラルな設定/変更
- IllustratorなどPostScript、PDFの編集ソフトに読み込めるPDFファイル生成機能
不要な機能
MathematicaやMatlabにあって、Plotting Frameworkに必要のない機能として
- 関数の直接プロット
- 数値計算、代数計算
などがある。これはつまりMathematicaのListPlotやListPlot3Dは持つが、式を受け付けるPlot、Plot3D、PrarametricPlot、PlarametricPlot3Dはない、ということである。当然式を受け付けないのでそれらの計算機能も必要ない。従ってgnuplotの代用にはならない。計算が必要なら自分で計算してFrameworkに渡せばよい。単なるFrameworkなんだから。
2007-11-11 07:52
nice!(0)
コメント(0)
トラックバック(0)
コメント 0