Maplets[Elements][Plotter] - 2-D または 3-D プロットビューワの定義
使い方
Plotter(opts)
Plotter[refID](opts)
パラメータ
opts - option=value の形の等式; ここで option は background, continuous, delay, frame_backwards, frame_forward, height, pause, play, reference, `stop`, to_end, to_start, tooltip, value, visible, width のいずれか; Plotter 要素のためのオプション指定
refID - 名前または文字列; 要素の参照
|
説明
|
|
•
|
Plotter ウィンドウボディ要素は、maplet 内で プロットビューワを定義します。Plotter 要素内では、2-D, 3-D およびアニメーションの表示が可能です。
|
•
|
Plotter 要素の特徴は、オプションを用いて修正が可能です。Maplets パッケージでのオプション指定を簡単にするために、等式を用いることなしにあるオプションと内容を設定することが可能です。次の表では、(左側の列に) 要素、記号、および型、そして (右側の列に) 型がデフォルトで割り当てられると入力を行う、対応するオプションまたは内容を一覧表示します。
|
Elements, Symbols, or Types Assumed Option or Content
Maple 2-D or 3-D plot value option
refID reference option
string or symbol tooltip option
•
|
Plotter 要素は、他の要素を含むことができません。
|
•
|
Plotter 要素は、Maplet または BoxLayout 要素、ボックスレイアウトを表現する階層化されたリスト内にある Maplet 要素に、含めることが可能です。
|
•
|
次の表に、Plotter 要素のオプションの、制御および使用法について記述します。
|
|
I 列の x は、(要素の定義を行う) 呼び出し手順で指定される、初期化が可能なオプションを示す。
|
|
R 列の x は、呼び出し手順で必要となるオプションを示す。
|
|
G 列の x は、オプションが Get ツールを用いて取得できる、すなわち読み込み可能であることを示す。
|
|
S 列の x は、 SetOption 要素あるいは Set ツールを用いて設定される、書き出し可能なオプションを示す。
|
Option I R G S
background x x x
continuous x x x
delay x x x
frame_backwards x
frame_forward x
height x x x
pause x
play x x
reference x
`stop` x
to_end x
to_start x
tooltip x x x
value x x
visible x x x
width x x x
•
|
opts 引数は、maplet のオプションを設定する、1 つまたは複数の以下の等式を含みます。
|
|
maplet の背景色。色の名前、RGBの色構造、または "#RRGGBB" という形の文字列 (ここで各文字の組は 2 桁の 16 進数) を、認識することができます。
|
|
プロットの高さ (単位ピクセル)。デフォルトでは 400 ピクセルです。
|
|
reference = name または string
|
|
この参照、例えば Plotter[refID] およびコマンド列内の reference が、両方ともインデックスで指定されている場合、インデックスによる参照が優先されます。
|
|
tooltip = symbol または string
|
|
value = specfunc(anything, {PLOT, PLOT3D})
|
|
ユーザが見ることのできるプロットビューワかどうかの設定。デフォルトの値は、true です。
|
|
プロットビューワの幅 (単位ピクセル)。デフォルトでは 400 ピクセルです。
|
•
|
opts 引数に関する以下の等式は、アニメーション表示を制御します。
|
|
continuous = true または false
|
|
true に設定すると、アニメーションを連続的に表示します。false に設定すると、全てのフレームを一度表示した後、アニメーションは停止します。デフォルトでは、このオプションは true に設定されています。
|
|
フレーム間の表示間隔 (単位:ミリ秒)。このオプションのデフォルト値は、100 です。
|
|
このパラメータを true に設定すると、前のフレームを連続的に表示します。アニメーションが進行中の場合は、最初のフレームで停止します。
|
|
このパラメータを true に設定すると、次のフレームを連続的に表示します。アニメーションが進行中の場合は、最初のフレームで停止します。
|
|
このパラメータを true に設定すると、アニメーションを一時停止します。次の play オプションを用いることで、表示を再開することが可能です。
|
|
このパラメータを true に設定すると、アニメーションをスタート(前に一時停止されている場合は、再開)します。デフォルトではこの設定は false です。
|
|
このパラメータを true に設定すると、アニメーションを停止します。 (stop) が keyword (Maple で事前に確保された語)でもあるため、このオプションを参照するためには、必ず左のシングルクォーテーション(バッククォーテーション) (` `) を使用して下さい。
|
|
このオプションを true に設定すると、アニメーションの最後のフレームを表示します。アニメーションが進行中の場合は、最初のフレームで停止します。
|
|
このオプションを true に設定すると、アニメーションの最初のフレームを表示します。アニメーションが進行中の場合は、最初のフレームで停止します。
|
|
|
例
|
|
関数 'x' をプロットする maplet の例:
>
|
with(Maplets[Elements]):
maplet2d := Maplet([
["Enter a function of 'x':", TextField['TF2d']()],
Plotter['PL1']( plot(undefined, x = 0..10) ),
[Button("Plot", Evaluate('PL1' = 'plot(TF2d, x = 0..10)') ), Button("OK", Shutdown(['TF2d']))]
]):
result := Maplets[Display](maplet2d);
|
関数 'x' および 'y' をプロットする maplet の例:
>
|
with(Maplets[Elements]):
maplet3d := Maplet([
["Enter a function of 'x' and 'y':", TextField['TF3d']()],
Plotter['PL1'](),
[Button("Plot", Evaluate('PL1' = 'plot3d(TF3d, x = 0..10, y = 0..10)') ), Button("OK", Shutdown(['TF3d']))]
]):
result := Maplets[Display](maplet3d);
|
アニメーション機能を紹介する簡単な maplet の例:
>
|
with(Maplets[Elements]);
p := plots[animate](a*x+2*a,x=-10..10,a=-5..5,frames=20):
animator := Maplet(
[ Plotter[P](p, continuous=false),
[ Button("play",SetOption(P('play')=true)),
Button("stop",SetOption(P('`stop`')=true)),
Button("pause",SetOption(P('pause')=true)) ],
[ Button("to start",SetOption(P('to_start')=true)),
Button("to end",SetOption(P('to_end')=true)) ],
[ Button("backwards",SetOption(P('frame_backwards')=true)),
Button("forward",SetOption(P('frame_forward')=true)) ],
[ "continuous",
CheckBox[CONTINUOUS](value=false,
onchange=SetOption(target=P, `option`='continuous',
Argument(CONTINUOUS))) ],
[ "cyclic",
CheckBox[CYCLIC](value=false,
onchange=SetOption(target=P, `option`='cyclic',
Argument(CYCLIC))) ],
[ "delay",
Slider[DELAY](100..500, 200,
onchange=SetOption(target=P, `option`='delay', Argument(DELAY))) ],
Button("ok",Shutdown()) ]):
Maplets:-Display(animator);
|
|
|
例
|
|
関数 'x' をプロットする maplet の例:
>
|
with(Maplets[Elements]):
maplet2d := Maplet([
["Enter a function of 'x':", TextField['TF2d']("sin(x)")],
Plotter['PL1']( plot(sin(x), x = 0..10) ),
[
Button("Plot", Evaluate('PL1' = 'plot(TF2d, x = 0..10)') ),
Button("OK", Shutdown(['TF2d']))
]
]):
result := Maplets[Display](maplet2d);
|
関数 'x' および 'y' をプロットする maplet の例:
>
|
with(Maplets[Elements]):
maplet3d := Maplet([
["Enter a function of 'x' and 'y':", TextField['TF3d']()],
Plotter['PL1'](),
[
Button("Plot", Evaluate('PL1' = 'plot3d(TF3d, x = 0..10, y = 0..10)') ),
Button("OK", Shutdown(['TF3d']))
]
]):
result := Maplets[Display](maplet3d);
|
アニメーション機能を紹介する簡単な maplet の例:
>
|
with(Maplets[Elements]);
p := plots[animate](plot,[a*x+2*a,x=-10..10],a=-5..5,frames=20):
animator := Maplet(
[ Plotter[P](p, continuous=false),
[ Button("play",SetOption(P('play')=true)),
Button("stop",SetOption(P('`stop`')=true)),
Button("pause",SetOption(P('pause')=true)) ],
[ Button("to start",SetOption(P('to_start')=true)),
Button("to end",SetOption(P('to_end')=true)) ],
[ Button("backwards",SetOption(P('frame_backwards')=true)),
Button("forward",SetOption(P('frame_forward')=true)) ],
[ "continuous",
CheckBox[CONTINUOUS](value=false,
onchange=SetOption(target=P, `option`='continuous',
Argument(CONTINUOUS))) ],
[ "delay",
Slider[DELAY](100..500, 200,
onchange=SetOption(target=P, `option`='delay', Argument(DELAY))) ],
Button("ok",Shutdown()) ]):
Maplets:-Display(animator);
|
|
|
参照
|
|
Maplets パッケージの概要, Maplets[Display], Maplets[Elements] パッケージの紹介, Maplets[Elements][Evaluate], Maplets[Elements][Maplet], Maplets[Elements][SetOption], Maplets[Elements][Shutdown], Maplets[Elements][TextField], Maplets[Tools][Get], Maplets[Tools][Set], Maplets/ウィンドウボディ要素, plot, plot3d, plots[animate]
|
|