B コマンド

GeoGebraでは入力バーにコマンドを入力してオブジェクトを作ることができます。

Cinderella(SpaceCindy または SpaceCindyRay)ではすべてをCindyscriptの関数で行います。

円錐・円柱

GeoGebra

Cone[ <円>, <高さ> ] : 底面の円と高さを与えて円錐を描きます。

円はあらかじめ作図します。その円が c であるとします。Cone[c,4] と入力すると円錐が表示されるので,それでよければ。Enterで決定します。

円を描いておいて Cone[c,4]


Cone[ <点1>, <点2>, <半径> ] : 点1は底面の中心,点2は頂点,半径は底面の半径で円錐を描きます。

点は作図した点の名前または座標です。

Cone[ <点>, <ベクトル>, <角> ] : 頂点と方向ベクトル,開き角を与えて無限長の円錐を描きます。

たとえば,作図したベクトルCAが u のとき,頂点をBとして,Cone[B,u,pi/6] とすると次のようになります。ベクトルCAの名前uは数式ビューに表示されます。

Cylinder[ <円>, <高さ> ] : 底面の円と高さを与えて円柱を描きます。

円はあらかじめ作図します。その円が c であるとします。Cylinder[c,4] と入力すると円柱が表示されるので,それでよければ。Enterで決定します。

Cylinder[ <点1>, <点2>, <半径> ] : 点1は底面の中心,点2は頂点の中心,半径は底面の半径

例:Cylinder[A,B,2]

Cinderella

frustum(半径1, 半径2, 高さ , option) でワイヤフレーム,frustum(半径1, 半径2, 高さ , option) で面を塗った円錐を描きます。

半径1が上面,半径2が底面。半径1を0にすれば円錐になります。色や位置は option で指定します。デフォルトは底面の中心が原点です。右はSpaceCindyRayでの作例です。

frustum(0,1,2,[Red,"size=2"]); fillfrustum(0,1,2,[Red,"size=2"]);


上面の半径が0でなければ円錐台です。右図は Cindy3Dです。半径1と半径3が同じなら円柱です。

例:fillfrustum(1/2,1,2,[[0.8,0,0.8],"size=2","Rotate=[[0,0,0],[pi/6,0,0]]","Trans=[0,0,1/2]"]);

角錐・角柱

GeoGebra

Pyramid[ <点>, <点>,... ] : 与えられた点を頂点とする角錐を描きます。

最後の点が頂点になります。それ以前の点は同一平面上にあることが前提で,そうでない場合は多面体になります。

Pyramid[ <多角形, <点> ] : 与えられた多角形を底面,点を頂点とする角錐を描きます。

多角形はあらかじめ描いておきます。これが poly1 とすると,Pyramid[poly1,A] のようにします。

Pyramid[ <多角形, <高さ> ] : 与えられた多角形を底面とする,指定した高さの角錐を描きます。

多角形はあらかじめ描いておきます。これが poly1 とすると,Pyramid[poly1,3] のようにします。

Prism[ <点>, <点>,... ] : 与えられた点を頂点とする角柱を描きます。

最後の点が上面の1点になります。それ以前の点は底面で,同一平面上にあることが前提で,そうでない場合は多面体になります。

Prism[ <多角形, <点> ] : 与えられた多角形を底面,点を上面の1点とする角柱を描きます。

多角形はあらかじめ描いておきます。これが poly1 とすると,Prism[poly1,A] のようにします。

Prism[ <多角形, <高さ> ] : 与えられた多角形を底面とする,指定した高さの角錐を描きます。

多角形はあらかじめ描いておきます。これが poly1 とすると,Prism[poly1,3] のようにします。

Cinderella

底面が正多角形の場合は pyramid(数, 半径1, 半径2, 高さ,option) で描けます。半径1を0にすると角錐,半径1と半径2が同じなら角柱です。それぞれ,指定した半径に内接する正多角形になります。面に色を塗る場合は fill をつけます。

底面が正多角形でない場合は,頂点リストと面リストを作れば,polyhedron(頂点リスト, 面リスト,option) で描けます。面に色を塗る場合は fill をつけます。

多面体

立方体

GeoGebra

Cube[ <点1>, <点2>, <方向> ] : 底面の2点と方向を与えて立方体を描きます。

方向は,ベクトル,線分,直線,2点を結ぶ線分に平行な平面,多角形などで指定できます。

Cube[ <点1>, <点2>, <点3> ] : 底面の3点を与えて立方体を描きます。

Cube[ <点1>, <点2> ] : 底面の2点を与えて立方体を描きます。

まず,2点A,Bをとります。これと,ベクトルCDを用意したとしましょう。数式ビューにベクトルはuで表されていることが表示されます。

入力バーに Cube[A,B] まで入力すると,2点が与えられたと解釈して立方体が描かれます。(次図左)

さらに,Cube[A,B,u] まで入力すると,ベクトルCD 方向に変わります。(次図右)

ただし,ここで,ベクトルCDは何でもよいわけではなく,線分ABに垂直な平面(あるいはそれに平行な平面)内のベクトルです。


CDをベクトルではなく線分や直線にした場合,作図順で方向が決まります。C,Dの順にクリックしたならベクトルCDと同じになるわけです。

Cinderella

Cinderellaで立方体を描く方法はいくつかあります。

rpolyhedron(面数,半径,option) : 面数を6にします。与えられた半径の球面に内接する立方体です。

1辺を2にしたい場合は,半径を sqrt(3) にします。

pyramid(数,半径1,半径2,option) : 与えられた半径に内接する正多角形を底面とする角錐台です。

数を4,半径1と半径2を同じにして,高さを√2倍すれば立方体になります。

convexhedron(頂点リスト,倍率) : 8つの頂点の座標をリストにします。倍率で拡大します。

面の色を塗るには,それぞれ,先頭に fill をつけます。色や傾き,位置などはoptionで指定します。

例:rfillpolyhedron(6,2);

fillpyramid(4,1,1,sqrt(2)); (下図)

fillconvexhedron([[0,0,0],[1,0,0],[1,1,0],[0,1,0],[0,0,1],[1,0,1],[1,1,1],[0,1,1]],1);

正四面体

GeoGebra

Tetrahedron[ <点1>, <点2>, <方向> ] : 底面の2点と方向を与えて正四面体を描きます。

Tetrahedron[ <点1>, <点2>, <点3> ] : 底面の3点を与えて正四面体を描きます。

Tetrahedron[ <点1>, <点2> ] : 底面の2点を与えて正四面体を描きます。

立方体と同様です。

Cinderella

立方体と同様 rpolyhedron() か convexhedron() で描けます。pyramid() でも描けます。面の色を塗るには,それぞれ,先頭に fill をつけます。

rpolyhedron(面数,半径,option) : 面数を4にします。与えられた半径の球面に内接する正四面体です。

convexhedron(頂点リスト,倍率) : 4個の頂点の座標をリストにします。倍率で拡大します。

正八面体

GeoGebra

Octahedron[ <点1>, <点2>, <方向> ] : 底面の2点と方向を与えて正八面体を描きます。

方向は,ベクトル,線分,直線,2点を結ぶ線分に平行な平面,多角形などで指定できます。

Octahedron[ <点1>, <点2>, <点3> ] : 底面の3点を与えて正八面体を描きます。

Octahedron[ <点1>, <点2> ] : 底面の2点を与えて正八面体を描きます。

立方体と同様です。

Cinderella

立方体と同様 rpolyhedron() か convexhedron() で描けます。面の色を塗るには,それぞれ,先頭に fill をつけます。

rpolyhedron(面数,半径,option) : 面数を8にします。与えられた半径の球面に内接する立方体です。

convexhedron(頂点リスト,倍率) : 6個の頂点の座標をリストにします。倍率で拡大します。

正十二面体

GeoGebra

Dodecahedron[ <点1>, <点2>, <方向> ] : 底面の2点と方向を与えて正十二面体を描きます。

方向は,ベクトル,線分,直線,2点を結ぶ線分に平行な平面,多角形などで指定できます。

Dodecahedron[ <点1>, <点2>, <点3> ] : 底面の3点を与えて正十二面体を描きます。

Dodecahedron[ <点1>, <点2> ] : 底面の2点を与えて正十二面体を描きます。

立方体と同様です。

Cinderella

立方体と同様 rpolyhedron() か convexhedron() で描けますが,convexhedron() を使うのはあまり現実的ではないでしょう。

rpolyhedron(面数,半径,option) : 面数を12にします。与えられた半径の球面に内接する立方体です。

convexhedron(頂点リスト,倍率) : 20個の頂点の座標をリストにします。倍率で拡大します。

面の色を塗るには,それぞれ,先頭に fill をつけます。

正二十面体

GeoGebra

Icosahedron[ <点1>, <点2>, <方向> ] : 底面の2点と方向を与えて正二十面体を描きます。

方向は,ベクトル,線分,直線,2点を結ぶ線分に平行な平面,多角形などで指定できます。

Icosahedron[ <点1>, <点2>, <点3> ] : 底面の3点を与えて正二十面体を描きます。

Icosahedron[ <点1>, <点2> ] : 底面の2点を与えて正二十面体を描きます。

立方体と同様です。

Cinderella

立方体と同様 rpolyhedron() convexhedron(),fillrpolyhedron() fillconvexhedron() で描けます。

立体の底面,頂点などの情報を取得

GeoGebraには,描かれている円錐や円柱の底面の方程式や頂点の座標などを取得する関数があります。

Cinderellaには該当する関数はありません。

2次曲面の底面,頂点,側面積

たとえば,次のように円錐を描いたとしましょう。

Bottom[2次曲面] :底面の方程式を返します。en=Bottom[a] とすると,cと同じものが en としてできます。

Ends[2次曲面] :底面の方程式と頂点の座標を返します。上の例では cの方程式とBの座標です。

Side[2次曲面] :側面積を返します。上の例では b です。

Top[2次曲面] :頂点の座標を返します。

高さ

Height[立体] :2次曲面や多面体の高さを返します。

前項の例で,h=Height[a] とすると,hに円錐の高さが返されます。多面体でも同様です。

体積

Volume[立体] :立体の対席を返します。

前項の例で,v=Volume[a] とすると,vに円錐の体積が返されます。多面体でも同様です。

無限長の円錐・円柱

GeoGebraのコマンドです。Cinderellaには該当するものはありません。

無限長の円錐

InfiniteCone[ <点>, <ベクトル>, <角> ] : 頂点と方向ベクトル,開き角を与えて無限長の円錐を描きます。

Cone[ <点>, <ベクトル>, <角> ] と同じです。

InfiniteCone[ <点1>, <点2>, <角> ] : 頂点を点1,方向ベクトルを点1から点2として無限長の円錐を描きます。

InfiniteCone[ <点>, <直線>, <角> ] : 頂点と直線,開き角を与えて無限長の円錐を描きます。

例:点A,B,Cをとり,直線ABを作図して,これが f であるとします。

InfiniteCone[C,f,pi/6] で図のような無限長の円錐が描けます。

無限長の円柱

InfiniteCylinder[ <点>, <ベクトル>, <半径> ] : 点と方向ベクトル,断面の半径与えて無限長の円柱を描きます。

InfiniteCylinder[ <点1>, <点2>, <半径> ] : 方向ベクトルを点1から点2として無限長の円柱を描きます。

InfiniteCylinder[ <直線>, <半径> ] : 直線を中心線(軸)として無限長の円柱を描きます。

例:点A,B,Cをとり,直線ABを作図して,これが f であるとします。

InfiniteCylinder[C,f,2] で図のような無限長の円柱が描けます。

曲面の交線

GeoGebraでは,平面と2次曲面,2次曲面と2次曲面の交線の方程式を求めることができます。Cinderellaには該当する関数はありません。

IntersectConic[ <平面>, <2次曲面> ] : 平面と2次曲面の交線です。順序は逆でも結構です。

IntersectConic[ <2次曲面>, <2次曲面> ] : 2つの2次曲面の交線です。

例1 球面と平面の交線

球面と平面を描きます。球面がa,平面がbのとき, IntersectConic[a,b] で交線ができます。

例2 2つの球面の交線

交わる球面を2つ描きます。球面がa,bのとき, IntersectConic[a,b] で交線ができます。

平面

GeoGebraのコマンドです。Cinderellaでは,平面を描く領域をシステムで決定しないので,これらの関数はありません。

オブジェクトに平行な平面

Plane[ <点>, <点>, <点> ] : 3点で決まる平面

Plane[ <点>, <直線> ] : 点と直線で決まる平面

Plane[ <直線>, <直線>] : 2直線で決まる平面

Plane[ <点>, <平面> ] : 点を通り,第2引数の平面に平行な平面

Plane[ <多角形>] : 多角形が属する平面

Plane[ <円> ] : 円が属する平面

たとえば,円を作図し,数式ビューを見ると c となっているので Plane[c] とすると,円を含む平面が描かれます。

オブジェクトに垂直な平面

Plane[ <点>, <直線> ] : 点を通り直線に垂直な平面

Plane[ <点>, <ベクトル> ] : 点を通りベクトルに垂直な平面

二等分平面

PlaneBisector[ <点>, <直線> ] : 2点を分ける平面

PlaneBisector[ <線分> ] : 線分の二等分平面

線分は両端点で決まるので,同じ内容です。たとえば,点A,Bをとり,線分ABを作図したとき,線分を f とすると

PlaneBisector[f] でABを二等分する平面が描かれます。PlaneBisector[A,B] としても同じです。

球面

GeoGebra

Sphere[ <点>, <半径> ] : 中心と半径で決まる球面

Sphere[ <点>, <点> ] : 中心と通る点で決まる球面

Cinderella

drawsphere(中心,半径,option) : 中心と半径で決まる球面

SpaceCindy では,経緯線の入った球面,Cindy3Dではレイトレーシングで光を当てた球面が描かれます。


展開図

立体の展開図を描きます。GeoGebraだけのコマンドで,Cinderellaにはありません。

Net[ <多面体>, <数> ]

Net[ <多面体>, <数>, <面>, <辺>, <辺>・・・ ] : 面と辺を指定して,そこを基準に展開

多面体を展開します。数は0から1までで,0のときは展開せず,1のときは平面に展開します。

たとえば,正十二面体を描き,正十二面体が a とします。グラフィックスビューを表示してスライダを作り,値cをスライダで決めます。cの値はプロパティで0から1の値をとるようにします。入力バーに,Net[a,c] と入力すると,スライダで展開の様子をインタラクティブに変えることができます。

面と辺を指定するときは,Net[a,0.5,faceABFKJ,edgeFK] のようにします。

方程式と曲面

方程式を与えて曲面を描きます。

GeoGebra

Surface[ <xの式>, <yの式>, <zの式>, <変数1>, <定義域左>,<定義域右>, <変数2>, <定義域左>,<定義域右>・・・ ]

x,y,z を2つの媒介変数で表します。

Surface[ <関数>, <角>] x軸まわりの回転体を描きます。回転角は0から<角>まで。

Surface[ <曲線>, <角>,<直線>] 第3引数の直線まわりの回転体を描きます。回転角は0から<角>まで。

例1:トーラス

Surface[(R+r cos(u)) cos(v),(R+r cos(u)) sin(v),r sin(u),u,0,2 pi,v,0,2 pi] を入力バーに入力すると,媒介変数以外の変数 R,r があるので,スライダを作るかどうか聞いてきます。グラフィクスビューを開くとスライダができて,R,rを変更できます。

例2:サドル面

z=f(x,y) 形の場合も,x,y の2変数でzが表されているので同じようにできます。

Surface[x,y,x^2-y^2,x,-1,1 ,y,-1,1]

例3:回転体

Surface[sin(x),2*pi]

Cinderella

方程式の形により,使い分けます。

surface1(式リスト,範囲,option) : z=f(x,y) 型

surface2(式リスト,範囲,option) : z=f(x,y) ,x=x(r,t),y=y(r,t) 型

surface3(式リスト,範囲,option) : x=x(u,v),y=y(u,v),z=z(u,v) 型

surface4(式リスト,範囲,option) : x=x(u,v),y=y(u,v),z=z(u,v) 型 をサーフェスモデルで描く

メッシュ密度や色塗りはoption。optionがない場合はワイヤフレームモデル。

例:サドル面

surface1("x^2-y^2",[[-1,1],[-1,1]],["Mesh=[6,4]","Surface=1","Alpha=[1,0.1]"]);

例:トーラス

surface4(["(2+cos(u))*cos(v)","(2+cos(u))*sin(v)","sin(u)"],[[0,2*pi],[0,2*pi]],[Blue,"Mesh=[20,20]"]);