Skip to main content

曲線

Bezier(名前,節点リスト,制御点リスト,[オプション] )

ベジェ曲線を描く

説明

制御点は,各区間に対して,3 次の場合 2 個,2 次の場合 1 個のリストで与える。 オプションは "Num=n": 節点間の分割数(分点数 −1)を指定できる。 ベジェ曲線とスプライン曲線の関数は節点間が短 い場合が多いので初期設定は 10 になっている。Plotdata() などと違い,大きい数(200 など)を指定すると, 全体の分割数が増大して描画時間がかかるようになってしまうので注意。

Displayed

クリックで拡大

その他の例

  1. 3次ベジェ曲線
  2. 節点を増やす。2次と3次。
  3. 全て同じ次数の場合
  4. オプションの例

Bezier("2",[A,B],[C,D]);

Beziersmooth(名前,節点リスト,[オプション] )

節点間を 3 次ベジェ曲線でスムーズに結んだ曲線を描く

説明

節点をはさむ制御点は1直線上にとる(したがって,1つは半自由点で,直線上しか動けない)。制御点は自動的に配置される。その後,節点や制御点を動かして,描きたいものにする。

Beziersym(名前,節点リスト,[オプション] )

節点間を 3 次ベジェ曲線でスムーズに結んだ曲線を描く

説明

節点をはさむ制御点は節点に関し対称(片方は表示されず,動かせない)。制御点は自動的に配置される。その後,節点や制御点を動かして描きたいものにする。

note

前述の二つの関数について、動作がリファレンスと異なるため保留

Mkbeziercrv(名前, [節点リスト, 制御点リスト] のリスト,options )

複数のベジェ曲線を描く

説明

[節点リスト, 制御点リスト] が1つの場合は,Bezier() と同じ。

Displayed

クリックで拡大

Mkbezierptcrv(節点リスト ptlist,[オプション] )

ベジェ曲線を描く

説明

制御点は,自動的に配置される。
複数の場合は [ ptlist1, ptlist2.... ] 名前は,A から順に自動的につける。
オプション
"Deg=..." 次数指定ができる。(初期設定は 3 次)
"Num=..." 各区間の区間数(分点数 −1)を指定できる。(初期設定は 10)

その他の例

  1. 2次にする。
  2. 複数の場合

Mkbezierptcrv([A,B,C],["Deg=2"]);

Bspline(名前,制御点リスト,[オプション] )

2 次 B-spline 曲線を描く

説明

節点は自動的に計算され,表示されない

【例】Bspline("1",[A,B,C,D,E])
これは, Bezier("1",[A,(B+C)/2,(C+D)/2,E],[B,C,D]) と同じ。曲線の名前が bz1 ではなく bzb1 となる。
通常の B-spline 曲線の端の制御点の代わりに,端点を動かせるようにしている。

【例】Bspline("1",[A,B,C,D,A]); リストの最初と最後が同じ場合は閉曲線になる。
Bezier("1",[(D+A)/2,(A+B)/2,(B+C)/2,(C+D)/2,(D+A)/2],[A,B,C,D]);と同じ。

CRspline(名前,節点リスト,[オプション] )

単独の Catmull-Rom スプライン曲線を描く

説明

自由点は,節点のみで,制御点は節点から作られ移動はできない。
オプションに,通常のオプションのほか,次が使える。
size ->n:画面上での線の太さを指定する。

【例】CRspline("1",[A,B,C,D]);

Ospline(名前,制御点リスト,[オプション] )

大島の spline 曲線を描く

説明

制御点を通るスプライン曲線を描く リストの最初と最後が同じ場合は閉曲線になる。

Circledata(name, リスト,options)

円または多角形を描く。

説明

中心の点と,円周上の 1 点(か半径),または 3 点をリストで与えて円を描く。
中心と円周上の点を,座標ではなく幾何要素名で指定する場合は name は省略可。
options は以下のものをリストで与える。省略した場合は実線で円が描かれる。
"Rng=[θ1, θ2]"θ1\theta_1 から θ2\theta_2 の範囲の弧を描く。角は弧度法で与える。
"Num=分割数" 円を描くときの分割数。値が小さい場合は多角形になる。
線種 "dr, n", "da,m,n" , "do,m,n"

【例】いろいろな円を描く。

Displayed

クリックで拡大

その他の例

  1. A 中心,半径 AB の円
  2. A 中心,半径 2 の円
  3. 点 A,B,C を通る円

Circledata([A,B]);

Circledata([A,B,C]); で,3 点 A,B,C を通る円を描いたとき,できた円の中心は Pointdata("1",[crABCcenter]); で作図できる。

扇形を描く

A 中心,半径 AB,中心角 60°の弧を描く。

Displayed

クリックで拡大

  1. A 中心,半径 AB,中心角 60°の扇型を描く。点 A,B,C を適当に取っておく。
  2. 弧を太く描く
  3. A 中心,半径 AB の円と,その円に内接する正六角形

Circledata([A,B],["Rng=[0,pi/3]"]);

Mkcircles()

すべての幾何円の PD を作成

説明

Cinderella の「円を加える」ツール(3 種類いずれでも)で描いたすべての円をそのままプロットデータとする。たとえば,中心 A,円周上の点を B とした円を作ると,プロットデータ crAB が作成される。その後,インスペクタで点 B の識別名を変更(たとえば Q に)すると,プロットデータ名も変更される。円はすでに描かれていてもよい。

Ellipseplot(name, 点リスト , 定義域, options)

焦点と通る点を与えて楕円を描く。
点リストで 2 つの焦点と通る点を与える。点は Cinderella の幾何点が使える。
また,通る点のかわりに,焦点からの距離の和を実数で与えることもできる。
実際には,媒介変数表示 x=acosθ,y=bsinθx = a \cos \theta, y = b \sin \thetaを,回転・平行移動して描いている。定義域はこのときの tt の定義域で,省略も可能。省略したときの初期値は [5,5][-5,5]

【例】点 A,B を焦点とする楕円を描く。

Displayed

クリックで拡大

Hyperbolaplot(name, 点リスト , 定義域, options)

焦点と通る点を与えて双曲線を描く。

説明

点リストで 2 つの焦点と通る点を与える。点は Cinderella の幾何点が使える。
また,通る点のかわりに,焦点からの距離の差を実数で与えることもできる。
実際には,ハイパボリック関数を用いた媒介変数表示 x=cosht,y=sinht x = \cosh t, y = \sinh t を回転・平行移動している。
option として,”Asy=線種”を与えると,漸近線を指定した線種で表示する。 初期設定では漸近線は非表示。

【例】点 A,B を焦点とする双曲線を描く。

Displayed

クリックで拡大

その他の例

  1. 焦点からの距離の差が 2 の双曲線を描く。
  2. 漸近線を点線で描く。

Hyperbolaplot("1",[A,B,2]);

Parabolaplot(name,点リスト , 定義域, options)

点リスト [A,B,C] で示された焦点,準線で決まる放物線を描く。

説明

焦点 A と準線 BC で決定する放物線を描く。 実際には,2 次関数 y=x2y = x^2 のグラフを回転・平行移動して描いており,定義域は,y=x2y = x^2 での定義域と考えてよい。定義域は省略することもできる。省略したときの初期値は [5,5][-5,5]

【例】点 A を焦点,直線 BC を準線とする放物線を描く

Displayed

クリックで拡大

Ovaldata(name, 点リスト,options)

角を丸くした矩形を描く

説明

中心と対角の1点を指定し,角を丸くした矩形を描く
options は,角の落とし具合と線種など。 初期設定は 0.2

Displayed

クリックで拡大