GSL Shell 学習:IupMglPlot で 3D Plot

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

さて、本文。

前回(2016-05-09)の記事「GSL Shell 学習:IupMglPlot
の後の学習で、
IupMglPlot DS_MODES Options
ページを見つけた。
このページがグラフの種類をリストアップしている。

最初の、
  For Linear Datasets
の、2番目
  MARK
が欲しいものダ。

試しにコード化してみた:
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

int IupMglPlotNewDataSet(Ihandle* ih, int dim);
void IupMglPlotSetFormula(Ihandle* ih, int ds_index, const char* formulaX, const char* formulaY, const char* formulaZ, int count);
]]
----------------------------------------------------------------------
mgl.IupMglPlotOpen()
mp = mgl.IupMglPlot()

i = mgl.IupMglPlotNewDataSet( mp, 3 ) -- 3D Data
mgl.IupMglPlotSetFormula( mp, i, charA('sin(2*pi*x)'), charA('cos(2*pi*x)'), charA('sin(8*pi*x)'), 60 )

Iup.SetAttribute( mp, 'DS_MODE', 'MARK' )
Iup.SetAttribute( mp, 'DS_MARKSTYLE', 'CIRCLE' )
Iup.SetAttribute( mp, 'DS_MARKSIZE', '2.0' )

Iup.SetAttribute( mp, 'TITLE', '3D Sample' )
Iup.SetAttribute( mp, 'SIZE', '200x200' )

Iup.SetAttribute( mp, 'AXS_XLABEL', '-X-' )
Iup.SetAttribute( mp, 'AXS_YLABEL', '-Y-' )
Iup.SetAttribute( mp, 'AXS_ZLABEL', '-Z-' )

dlg = Iup.Dialog( mp )
Iup.Popup( dlg, 350, 250 )
Iup.Close()
で3Dも行けそうダ。

尚、ドキュメントには、

  Interaction

  Zoom and Pan

  Zoom and Pan operations can be done using keyboard
   or mouse actions in 2D and 3D plots.

  Zoom can be done using the mouse wheel (Zoom in: scroll down;
   Zoom out: scroll up), the Ctrl+Left mouse button pressed and
   vertical mouse movements (Zoom in: bottom-up; Zoom out: top-down)
   or the plus '+' (Zoom in) and minus '-' (Zoom out) keys.

  Pan is done using horizontal and vertical mouse movements
   with the left mouse button pressed.
  By keyboard, the Ctrl+arrow keys combinations can be used
   to shift the window.
  Arrow keys can also be used without using the Ctrl key
   to slower movements.

  Rotation

  Rotation operations can also be done using keyboard
   or mouse actions, but only for 3D plots.

  ・Rotation in X axis: right mouse button pressed and
    vertical mouse movements, or 'w' and 's' keys.
  ・Rotation in Y axis: right mouse button pressed and
    horizontal mouse movements, or 'a' and 'd' keys.
  ・Rotation in Z axis: Ctrl+right mouse button pressed and
    vertical mouse movements, or 'e' and 'q' keys.

  Reseting

  The interaction can be reset with a mouse double-click inside
   the plot area or by pressing the HOME key.
  This action restores the plot to the default view
  (no zoom, no pan and no rotation).

とある。

<紙>的には“マウス右ボタン・ドラッグで回転”
は、些か戸惑いがある。


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


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


160422
関連記事
スポンサーサイト

コメントの投稿

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

おきてがみ/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
ブックマーク