Skip to main content

プロットデータの操作

Drawfigures(or Drwfigs)(name , データリスト, オプションリスト)

複数のプロットデータのスタイル(オプション)をリストで与えて描画する

説明

複数のプロットデータをまとめて扱う。たとえば,円と,円周上の点の 2 つのプロットデータをまとめて扱えば,平行移動や回転で,それらのプロットデータをまとめて平行移動や回転ができる。

Displayed

クリックで拡大

note

グループ化については保留

Changestyle(PD リスト, options)

描画オプションを変更する

説明

複数の図形の描画オプションを一括して変更する。

Invert(PD)

プロットデータを逆順にする

【例】矢印とその逆向きの矢印を描画する。

Displayed

クリックで拡大

Joincrvs(name, プロットデータのリスト, options)

隣接する曲線プロットデータ のリストを繋いで 1 本の曲線を作る。

説明

曲線のリストは隣接する順番で指定する。
options は線種”dr, n”, ”da,m,n” , ”do,m,n”

【例】y=x+2y=x+2y=x2y=x^2のグラフの内側を塗りつぶす。

Displayed

クリックで拡大

Partcrv(name, A, B, プロットデータ, options)

曲線プロットデータ上の点 A, B の間の部分曲線を描く。

説明

2 点 A, B の順序は曲線の向きと同一であること。曲線の向きは,y = f(x) のグラフでは x 座標が増加する向き。
options は線種”dr, n”, ”da,m,n” , ”do,m,n”

【例】y=x2y=x^2y=x+2y=x+2より下側だけを太くする。

Displayed

クリックで拡大

【例】Intersectcrvsを使って動的に交点を求める

Enclosing(name , PD リスト , [開始位置, 交点計算の許容限界 1, 2])

複数の曲線から閉曲線を作る。

説明

開始位置は,最初と最後の曲線の交点が複数あるときに指定する。
開始点は近くに取ればよい。許容限界は,通常は指定しなくてよい。

【例】y=x+2y=x+2y=x2y=x^2のグラフの内側を塗りつぶす。

Displayed

クリックで拡大

Hatchdata(name , 方向リスト , プロットデータ , options)

閉曲線の内部に斜線を引く。

説明

引数は,曲線名,内部外部のパターンを与える”i”,”o” の文字列,閉曲線を与える曲線と領域の内部を定める
方向のリストとオプション。
オプション(カッコ内はデフォルト値)
 角度 (45),間隔 (1),"Max=(20)" 斜線の最大本数,
"No=点リスト" 点リストの点が選ばれているときは実行しない
"File=y/m/n (n)" データファイルを作るか
"Check=点リスト" 点リストの点が変更されていたら,ファイルを作り直す

【例】y=x+2y=x+2y=x2y=x^2のグラフの内側をハッチングする。

Displayed

クリックで拡大

【例】ベン図を書いて、指定の部分にハッチング

Displayed

クリックで拡大

Dotfilldata(name , 方向リスト , プロットデータ , options)

領域を点で敷き詰める。

説明

R とデータの授受をおこなって描画する。書式は Hatchdata() と同様。 オプションは,ドットの密度で 0.1~0.8 程度。 初期設定は 0.3。

info

保留

Shade((”名前”), プロットデータのリスト , options)

閉曲線で囲まれた領域を塗りつぶす。

説明

第1引数には,閉曲線を与える曲線分のプロットデータ名を並べる。
デフォルトでは,Joincrvs を使って閉曲線を作っている。ただし,プロットデータのリストに”Invert()”が入っていれば,Enclosing を使う。
option の Color は,Cinderella の画面上での描画色をリストで与える。濃さを指定したい場合は色名や RGBではなく CMYK にする。
options には,他に,次のものがある。
・Enclosing を使うかどうか:”Enc=y/n”(初期値は n)
   ”Enc=y” のとき,複数の Shade を使うときは,名前をつける。
・Enclosing のときの開始点,描画色
・描画領域のトリミング:”Trim=y/n” (初期値は n )
・TeX への書き出しで,先頭に配置するか:”First=y/n” (初期値は n )
   ”First=n” のときは,使われている Gdata の書き出しの直前におく.

【例】ベン図を塗りつぶす

Displayed

クリックで拡大

【例】描画範囲外は塗りつぶさない

Displayed

クリックで拡大

Reflectdata(name , プロットデータ , 対称点または対称軸,options)

プロットデータの鏡映を作成

説明

プロットデータを指定された点または軸に関して対称移動する。
対称点は座標または,点の識別名。ただし,対称点を座標で示すときは要素がひとつのリストにする。
対称軸はリスト [ 点 1, 点 2 ] で指定。

【例】y=x3y=x^3とその逆関数を描く

Displayed

クリックで拡大

【例】y=x2y=x^2とそれを点対称移動させたグラフを描く

Displayed

クリックで拡大

Rotatedata(name , プロットデータ ,角度 , [中心 , options])

プロットデータの位置を回転する

説明

図形を,中心で示された点の周りに回転する。角度は弧度法で与える
中心と options はまとめてリストで与える。

【例】y=sinx y=\sin x のグラフを 90度回転する

Displayed

クリックで拡大

Scaledata(name , プロットデータ,x 方向比率 , y 方向比率 , [中心 , options])

図形の位置を拡大・縮小する

説明

図形の位置をプロットデータを用いて指定された比率で拡大・縮小する
比率は [x 方向比率 , y 方向比率] のリストで与えてもよい。
中心と options はまとめてリストで与える。options は線種

【例】y=sinx y=\sin x のグラフを x軸方向に0.5倍にする。

Displayed

クリックで拡大

warning

元の図形が拡大縮小されるので、グラフなどNE-WSの範囲しか描画されないものの場合、その範囲からの縮小となる。

Translatedata(name , プロットデータ , 移動ベクトル , options)

プロットデータを平行移動する

説明

プロットデータを移動ベクトルで示された分だけ平行移動する。

【例】y=x2y=x^2とそれをxx軸方向に2,yy軸方向に3移動させたものを描く。

Displayed

クリックで拡大

Intersectcrvs(プロットデータ 1, プロットデータ 2)

2 曲線の交点リストを取得する。

説明

オプションとして,共有点があるかどうかを判断するための限界値があるが,通常は使わない。

Displayed

クリックで拡大

Intersectcrvspp(プロットデータ 1, プロットデータ 2)

2 曲線の交点のパラメータリストを取得する。

説明

2 曲線の交点の座標とパラメータのリストを返す。
Intersectcrvs() との違いは,パラメータがあるかどうかである。
Intersectcrvsの例をIntersectcrvsppに変更し、リストをコンソールに表示すると、

[[[-1,1],9,8],[[2,4],15,14]]

と表示される。

Intersectcurves,Intersectcurvespp

2 曲線の交点リストを取得する。接点があるとき,時間はかかるがより精密な値を返す。
引数はIntersectcrvs,Intersectctvsppと同じ。

Nearestpt(PD1,PD2)

2 曲線に対し,最も近い点とそのパラメータ,距離のリストを返す

説明

戻り値は,それぞれの曲線上の点の座標とプロットデータ中の位置,その距離からなるリスト。

info

想定通りに動かないため保留

Nearestptcrv(座標, プロットデータ)

点に最も近いプロットデータの点を求める

説明

第1引数の座標に最も近い曲線プロットデータ上の点の座標を返す。

【例】

Paramoncrv(点の座標, 曲線の名前)

曲線上の点のパラメータ値を返す。

説明

曲線は折れ線として描かれ,曲線上の各点はこの折れ線の節点を基準としたパラメータ値を持つ。パラメータ値は整数部分が節点の番号,小数部分が節間の位置を表す。 【例】

Pointoncrv(点のパラメータ値, PD)

曲線上のパラメータ値を持つ点の座標を返す。

説明

曲線(折れ線)上の節点を基準としたパラメータ値により点の位置が定まる。

Ptcrv(n, プロットデータ)

曲線プロットデータの n 番目の節点を返す

説明

Cindyscript の PD_n と同じ

【例】六角形の一部の辺だけ太くする

Displayed

クリックで拡大

Ptstart(プロットデータ) , Ptend(プロットデータ)

プロットデータの最初の点,最後の点を取得する。

説明

プロットデータの最初の点,最後の点の座標を返す。

ReadOutData(ファイル名)

外部データをプロットデータとして読み込む

説明

Extractdata参照。

Readcsv(path,filename,option)

csv ファイルを読む。

引数

  • path - ディレクトリ
  • filename - ファイル名

返り値

<list>(2次元配列)

【例】以下のファイルを読み込む

1,2,3,4
5,6,7,8

出力結果

[[1,2,3,4],[5,6,7,8]]

Readlines(path,filename,option)

テキストファイルを 1 行ずつ読む。

引数

  • path - ディレクトリ
  • filename - ファイル名

返り値

<list>

【例】以下のファイルを読み込む

abcde
fghij

出力結果

[abcde,fghij]

WriteOutData(ファイル名,PD リスト)

外部データに書き出す

【例】x^2のプロットデータを外部ファイルに書き込む

./fig/gr1.txtに以下のようなファイルが生成される

gr1//
start//
[[-2.5,6.25],[-2.475,6.12563],[-2.45,6.0025],[-2.425,5.88062],[-2.4,5.76],[-2.375,5.64062]]//
(中略)
[[2.325,5.40563],[2.35,5.5225],[2.375,5.64062],[2.4,5.76],[2.425,5.88062],[2.45,6.0025]]//
[[2.475,6.12562],[2.5,6.25]]//

Extractdata(データ名, 属性)

ReadOutData() で読み込んだデータに属性をつける。

【例】WriteOutDataの説明で書き出したファイルを読み込んでdr,2属性をつける

Displayed

クリックで拡大