GSL Shell 学習:IupMglPlot

2016-05-09 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
7、2、0、0、1、 0、0、0、0、0(40)で、換算ポイント 88pt 。
「Perl」「化学業界」「硝子業界」「FM COCOLO」「e-radio」「グルコサミン」、
「Python」「Firefox」bg値変動のみ。「C言語」「FM青森」全く変化無し。
・-・ - -・

さて、本文。

「Lua Plot 3d」で検索したら、
IupMglPlot
が見つかった。

  IupMglPlot (since 3.6)

  Creates a plot of one or more data sets.
  It inherits from IupCanvas. Uses the MathGL library.

  MathGL is a library for creating plots that is system independent.
  It is maintained by Alexey Balakin and available at SourceForge ・・・
   with GPL and LGPL licenses.

  IupMglPlot library includes the MathGL 2.3.2 source code,
   so no external references are needed,
   but contains only the LGPL part of the library.

  ・・・・・
  ・・・・・

これって、
IUP - Portable User Interface
サイトの一部ですか。
だから、Ver.3.6 から (since 3.6) の機能の様ですね。

そして MathGL は、
MathGL -- library for scientific data visualization
( Ver.2.3.2 ) を含んでいる。


これは使ってみたい。
で、ダウンロートは何処から???

暫く(半月ほど)悩んでいたが、

3月(2016-03-13)の記事「GSL Shell 学習:IUP - Portable User Interface
で書いた、
  ・・・・・
  ・・・・・
  そこで、
  「3.17」→「Windows Libraries」→「Dynamic」
  から、
  “Win32”の“dllw4”を選んだ。
  つまり、
  「iup-3.17_Win32_dllw4_lib.zip」 2015-12-03 版、 3.70MB
  ・・・・・
  ・・・・・
この書庫の中にある「iup_mglplot.dll」のコト?

   「IUPLua」を「LuaJIT」で使うのは手間が掛かる
  ので、
   <紙>は、C言語用のライブラリを使う。


試しに1つコード化してみた:
local Iup = require'IUP'   -- 自作モジュール
Iup.Open( 0 ) ------------ これ必須!!!
-----
local mgl = ffi.load( 'iup_mglplot' ) -- これがキモ。
ffi.cdef[[
void IupMglPlotOpen(void); // Initialize IupMglPlot widget class
Ihandle* IupMglPlot(void); // Create an IupMglPlot widget instance
void IupMglPlotBegin(Ihandle *ih, int dim);
void IupMglPlotAdd2D(Ihandle *ih, double x, double y);
int IupMglPlotEnd(Ihandle *ih);
]]
---------------------------------------------------------------
mgl.IupMglPlotOpen()
mp = mgl.IupMglPlot()

mgl.IupMglPlotBegin( mp, 2 ) -- 2D ( X-Y ) データ
mgl.IupMglPlotAdd2D( mp, 3.5, 5 )
mgl.IupMglPlotAdd2D( mp, 4.0, 7 )
mgl.IupMglPlotAdd2D( mp, 6.0, 2 )
mgl.IupMglPlotAdd2D( mp, 0, 0 ) -- これはダミー 上の3点のみ?
i = mgl.IupMglPlotEnd( mp )
dlg = Iup.Dialog( mp )
Iup.Popup( dlg, 350, 250 )

Iup.Close()
では?

(1)“iupgl.dll”が無いゾ!
と出た。もう1つ必要だったようで、これは追加。

(2)コード中のコメントの如く、4点目が無視される???
原因不明。

(3)グラフ表示領域が、小さすぎる
でも、ドラッグすればサイズを変えることが出来る!


なにはともあれ、使えそうだ。
“MathGL”相当で、3Dも行けそう。

但し、

  MathGL supports several kinds of data.
  IupMglPlot restricts this to a few combinations.
  First there are 3 major classes:

  Linear
  Planar
  Volumetric

と云うことだそうだが、・・・・・

それから、

“IupMglPlot”は“IupPPlot”の機能拡張版の様です。


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


160325,0420
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク