うしブログ

うしブログ

趣味で運営する、GeoGebraの専門ブログ。

(作業メモ)StartPoint要検証(2行の場合;テキスト変更時未定義問題)

(要修復)ToggleButton・RollPolygonWithoutSlipping・貯金時計・直感力トレーニング

2018-01-01から1年間の記事一覧

「納車ゲーム ver 1.1」のグローバルJavaScript

//グローバル変数 var savedXML; var PreSelectingCarNum; function ggbOnInit() { //オブジェクトクリック時の処理 ggbApplet.registerClickListener("clickFunc"); } function mCs(){ //編集前のセル数 var preCellNum = ggbApplet.getValue('preCellNum')…

「納車ゲーム ver 1.0」のグローバルJavaScript

//グローバル変数 var PreCenterCoords; var savedXML; function ggbOnInit() { //オブジェクトクリック時の処理 ggbApplet.registerClickListener("clickFunc"); } function mCs(){ //編集前のセル数 var preCellNum = ggbApplet.getValue('preCellNum'); /…

グラフィックスビュー上のオブジェクトのドラッグ解除を監視する

このアプレットは、点A(0,0)をドラッグして動かした後、ドラッグを解除する(点Aを離す)と、Aが(0,0)に戻るように作られています。 このように、グラフィックスビュー上のオブジェクトのドラッグ解除を監視するには、タッチデバイスならtouchend イベント, …

GeoGebraで納車ゲームを作る

旧バージョン(ver 1.0) あそびかた いわゆる納車ゲーム用のボードです。 左上の「編集」チェックボックスがONのときは、編集モードです。好きな位置に車を置いてください。 ・置く車の色は、画面上のボタンで切り替えられます。 ・車をリセットするには、 …

javascriptで図の位置(隅1,2,4)を指定するスクリプト

//図オブジェクトobjNameの隅1,2,4を、式expC1,2,4で表される点に設定する function setImgCorner(objName, expC1,expC2,expC4){ //オブジェクト存在確認 var isexist = ggbApplet.exists(objName); if(isexist){ var xmlText = '<element type=\"image\" label=\"'+objName+'\"><startPoint number=\"0\" exp=\"'+expC1+'\"/></startpoint></element>

javascriptでOn Update / Click スクリプトを編集する

スクリプトをクリアしたいときは、引数scriptを、' '(半角スペース1文字)としてください。 ※このスクリプトはβ版です。引数の内容によっては、正常に動作しない可能性があります。 変数scriptにおける各種記号の書き方は、下記記事を参照してください。 「…

待つ

全画面

頭の体操としての「穴あき数列問題」と多項式関数

インターネット配信上で、次のような頭の体操の問題に出会いました*1。 次の?に入る数字は何か。 9→3→12→3→15→?→6→8→15 この問題の「頭の体操」としての答えは、27です。 なぜならば、問題の数列は、円周率で登場する数字を順に並べた数列 3→1→4→1→5→9→2→6…

いろぬりサイクロイド

中心をクリックすると、「転がすモード」・「自由移動モード」を切り替えます。

panels

オリジナルゲーム「Take Your Time」

あそびかた 青い四角をドラッグして、右下の領域に運ぼう。 ただし、あまり速くドラッグしすぎると、青い四角が灰色になってしまい、一定時間ロックしてしまう。ロックしないギリギリのスピードでドラッグしよう。 左上の領域を出発した瞬間から、右下の領域…

panel

パン・ズームをしても消えない残像

パン・ズームをしても消えない残像 – GeoGebra 解説 オブジェクトの設計 自由な点A そのOn Update スクリプトは、下記のとおり。 If[trace==true,SetValue[tracelist,Append[tracelist,CopyFreeObject[A]]]]If[trace==true,SetValue[tracelist,Unique[tracel…

テキストを特定の位置に揃えるには?

問題 図のように、任意の場所にテキストオブジェクト(名前は「text1」)を作成する。text1は、画面上に固定しないものとする。 いま、text1の左下隅の座標を、正確に、( sqrt(2), sqrt(3) )に揃えたい。 text1をドラッグすれば、見かけ上、おおまかに揃える…

テキストサイズをピクセル単位で微調整する

はじめに 過去記事「テキストの高さ、および描画開始点の位置」*1(以下、単に「過去記事」という)では、テキストの高さ(単位はピクセル。heightとおく)が、テキストのxmlデータにおける「sizeM」という数値、および、フォントサイズ(pt)の2変数関数で…

円が通過しない領域

問題 放物線y=x^2上に、点Pをとる。aを実数として、点Pの座標を、(a,a^2)と表すことにする。 また、点A(0,5)をとる。 点Qは、線分APを2:1に内分する点である。 点Rは、線分APを2:1に外分する点である。 点Pが放物線y=x^2上を動くことによって、線分QRを直径…

KaleidoPen

※PC専用です。画面をドラッグすることで、万華鏡のような形を描くことができます。 動作例 仕組みの概説 オブジェクト 自由な点A 点Aをy軸について対称移動した点(A') A' = Reflect[A, y軸] 数値オブジェクトoffX = 0, offY = 0 点Aおよび点A'を、原点を中…

棒を倒す

点がパス上にあるか否かを表す真偽値オブジェクト

点が領域内にあるか否かを表す真偽値オブジェクトは、 IsInRegion[ <点>, <領域> ] で作成できる。 これに対して、点がパス内にあるか否かを表す真偽値オブジェクトは、どうすれば作成できるだろうか。これを作成するためのコマンドは用意されていないので、…

多角形オブジェクトを用いて、頂点または辺のリストを返す

多角形の名前を poly1 とする。 poly1の頂点のリストは、 {Vertex[poly1]} と表せる。 また、poly1の辺のリストは、 Sequence[Segment[Element[{Vertex[poly1]}, t], Element[{Vertex[poly1]}, If[t ≠ Length[{Vertex[poly1]}], t + 1, 1]]], t, 1, Length[{…

任意の多角形における全頂点の集合の凸包を多角形オブジェクトで返す

GeoGebraでは、任意の多角形オブジェクト(名前をpoly1とする)における全頂点の集合 {Vertex[poly1]} の凸包は、 ConvexHull[{Vertex[poly1]}] で得ることができる。 しかし、この方法で得られる凸包は、軌跡オブジェクトであり、多角形オブジェクトではな…

テキストサイズを取得する

現在、GeoGebraには、テキストサイズを取得するメソッドが存在しないので、自作しました。 引数:サイズを取得したいテキストオブジェクトの名前(string) 戻り値:テキストサイズを表す文字列(string) function getTextSize(objName){ // この関数は、Ge…

polygem

垂線の足を作成するオリジナルツール「PerpendicularFoot」

PerpendicularFoot Tool - GeoGebra 点と直線を選択すると、その点から、その直線に下ろした垂線の足を作成します。

ベクトルの一次結合の係数を求める方法(結論のみ)

ベクトルtargetが、一次独立なvector1とvector2との一次結合 target = a * vector1 + b * vector2 で表せるとする。 このとき、GeoGebraで、係数a、bの値を、点オブジェクト(a, b)の形で求めるために、入力バーに入力すべき数式を、2つ紹介する。 幾何学的に…

関数のグラフ上の整数点をリストで返すオリジナルツール「IntegerPoint」

IntegerPoint Tool - GeoGebra

テキスト描画開始点を返すオリジナルツール「StartPoint」

StartPoint Tool - GeoGebra 構文 CopyFreeObject[ StartPoint[ <基準点>, <テキスト>, <数値> ] ] 戻り値 自由な点オブジェクトを返す。 解説 数値が1のとき、戻り値である点をテキストの描画開始点に設定すると、引数の基準点にテキストの左下が揃います。…

2つの三角形に外接する円

next step

行動を始めるためには、どんなに些細なことでも、「きっかけ」があった方が、気持ちが楽です。 「きっかけ」によって「ルーティン」を呼び出しさえすれば、あとは思い描いた「ルーティン」を、自動運転のように遂行すればいい。 「このチェックボックスをク…

直角三角形への等積変形

点Dを自分の手で動かして初めて、実は答えが2つあるということに気付ける可能性もあります。こういうところに、GeoGebraの魅力があると思います。