Google

Go to the first, previous, next, last section, table of contents.


ifplot, conplot, plot, polarplot, plotover

ifplot(func [,geometry] [,xrange] [,yrange] [,id] [,name])
:: 2 変数関数の実数上での零点を表示する.
conplot(func [,geometry] [,xrange] [,yrange] [,zrange] [,id] [,name])
:: 2 変数関数の実数上での等高線を表示する.
plot(func [,geometry] [,xrange] [,id] [,name])
:: 1 変数関数のグラフを表示する.
polarplot(func [,geometry] [,thetarange] [,id] [,name])
:: 極形式で与えられた曲線を表示する.
plotover(func,id,number)
:: すでに存在しているウィンドウへ描画する.
return
整数
func
多項式
geometry, xrange, yrange, zrange
リスト
id, number
整数
name
文字列
  • ifplot() は, 2 変数関数 func の実数上での零点の グラフの表示を行う. conplot() は, 同様の引数に対し, 等高線の表示を行う. plot() は 1 変数関数のグラフの表示を行う. polarplot() は 極形式 r=f(theta) で表された曲線のグラフの表示を行う.
  • これらは OpenXM サーバとして実現されている. UNIX 上では `ox_plot' が, Windows 上では `engine' がこれらの機能 を提供しており, これらは Asir の標準ライブラリディレクトリにある. アクティブな `ox_plot' の id が id として指定された場合, そのサーバが用いられる. id の指定がない場合には, 起動されて いるサーバのうち, `ox_plot' があればそのサーバが用いられる. `ox_plot' が起動されていない場合には, ox_launch_nox() が自動的に実行されて, `ox_plot' が 立ち上がり, それが用いられる.
  • 引数の内, func は必須である. その他の引数はオプションである. オプションの形式およびそのデフォルト値 (カッコ内) は次の通り.
    geometry
    ウィンドウのサイズをドット単位で [x,y] で指定する. ([300,300]. )
    xrange, yrange
    変数の範囲の指定で, [v,vmin,vmax] で指定する. (いずれの変数も [v,-2,2].) この指定がない場合, func に含まれる変数の内変数順序の上の変数 が `x', 下の変数が `y' として扱われる. これを避けるためには xrange, yrange を指定する. また, func が 1 変数の 場合, これらの指定は必須となる.
    zrange
    conplot() の場合のみ指定できる. 形式は [v,vmin,vmax [,step ]] で, step が指定され た場合には, 等高線の間隔が (vmax-vmin)/step となる. ([z,-2,2,16].)
    id
    遠隔プロセスの番号, すなわち ox_launch() が返した番号を指定する. (一番最近に作られ, かつアクティブなプロセスに対応する番号.)
    name
    ウィンドウの名前. (Plot.) 生成されたウィンドウのタイトルは name:n/m となる. これは, プロセス番号 n のプロセスの, m 番のウィンドウを意味する. この番号は, plotover() で用いられる.
  • 一つのプロセス上で描画できるウィンドウの数は最大 128 個である.
  • plotover() は, 指定したウィンドウ上に, 引数である 2 変数多項式の 零点を上書きする.
  • 描画終了後のウィンドウ上で, マウスの左ボタンを押しながらのドラッグ で範囲を指定しボタンを離すと新たなウィンドウが生成され, 指定した 範囲が拡大して表示される. ドラッグは左上から右下へと行う. ドラッグを始めた後キャンセルする場合は, マウスポインタを始点の上か 左に持っていってボタンを離せばよい. 新しいウインドウの形は, 指定 領域と相似で, 最大辺が, 元のウィンドウの最大辺と一致するように 定められる. 以下で説明する precise が on の場合, 選択した領域が同一 window 上で書き直される.
  • ウィンドウ内で右ボタンを押すと, その点の座標がウィンドウの下部に表示される.
  • conplot() で生成したウィンドウにおいて, ウィンドウの右側のマーカを 中ボタンでドラッグすると, 対応する等高線の色が変わり, 右上の ウィンドウに対応するレベルが表示される.
  • UNIX 版ではいくつかのボタンにより いくつかの設定変更, 操作ができる. UNIX 版では次のボタンがある.
    quit
    window を破壊する. 計算を中断する場合, ox_reset() を用いる.
    wide (トグル)
    現在の表示部分を縦横各 10 倍した領域を表示する. 現在表示されている範囲は この表示において中央部に長方形で示される. この表示で範囲指定を行うと, その範囲が新しいウィンドウに描画される.
    precise (トグル)
    選択領域を, 整数演算により, より正確に再描画する. これは, func が 有理数係数の 2 変数多項式の場合にのみ有効である. このモードでは Sturm 列 と二分法により, 区間内の零点の個数を正確に求めていくもので, デフォルトの 計算法よりも正確な描画が期待できる. ただし, 描画時間は余計にかかる場合が 多い. この説明から明らかなように, この機能は有理数係数の多項式の描画に対 してのみ有効である. ((x^2+y^2-1)^2 の描画で試してみよ.)
    formula
    対応する式を表示する.
    noaxis (トグル)
    座標軸を消す.
  • `ox_plot' が起動されるマシンによっては, スタックを大量に使用する ものもあるため, `.cshrc' でスタックサイズを大きめ (16MB 程度) に 指定しておくのが安全である. スタックサイズは limit stacksize 16m などと指定する.
  • X では、ウインドウの各部分について resource により 色付けや、ボタンの形を変えることができる。 resource の指定の仕方は以下の通り。(デフォルトを示しておく) plot*form*shapeStyle は、rectangle, oval, ellipse, roundedRectangle が、指定できる。
    plot*background:white
    plot*form*shapeStyle:rectangle
    plot*form*background:white
    plot*form*quit*background:white
    plot*form*wide*background:white
    plot*form*precise*background:white
    plot*form*formula*background:white
    plot*form*noaxis*background:white
    plot*form*xcoord*background:white
    plot*form*ycoord*background:white
    plot*form*level*background:white
    plot*form*xdone*background:white
    plot*form*ydone*background:white
    


参照
section ox_launch, ox_launch_nox, ox_shutdown, section ox_reset,ox_intr,register_handler


Go to the first, previous, next, last section, table of contents.