| 図形, グラフが簡単に描ける 描かれた図形の移動, 変形も容易 パラメタに依存するグラフが書け … | (要修復)ToggleButton・RollPolygonWithoutSlipping・貯金時計・直感力トレーニング, 任意の点を通る、関数グラフの接線を、すべて取得して、リストオブジェクトとして返す方法を紹介する。, GeoGebraで描けるオブジェクトの中でも、かなり設計が難しい部類に入ると思われる。, この記事は、GeoGebra バージョン 6.0.536.0-w を前提にしている。現時点では、接線を返すコマンド「Tangent」は、関数グラフ上にない点から、関数グラフへ接線を引く機能を持たない。, この事実を知ったのは、Hydrophobic Hyperbola様「接線の本数」というアプレットである。ここに記し、感謝申し上げる。, を作成し、Tangentコマンドを実行すれば、任意の点から関数 f に、いくつかの接線を引くことができる。, 3次関数くらいなら、こちらの方法で十分対応可能である。複雑な関数(たとえば、cos(2x)sin(x) )を扱うと、接線の返し漏れが生じる場合もあるようだ。, 関数f、点Aを所与として、点Aを通る関数fの接線のリストは、GeoGebraでは以下のように表せる。, Unique[Zip[Tangent[s, f], s, Unique[Join[{{Intersect[f(x) + f'(x) (x(A) - x) - y(A), x - x, x(Corner[1]), x(Corner[2])]}, KeepIf[f(x(s)) + f'(x(s)) (x(A) - x(s)) - y(A) ≟ 0, s, {Intersect[Derivative[f(x) + f'(x) (x(A) - x) - y(A)], x - x, x(Corner[1]), x(Corner[2])]}]}]]]], すると、gの定義上、g(x) = 0 を満たすxの値は、点Aからfのグラフに接線を引いた場合の、(各)接点のx座標と一致する。, ところで、gのグラフとx軸との交点のリストは、GeoGebraでは以下のように表せる。, {Intersect[g, x - x, x(Corner[1]), x(Corner[2])]}, と書いても、gのグラフとx軸との交点を、1つしか返してくれない。せめて画面(グラフィックスビュー)上に見えている交点は、すべて返してほしいものである。つまり、せいぜい, を使う。これを使えば、区間内の全ての交点を返してくれる。問題は、第二引数で、「x軸」を、いかにしてxの関数としてGeoGebraに認識させるかである。, {Intersect[g, y=0, x(Corner[1]), x(Corner[2])]}, では、構文エラーとなる。GeoGebraが、第二引数y=0を、xの関数とは認識してくれないからである。うまくいくのは、, である。これによって、gのグラフとx軸との交点のリストを得られる。このリストをlistGとしよう。, で、f上の点( x(P), f( x(P) ) )におけるfの接線を得られることを利用している。Zipコマンドについての解説は省く(公式マニュアル参照)。, 以上が基本的なアイデアだが、話はこれだけでは済まない。GeoGebraの細かい仕様に対応しなければならない。, は、関数gとx軸が(交わらず)接するだけのとき、その接点を返してくれない。しかし、これもg(x) = 0を満たす以上、無視できない。そこで、いったん、gの導関数g'と、x軸との交点リストlistG'を作る。その定義は以下のとおりである。, {Intersect[g', x - x, x(Corner[1]), x(Corner[2])]}, によって、listG'の要素のうち、gとx軸との接点のみを抽出する。これで、Intersectコマンドが返し漏らした、gとx軸との接点のリストを得ることができた(このリストを、listGTangentとしよう)。, のうち、listGの部分を、Join[{listG, listGTangent}]に置き換える。これで、返し漏らしを回収できる。, Zip[Tangent[s, f], s, Join[{listG, listGTangent}]], 以上の処理をすべてネストしたものが、「構文」の項で紹介した定義である。なお、当該定義においては、重複を削除するUniqueコマンドを入れている。, ※これでもまだ、Intersectのデリケートな仕様に完璧に対応できているわけではない。したがって、予期せず描画の厳密性を欠く場合があるかもしれない。あくまで参考程度の描画方法と考えて頂きたい。, Twitterでは、ブログ更新情報をお知らせしています。 Sign in|Recent Site Activity|Report Abuse|Print Page|Powered By Google Sites, GeoGebraでは,作図ツールがグループ化されています。これは,CabriII と同様です。これに対し,Cinderellaではすべてが表示されています。そのため, GeoGebra:ツールバーがすっきりしている。そのかわり,目的のツールがどこにあるか覚えないと非能率。, Cinderella:ツールバーがごちゃごちゃしている。そのかわり,目的のツールが比較的すぐ見つかる。, 点には「自由点」「従属点」の2種類があります。「従属点」は,他の幾何要素に依存する点で,たとえば,2曲線の交点が従属点です。GeoGebraでは,これを「自由度0の点」と表現しています。, 点がある曲線上だけを動かせる場合,これを「インシデント」といいます。GeoGebraでは,「自由度1」と表現しています。, インシデントの状態にある点は,GeoGebraでは薄青,Cinderellaでは自由点と同じ赤,, GeoGebraでは「点」ツール,Cinderellaでは「点を加える」ツールで任意の場所に点を作ることができます。このとき, 交点を取るときは,その近くでマウスボタンを押し,交点上でマウスボタンを離すのが確実な方法です。このとき,Cinderellaでは,点が交点上に吸い寄せられるようになります。(スナップという)GeoGebraでも同じような動作になります。, 2つの直線や曲線の交点は,前述の方法の他,GeoGebraでは点ツールのグループから「2つのオブジェクトの交点」を,Cinderellaでは「2つの曲線の交点を求める」ツールを選んでとることができます。, 点を移動するには,GeoGebraでは「移動」ツール,Cinderellaでは「要素を動かす」ツールを選んでおいて,点をドラッグします。, これらのツールは,標準状態 と考え,何か作図したあとはこのモードにしておく習慣をつけましょう。そうでないと,画面上をうっかりクリックして余分な点を作ることになりかねません。, 関数のグラフの零点(x軸との交点)極大点,極小点,変曲点を作ります。GeoGebraには 極値にExtremum,零点にRoots というツールがあります。Cinderellaには,Cindyscriptのグラフを描く関数 plot() に zeros->true,extrema->true,inflections->true という修飾子(オプション)をつけます。, 点のツールボックス(次節参照)にある「複素数」ツールを選んでグラフィックスビューでクリックすると,複素数平面での点がとられます。これについては,「応用」ー「オブジェクトの入力」ー「複素数」を参照してください。, GeoGebraのツールはグループ化されているので,各アイコンの左下をクリックすることで,その中のツール群を表示するメニューが現れます。この中からどれかを選ぶと,ツールアイコンはそのツールのものに変わります。, 直線と線分は,GeoGebra,Cinderellaとも同じようなツールで描画します。, なお,作図するとき,GeoGebraでは「クリックしてマウスを移動しクリック」でも「ドラッグ」でも描けますが,Cinderellaでは「ドラッグ」だけです。, Cinderellaだけにあります。ある点でマウスボタンを押し,ドラッグして直線の傾きを決めてボタンを離すと直線が描かれます。1点だけなので,その点を移動すると,傾きを保持したまま直線が移動します。, GeoGebraだけにあります。これで線分を描くと,始点(描き始めの点)を移動すると線分全体が移動し,終点を移動すると,線分の長さが一定のまま傾きが変わります。, Cinderellaでこれと同じ線分を描くには,「固定した半径の円を加える」で円を描き,半径を作図して,円を非表示にします。, GeoGebraには接線を引くツールがありますが,Cinderellaにはありません。しかしCinderellaでも接線が引けます。, GeoGebra,Cinderellaとも同じようなツールがあります。GeoGebraのガイドは少しわかりにくいですが,Cinderellaと同様で,はじめに軌跡を描きたい点,次に動かす点をクリックします。GeoGebraでは逆順に指定しても大丈夫です。, GeoGebra : クリックを繰り返し,はじめに点に戻ってクリックします。このとき,クリックしたところに点がなければ,新たに点を作ります。, 円と弧の描画は両者でよく似ています。描画手順もほぼ同じですが,描画後の動作が異なります。, Cinderella : 円周のドラッグで半径が変わります。GeoGebraにはこの機能はありません。, ・固定した半径の円 : Cinderellaだけにあります。半径はインスペクタで入力します。, ・コンパス : 2点をクリックして,その間の距離を半径とし,任意の場所でクリックして円を描きます。, ・扇形 : GeoGebraだけにあります。Cinderellaで同様の作図をするにはCindyscriptでプログラムを書きます。, GeoGebraだけにあります。ある2点(線分であってもなくても)に対し,指定した角度にある点を作図します。つまり,指定した角度になる2直線(線分)を簡単に描くことができます。, 下図のようにとって,このあとAB,AB'を作図すればよいわけです。もちろん,もともとABが線分または直線であっても構いません。, Cinderellaで同じことをするには,Cindyscriptで第3の点の位置を決めます。. 4.11 最良近似直線; 4 ... GeoGebraには接線を引くツールがありますが,Cinderellaにはありません。しかしCinderellaでも接線が引けます。 GeoGebra : 点と円または2次曲線を順にクリックすると接線が引かれます。 点が曲線上にあればその点での接線,曲線外なら,その点を通る接線です。 Cinderella : 2 マニュアル. C.xy=gauss((z2-z1)*(cos(45°)+i*sin(45°))+z1); 距離と面積は両者でほとんど同じです。直線の傾きの表示はCinderellaにはありません。, 幾何変換です。これについては,GeoGebraとCinderellaではかなり様相が異なります。, GeoGebra : 直線に関する鏡映,点に関する鏡映,円に関する鏡映,点の周りに回転,平行移動,, Cinderellaにはツールが一つしかありませんが,これで,直線・点・円に関する鏡映がどれでもできます。はじめに「鏡になるもの」を選ぶので,それが直線か点か円かで,どの鏡映かが決まるのです。, Cinderellaにはさらに,「モードメニュー」に「変換」があり,この中に,回転,平行移動,アフィン変換,相似変換,射影変換,メビウス変換などがあり,さらにこれらの逆変換や合成変換を定義することができます。, どちらにも似たようなアイコンで,元に戻す(Undo),やりなおす(Redo)ができます。, GeoGebraでは点ツールのグループから「中点または中心」を,Cinderellaでは「中点を加える」ツールを選んでとることができます。, ツールを選んだあと,単に点をとるときはふたたびツールボックスを開かなくてはなりません。, Cinderellaではツールを選択するとガイドライン(ツールバーのすぐ下)にガイドが表示されます。, GeoGebraでは,ツールバー右端にある?アイコンでオンラインヘルプが表示されます。オンラインですので,インターネットにつながっていないと表示されません。また,英語です。, Cinderellaでは,ヘルプメニューで「この場所のヘルプ」を選ぶと,ブラウザが開いてCinderellaのDocument (, マニュアル)から該当箇所が表示されます。これはオフラインなので,いつでも参照できます。, 「クリックしてマウスを移動しクリック」を繰り返し,最後にスタートの点をクリックします。, Cinderellaで同じことをするには,線分を加えるツールで「ドラッグして離す」を繰り返せばよいです。最後にスタートの点をクリックする必要はありません。, GeoGebraにあるツールです。Cinderellaではインスペクタを開き,「特別な表示方法」で矢線にします。, すでに1つのベクトルとそれ以外の点が描かれているとき,そのベクトルと同じベクトル(平行で同じ長さ)を,その点を始点として描きます。, Cinderellaで同じことを行うには,コンパスで同じ長さの半径を持つ円を描き,次に平行線ツールでそのベクトルに平行で円の中心を通る直線を描き,これを利用して円の半径を描きます。補助線(円と平行線)は非表示にしておきます。, GeoGebra,Cinderellaとも同じようなアイコンのツールですが,操作方法が異なります。, GeoGebra : 通る点をクリックし,次に直線(線分)をクリックします。逆でもかまいません。, GeoGebraにあるツールです。Cinderellaにはないので,中点をとってから垂線を引きます。, GeoGebra : 3点を順にクリックすると,2番目にクリックしたところにできる角の二等分線を引きます。, Cinderella : 2つの線分または直線を順にクリックします。このとき,角のガイドが出るので,目的の方を選択します。, 曲線外にある点からの接線を引くには,まず点の極線を描いておいて,交点を結んだ直線を引きます。, GeoGebra,Cinderellaとも同じようなツールがあります。描き方も同じです。, 複数の点への距離の和が最小になる直線です。GeoGebraにはありますが,Cinderellaにはありません。Cinderellaで同じことを行うにはCindyscriptでプログラムを書く必要があり,ちょっと面倒です。, GeoGebra,Cinderellaとも同じようなアイコンのツールですが,でき方が少し異なります。, GeoGebra,Cinderellaとも正多角形を描くことができますが,方法が異なります。, GeoGebra : 1つの線分を1辺とする正多角形。辺の数はダイアログボックスに入力します。, 辺の数はドラッグで決めます。その他いくつかメニューがあります。星形(芒星形)もあります。, GeoGebra : 3点を順にクリックする方法。クリックする順序によって,180°より小さい角か大きい角かが決まります。, 2直線または線分をクリックする方法。ガイドが出て,どちらの角を測るかが簡単に決められます。. Angle at the Centre is Twice the Angle at the Circumference https://twitter.com/usi_desu, usiblogさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?, Powered by Hatena Blog GeoGebraを初めて使う人向けのマニュアルです。 必要な章をクリックして下さい。 すべてpdfファイルです。 ブログを報告する, 官長壽(Kuan Chang-Sou), Area_Parallelogram-1. GeoGebra.. GeoGebra = Geometry (幾何) + Algebra (代数)幾何, 代数微積分を結びつけた数学ソフトウェア 学校で使うことを目的に作られている Java さえインストールされていれば, ウェブから簡単 に起動できる. (要修復)ToggleButton・RollPolygonWithoutSlipping・貯金時計・直感力トレーニング, ここでは、公式サイト(下記URL参照)で発表された新コマンドの概要を記す(新しい順)。, https://wiki.geogebra.org/en/Reference:Changelog_6.0, CASLoaded[ ](Ver 6.0.564.0〜):CASの読み込みが未了ならfalseを返し、完了したらtrueを返す。CASの読み込みは、グラフィックスビューの読み込みよりも遅れるので、グラフィックスビューにてCASでの計算結果を参照している場合には、重宝するコマンドになるだろう。, なお、本コマンドの戻り値に、On Update スクリプトを記述すると、ggbOnInit 関数のように、起動時のスクリプト発火の手段として利用できる。, LambertW( <数値>, <0または-1> )(新たな定義済み関数、Ver 6.0.517.0〜):ランベルトのW関数, ※ 2番目の引数として0を指定したとき、または2番目の引数を指定しなかったときは、主枝W0を計算する。-1を指定したときは、分枝W−1を計算する。, ReadText[ <テキスト> ](Ver 6.0.516.0〜):VoiceOver等のスクリーンリーダーに、指定のテキストを読み上げるよう指令を出す。, SetDecoration[ <線分または角>, <整数1〜7> ](Ver 6.0.475.0〜):線分または角オブジェクトの装飾を編集する。, Assume[ <条件>, <数式> ](Ver 6.0.468.0〜):指定した条件のもとで数式を評価する。CAS専用コマンド。, 例)Assume[ a > 0, Integral[ exp(-a x), 0, infinity ] ]は、1 / aを返す。, MAD[ <数値のリスト> ](Ver 6.0.466.0〜):データの平均偏差(Mean Absolute Deviation)を返す。, MAD[ <数値のリスト>, <度数のリスト> ]は、加重平均偏差(Weighted Mean Absolute Deviation)を返す。, IsTangent[ <直線>, <二次曲線> ](Ver 6.0.452.0〜):直線が二次曲線の接線であるか否かを、ブーリアンで返す。, InteriorAngles[ <多角形> ](Ver 6.0.433.0〜):多角形のすべての内角を角度オブジェクトとして返す。, ※ { InteriorAngles[ <多角形> ] }とすれば、角度のリストとして返すことができる。, ExportImage[ <プロパティ>, <値>, <プロパティ>, <値>, ... ](Ver 6.0.426.0〜):現在のビューを画像として出力する。引数については、公式サイト参照。, Tangent[ <2次曲線>, <2次曲線> ] (新たな引数の追加、Ver 6.0.370.0〜):2つの二次曲線の共通の接線をすべて返す。, Surface[ <曲線>, <角度>, <直線> ](新たな引数の追加、Ver 5.0.268.0〜):曲線を直線を軸に指定した角度だけ回転させてできる曲面を返す。, ・アニメーションで動かしたいオブジェクトは固定しない。固定すると、オブジェクトが動かなくなる。, ・アップロード時に「高度な設定」として、ズーム・再描画機能の有無など詳細なオプションを設定できるので、忘れずに設定する。, 入力ボックスにリンクするオブジェクトを、あらかじめ作成しておくと、スムーズに作成できる。, ボックスを移動するには、固定を解除してラベルをドラッグするか、右ドラッグする(右ドラッグは、固定されていても移動可能であり便利である)。, 入力バーの右端にある三角形のボタンを押すと、入力できるコマンドのひな形を呼び出すことができる。, 複数の点をいっぺんに選択した状態で、選択された1点をドラッグすると、他の選択された点もついてくる。, CompleteSquare[xの2次関数]:平方完成された形で返す。※CASなら分数のまま返せます。, Relation[オブジェクト, オブジェクト]:2つのオブジェクトの関係をメッセージウインドウで返す。垂直、平行、面積や長さが同じかどうか、ある点が直線や楕円曲線上にあるかどうか。, SetCoords[自由なオブジェクトの名前, x座標にしたい数値, y座標にしたい数値]:自由なオブジェクトのx座標、y座標を再設定する。, BinomialCoefficient[数値a, 数値b]:二項係数aCbを返す。, TaylorPolynomial[関数, 数値a, 数値n]:関数の、点x=aにおけるn次の級数展開を作成する。, FormulaText[オブジェクト, false(任意)]:オブジェクトの数式を、Texテキストとして生成する。「false」を入れた場合は、数式内に変数があるとき、変数に数値を代入せず、文字のまま表示できる。, ※CASの計算結果をTexテキストとして出力したい場合、CASの計算結果の部分をグラフィックスビューへドラッグするか、CASのn行目の計算結果を出力したいとして、FormulaText[$n]を実行すればよい。CASの計算過程に変数が含まれている場合は、こうして生成したテキストの内容も、変数の値に応じて変化する。, Text[オブジェクト, false(任意)]:オブジェクトの数式を、テキストオブジェクトとして生成する。「false」を入れた場合は、数式内に変数があるとき、変数に数値を代入せず、文字のまま表示できる。, ※FractionText[数値]は、数値の(おおまかな)分数表示をテキストとして生成するものです。正確な値ではないので、分数表示が知りたい場合はCASを使ってください。, Name[オブジェクト]:オブジェクトの名前をテキストとして返す。名前があとあと変更されても自動更新されるので、テキスト内にオブジェクト名を記述したいときに便利。, Object["テキスト名" + 数値(任意)]:指定したテキストを名前にもつオブジェクトを返す。「+数値」を入力した場合は、当該数値までを含めた名前のオブジェクトを返す。, ※使い方としては、点A_1〜A_5までがあったとして、5までの自然数であるスライダーnを動かすことで、Object["A_" + n]は、nの値にしたがって、A_1〜A_5を順に表示していく。それぞれの点の座標に規則性がなかったとしても、オブジェクトの名前を数字の順につけておけば、スライダーを動かして順に表示することができる。nを「○○の場合」と見立てて、画面をがらりと変えることなんかが可能になる(しかしながら、各オブジェクトの表示条件にn=数値を指定した方が早い)。, Text["文字列", 点]:指定した点上にテキストを配置する。テキストの左下付近に点がくる感じになります。点はオブジェクト名でも座標でもよい。, Locus[点Q, 点P]:(あるオブジェクトに従属している)点Pに従属している点Qの軌跡を返す。, Corner[数値1〜4]:グラフィックスビューの隅の点を返す。1左下、2右下、3右上、4左上。, Corner[画像またはテキスト、数値1〜4]:画像またはテキストの隅の点を返す。1左下、2右下、3右上、4左上。, 応用例:text1を作成したのち、Circle[Corner[text1,1],Corner[text1,2],Corner[text1,3]]と入力すると、テキストを○で囲めます。, CenterView[点]:指定した点がグラフィックスビューの中心になるように画面を移動する。, CommonDenominator[xの分数式,xの分数式]:2つのxの分数式にそれぞれ掛けることで、両方の分母が払えるようなxの文字式のうち最も次数の低いものを、xの関数の形で返す。, UpdateConstruction[ ]:すべてのオブジェクトを再計算する。乱数系コマンドは値が更新される。数値オブジェクトのコンテキストメニュー中の「スライダー」の項目で「乱数」にチェックを入れた場合も、このコマンドを実行することで、当該数値は更新される。[ ]内に自然数を入れると、その回数だけ再計算する。このコマンドを実行しても、残像は消えない。残像を消すにはZoomIn[1]を実行することが有効である。, SetConditionToShowObject[オブジェクト, 条件]:指定したオブジェクトの表示条件を指定する。コンテキストメニューの「オブジェクトの表示の条件」を編集するコマンドである。, ※SetConditionToShowObject[オブジェクト, false]とすれば、そのオブジェクトは非表示となる。SetVisibleInViewコマンドによる表示/非表示の切り替えよりも、細かい条件を指定できる点が優れている。, InflectionPoint[多項式]:多項式関数のすべての変曲点を、点として返す。, Polynomial[点のリスト]:グラフが指定した点を全て通るxの多項式関数を返す。, CFactor[式]:式を実部・虚部ともに有理数である複素数(ガウス有理数)の範囲で因数分解する。※CASのみ, LeftSide[xとyの等式]:入力した等式を、定数項のみを右辺にまとめた形に整えた後、その左辺のみを「多変数関数」オブジェクトとして返す。, RightSide[xとyの等式]:入力した等式を、定数項のみを右辺にまとめた形に整えた後、その右辺のみを「多変数関数」オブジェクトとして返す。, ※LeftSide, RIghtSideコマンドは、CASで実行する場合に限り、等式のリストに対して実行することができる(以下の記述はRightSideコマンドにも当てはまる)。, LeftSide[{等式1, 等式2, ...}]は、リスト{等式1を定数項のみを右辺にまとめた形で整理した場合の左辺, 等式2を同様に整理した場合の左辺, ...}を返す。, LeftSide[{等式1, 等式2, ...}, 要素の番号]は、指定した等式のリストのうち、指定した番号に相当する等式(リストの最初が1番であり、順に2,3,...と番号付けがされている)についてのみ、整理した左辺を返す。, ※たとえば、直線オブジェクトaに対して、LeftSide[a]>RightSide[a]は、直線の上側の領域を表す不等式オブジェクトである。これを用いて直線の上下の領域を定義することができる。ただし、このようにして作成した不等式は、再定義すると「他変数関数」オブジェクトに変わるバグや、当初x軸ともy軸とも平行でない直線に対して実行したのち、直線をx軸またはy軸に平行になるように動かすと、不等式オブジェクトが正しく表示されないバグが存在するので、注意が必要である。, Tangent[点, 関数]:x=(指定した点のx座標)における関数のグラフの接線, テキスト入力画面で「オブジェクト」を選択すると、選択したオブジェクトがもつ値(線分なら長さ、平面図形なら面積)を、テキストに埋め込むことができる。, 三角形「poly1」の面積が2以上であれば、「text1」をグラフィックスビューに表示する。そうでないときは、「text2」を表示する。, a<0ならば「aが負の値を取っています」というテキストを表示する。そうでない場合は「aは非負です」というテキストを表示する。, 「表示/非表示のチェックボックス」ボタン:on/offでオブジェクトの表示/非表示を切り替えられるチェックボックスを設置する。, オブジェクトのプロパティ「上級」タブでオブジェクトの表示/非表示の条件を入力する:指定した条件に沿って表示/非表示を切り替える。, としても、同様の結果が得られる。「f(x)=」の記述を省略することもできる。表示領域を指定した閉区間に限定するコマンド f(x)=Function[sin(x),-π,π]も使える。, x, <変数>, <開始値>, <終了値>]:一定の規則に従って、リストオブジェクトを作成する。, 例:Sequence[(i,0),i,-2,10]:点(-2,0), (-1,0), ..., (9,0), (10,0)を作成する。, ※こうして作った点列の1つ1つには、オブジェクトとしての命名はありません。もし、命名したいときは、polygon[リスト名]で多角形を作成して、vertex[多角形名]で、すべての点に点オブジェクトを割り当てることが出来ます(多角形を非表示にすれば点のみを表示できます)。, 例:Sequence[Polygon[( i/n, f(i/n) ), (i/n, 0), )( (i+1)/n, 0 ), ( (i+1)/n, f(i/n) )], i, 0, n-1]:区分求積法の、区間[0,1]におけるn個の長方形(下方)。, (図形の外側をなぞるように点のlistを細かくとって、必要に応じて複数のlistをUnion[ <リスト> ]で合わせて、Polygon[ <リスト> ]で多角形をつくればよい。), Sequence[Sequence[(a, b), a, 0, 5], b, 0, 6]:x座標0〜5, y座標0〜6の格子点を作成, 例:tが現在t=3で定義されているとして、SetValue[t, 10]は、tをt=10に変更する。, ※通常オブジェクトの表示/非表示には、数式ビューから行いますが、下記のコマンドで命令することもできます。, SetVisibleInView[ オブジェクト, 1 or 2, true or false ]:指定したオブジェクトを、グラフックスビュー1 or 2において、表示(true) or 非表示(false)にする。, ※このコマンドで非表示にしたオブジェクトは、数式ビューで表示/非表示を切り替えたとしても、表示されません。再表示するためには、このコマンドでtrueを命令しなければなりません。, 例:list1が{2,4,6,うし}で定義されていた場合、Element[list1, 2]は数値オブジェクト4を返し、Element[list1, 4]はテキストオブジェクト"うし"を返す。, Append[ <リスト>, <オブジェクト> ]:リストの末尾にオブジェクトを追加したリストを返す。, Append[ <オブジェクト>, <リスト> ]:リストの先頭にオブジェクトを追加したリストを返す。, ※Appendコマンドの戻り値は、引数に従属する。引数に従属しないリストを作成したい場合は、CopyFreeObjectコマンドを用いれば良い。, First[ <リスト> ]:リストの最初の要素を唯一の要素にもつ、新たなリストを返す。, ※リストの最初の要素自体を得たいときは、Element[ <リスト>, 1]を用いる。, 例:First[ {1, 2, 3, 4, 5} ]は、リスト{1}を返す。Element[ {1, 2, 3, 4, 5}, 1 ]は、数値オブジェクト1を返す。, First[ <リスト>, <要素の数n> ]:リストの要素のうち、最初からn番目までを要素にもつ、新たなリストを返す。, 例:First[ {1, 2, 3, 4, 5}, 3]は、リスト{1,2,3}を返す。, 例:Flatten[ { {1,2,3}, {4,5,6}, {7,8,9} } ]は、リスト{1,2,3,4,5,6,7,8,9}を返す。, 例:Sequence[Sequence[(s, t), s, 0, 3], t, 0, 2]は、格子点のリスト{ {(0, 0), (1, 0), (2, 0), (3, 0)}, {(0, 1), (1, 1), (2, 1), (3, 1)}, {(0, 2), (1, 2), (2, 2), (3, 2)} }を返す(このリストをlist1と呼ぶことにする)。しかし、このままでは、Elementコマンドを用いても、1つの格子点のみを参照することはできない。たとえば、Element[list1, 1]は、{(0, 0), (1, 0), (2, 0), (3, 0)}という4つの点のリストを返す。そこで、list2 = Flatten[list1]を新たに作れば、Elementコマンドで1つの格子点を参照できる。例えば、Element[list2, 1]は、点(0,0)を返す。, IndexOf[ <オブジェクト>, <リスト> ]:指定したオブジェクトの値が、リストのn番目の要素の値と、初めて一致するとき(すなわち、リストのn-1番目までのどの要素の値とも一致せず、かつ、n番目の要素の値と一致するとき)、数値nを返す。指定したオブジェクトの値が、リストのどの要素の値とも一致しない場合には、「未定義」を返す。, 例:IndexOf[ 7, {1, 7, 2, 4, 5, 6, 7} ]は、数値2を返す。なぜならば、リストの中で7が最初に出てくるのが、リストの2番目だからである。, ※一致・不一致の判定は、値ベースで行い、型は問わない。例えば、a=1, b=7, c=2, d=4, e=5, f=6, g=7として、list1 = {a,b,c,d,e,f,g}とする。このとき、IndexOf[ 7, list1 ]、IndexOf[ b, list1 ]は、ともに数値2を返す。, IndexOf[ <オブジェクト>, <リスト>, <検索開始位置k> ]:指定したオブジェクトの値と、リストの要素との値の一致・不一致を、リストのk番目の要素から最後まで調べていき、n番目で初めて一致したとき(すなわち、リストのk番目〜n-1番目までのどの要素の値とも一致せず、かつ、n番目の要素の値と一致するとき)、数値nを返す。指定したオブジェクトの値が、リストのk番目以降のどの要素の値とも一致しない場合には、「未定義」を返す。, 例:IndexOf[ 0, {1, 0, 2, 4, 5, 6, 0}, 3 ]は、数値7を返す。なぜならば、リストの3番目以降において、0が初めてリストに登場するのが、リストの7番目だからである。, Insert[ <オブジェクト>, <リスト>, <位置k> ]:リストのk番目に指定したオブジェクトを挿入した、新たなリストを返す。, 例:Insert[ 9, {1,2,3,4,5,6}, 3 ]の値は、{1,2,9,3,4,5,6}となる。, ※戻り値は引数に従属する。引数に従属しないリストを作成したい場合は、CopyFreeObjectコマンドを用いれば良い。例えば、a=9のとき、オブジェクト newList = Insert[ a, {1,2,3,4,5,6}, 3 ]の値は、{1,2,9,3,4,5,6}となる。しかし、a=8に変化させると、newListの値も、{1,2,8,3,4,5,6}に変化する。これに対して、a=9の状態で、newList = CopyFreeObject[ Insert[ a, {1,2,3,4,5,6}, 3 ] ]として作成すれば、newListの値は、その後aがどのように変化したとしても、{1,2,9,3,4,5,6}のまま変化しない。, ※kを負の整数にした場合には、挿入位置は、リストの右からk番目の位置となる。例えば、Insert[ 9, {1,2,3,4,5,6}, -3 ]の値は、{1,2,3,4,9,5,6}となる。, Insert[ <リストa>, <リストb>, <位置k> ]:リストbのk番目の位置に、リストaの要素を挿入した、新たなリストを返す。, 例:Insert[ {88,99}, {1,2,3,4,5,6}, 3 ]の値は、{1,2,88,99,3,4,5,6}となる。, ※{ 1, 2, {88,99}, 3, 4, 5, 6}とならない点に注意。Insertコマンドの1番目の引数がリストである場合と、そうでない場合とでは、挙動に違いがあるということである。, なお、Insert[ { {66,77}, {88,99} }, {1,2,3,4,5,6}, 3 ]の値は、{1, 2, {66,77}, {88,99}, 3, 4, 5, 6}となる。この場合には、1番目の引数がリストである場合として処理されるということである。, Gettime[ ]:このコマンドを、2016年3月12日(土)10時26分19.347秒に実行した場合、リストオブジェクト{347, 19, 26, 10, 12, 3, 2016, "3月", "土曜", 7}を返す。最後の7は、曜日を表す数字を返す。日曜日=1, 月曜日=2, ..., 土曜日=7。, ※このコマンドは、実行時に1回だけリストを生成しておしまいです。更新はされません。Gettime[ ]を複数回実行すると、その回数だけリストオブジェクトが増えていきます("特定の名前"=GetTime[ ] と書けば、リスト名を指定でき、同じ名前で生成すれば上書きされます。これによってリストの複数生成の問題は回避可能です)。, リアルタイムに時刻を表示する例は、下記の記事を参照してください。 この記事では、アニメーションの開始/停止を操作するStartAnimation[オブジェクト, 条件(任意)]コマンドにも触れています。, オブジェクトAもオブジェクトBも動かせて、一方を動かすと、他方も一定の規則に基づいて連動する、という機能をつけたい場合。On Updateスクリプトを活用しましょう。下記記事参照。, true, またはfalseと定義されるオブジェクトは、グラフィックスビューではチェックボックスとして表示されます。, アニメーションの停止、再生を操作する(官長壽(Kuan Chang-Sou), Area_Parallelogram-1参照), このように設定すれば、上記の点Aを、真偽値aがtrue(チェックボックスにチェックが入った状態)なら動かし、falseなら止めることができます。, 例:Translate[poly1, a]:a=(1,2)として、poly1をx軸方向に1、y軸方向に2平行移動する。, Classes[ <数値のリストs>, <開始値a>, <階級の幅b> ]:リスト{a, a+b, a+2b, ..., k}を返す。ただし、a > Max[ s ]とする(さもなくば、戻り値は「未定義」となる)。また、b>0とする(さもなくば、GeoGebraがクラッシュする)。kは、Max[ s ] <= a+n*b (ただしnは自然数)を満たす、最小のa+n*bである。, 例:Classes[ {0.1, 0.2, 1.3, 1.4, 1.5, 2.6, 3.7, 3.8}, 0, 1 ]は、リスト{0, 1, 2, 3, 4}を返す。, Classes[ <データのリストs>, <階級の数n> ]:n+1個の等差数列のリスト{m, m+k, m+2k, ..., M}を返す。ただし、M = Max[ s ], m = Min[ s ]とする。Classes[s, n]と、Sequence[Min[ s ] + i*(Max[ s ] - Min[ s ]) / n, i, 0, n]は、同値である。, 例:Classes[ {1, 1.2, 2.3, 2.4, 5}, 4 ]は、リスト{1, 2, 3, 4, 5}を返す。, ※Classesコマンドの用途としては、階級ごとの度数を数えるFrequencyコマンド・FrequencyTableコマンドや、ヒストグラムを作成するHistogramコマンドにおける、引数( )として使うことが考えられよう。, Twitterでは、ブログ更新情報をお知らせしています。

プラスチック 白化 ヒートガン 5, Transform: Scale 反転 4, Digno ケータイ3 For Biz 904kc 4, 冷えピタ 首 貼り方 6, Coolshot Pro Stabilized 買取 10, 40歳 フリーター 楽しい 5, 誰が 産 んで くれと頼んだ なんj 4, Tda01 サウンドアップ キット 6, 山崎 ミシン 革 5, 荒野行動 金券 無課金 14, 朝 乃山 性格 26, 能弁 意味 ナイン 6, キングダム 54 無料 10, Eos Kiss M Af速度 6, 歯科衛生士 国家試験 覚え方 7, クレックス ガス 開 栓 10, 微生物 種類 数 20, Esxi 仮想マシン 移動 7, グッチ 時計 ダサい カタカナ 4, なす 栗原はるみ ごま 6, 机 クランプ 足りない 6,