SSブログ

Mac用プロットライブラリ-2 [考え中 - プロットライブラリ]

さて、プロットライブラリにはどんな機能を持たせるか、を考える。

ポイントと機能

  1. Objective-CベースのCocoa frameworkとする
  2. cocoaらしいシンプルさを持ったframeworkのインタフェイスにする
  3. Macの描画機能を、移植性を無視して使い切る(WindowsやほかのUnixは無視する)
  4. 高い描画効率を目指す
  5. 2D、3D(SurfaceGraphics)、density、Contourグラフを生成(Mathematicaが生成できるグラフを包含する)
  6. MacOSX独特の各種描画機能を利用した表現を可能にする

具体的なPlot機能

  1. 線、ポリゴン、文字列、bitmapの表示
  2. 2次元グラフ
    1. MathematicaのListPlotと同様の機能
    2. 棒グラフ、円グラフなど一般のグラフ描画
  3. 3次元グラフ
    1. MathematicaのListPlot3Dと同様の機能
    2. MathematicaのListDensityPlotと同様の機能
    3. MathematicaのListContourPlotと同様の機能
  4. 組み合わせグラフ
    1. matlabのsurfcと同様の機能
    2. 任意の2次元データを3次元グラフの任意の面に貼付ける

表現力を高めるための機能

  1. 線や面の色づけ、破線処理、矢印
  2. Bezier Smoothing
  3. 線や面の半透明化(*)
  4. 2次元プリミティブへの影付け(*)
  5. 文字列のグリフ選択
  6. 文字列の3次元面への貼付け

いかにもPDFベースのQuartzの売り文句そのまんま。(*)は既存のプロットライブラリには無い機能で、Quartzを前提にするからこそできる、はず。

その他の機能

  1. Objective-Cによる簡単なAPI
  2. デフォルトパラメータのNSDictionaryによるテンポラルな設定/変更
  3. IllustratorなどPostScript、PDFの編集ソフトに読み込めるPDFファイル生成機能

不要な機能


MathematicaやMatlabにあって、Plotting Frameworkに必要のない機能として

  1. 関数の直接プロット
  2. 数値計算、代数計算


などがある。これはつまりMathematicaのListPlotやListPlot3Dは持つが、式を受け付けるPlot、Plot3D、PrarametricPlot、PlarametricPlot3Dはない、ということである。当然式を受け付けないのでそれらの計算機能も必要ない。従ってgnuplotの代用にはならない。計算が必要なら自分で計算してFrameworkに渡せばよい。単なるFrameworkなんだから。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

ペーパークラフトの数学-2献立11/11 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。