うしブログ

GeoGebraの使い方、応用など

(ひとことコメント)「基本的な使い方」更新作業中(2018.7.7)

(パンくずリスト整備状況)011解答まで済(2018.5.29)

GeoGebra

(On Update スクリプトではなく)JavaScriptのrequestAnimationFrameでオブジェクトを動かす実験

requestAnimationFrameで時計を動かす実験 ぬるぬる動いた。 グローバルJavaスクリプトの内容 var frame = 0; function ggbOnInit() { updateFunc(); } function updateFunc(){ requestAnimationFrame(updateFunc); // フレーム数をインクリメント frame++; …

Secret Star

Kata - Forms of GeoGebra

入力バーに順に入力していくことで、GeoGebraの基礎スキルを身につけるとともに、GeoGebraに対する親近感を育む。その趣旨で、空手のように「型」を作ってみよう、という企画。 基本方針は以下の通り。 ・無に始まり、無に終わる。 ・入力バーに入力できるコ…

半径5の円で繰り返される出会いと別れ

無限スライダー

最大値、最小値を指定することなく数値を増減できる「無限スライダー」の試作品です。 こちらは改良版です。上記アプレットでは、点の位置と数値の値との間には、特段の対応関係はありません。下記のアプレットは、数値が決まれば点の位置が一意に決まるよう…

3つの円周上を自由に移動可能な点

クリック/タップ位置の取得方法 全解説

アプレット内に作成すべきオブジェクト 数値オブジェクト pageX, pageY, ratioX, ratioY, rectX, rectY ※いずれも値は任意;最大値、最小値は限定しないでおく。 点オブジェクト A A = PixelPoint[(pageX - rectX) / ratioX, (pageY - rectY) / ratioY] オリ…

現在の縮尺に最適なグリッド間隔を取得するオリジナルツール「GridIntervalPoint」

はじめに GeoGebraでは、グリッド間隔を特に指定しなければ、現在の縮尺に最適な間隔を自動で計算して、グリッドを描画してくれます。 今回は、このときのグリッド間隔の情報を取得するオリジナルツールを紹介します。 オリジナルツール「GridIntervalPoint…

表の枠線を作成するツール「Table」

Table Tool - GeoGebra

万華鏡_JavaScript版

以前作成した万華鏡(下記リンク参照)は、IntersectionPaths コマンドを用いたものでした。そのため、多角形以外のオブジェクトを万華鏡的鏡映の対象にすることはできませんでした。 今回のアプレットは、JavaScriptでCanvasを制御して万華鏡を再現する機構…

「グラデーション三角形」_描画安定版

以前のアプレット(下記リンク)では、マウスイベントやタッチイベントにあわせて、既存のcanvas 要素にグラデーションを描画していました(setInteval メソッドを利用していました)。その際、グラデーションが意図せず点滅する問題を抱えていました。 グラ…

「生徒向けワークシート」のアプレットに使われているオブジェクトの概要を取得するブックマーク

ブックマークレットによってJavaScriptを実行する方法(下記リンク先参照)により、「生徒向けワークシート」のアプレットに使われているオブジェクトの概要を取得する方法。 ブラウザのアドレスバーからJavaScriptのコードを実行する方法 (JavaScript疑似プ…

カラースポイト_タッチデバイス対応版

(参考)グローバルJavaスクリプト記載内容 // グラフィックスビュー(canvas)を取得 var canvas = document.getElementsByTagName('canvas')[0]; // グラデーション描画の回数カウント用 var count; function ggbOnInit() { // タップorクリック var click…

pageX / Yの値とマウス位置

はじめに GeoGebraアプレットの描画を行っているcanvas要素 document.getElementsByTagName('canvas')[0] にイベントリスナーを追加した場合における、mouseevent.pageXおよびmouseevent.pageYの値は、当該イベント発生時のマウスの、グラフィックスビューの…

カラースポイト

動作見本 タッチデバイスでは正確に動作しません。マウスデバイス専用です。 (追記) タッチデバイス専用版ができました。 usidesu.hatenablog.com ※参考:グローバルjavaスクリプトの内容(タッチデバイス非対応版) var canvas; if(document.getElementsB…

グラデーション三角形_タッチデバイス対応版

タッチデバイスにも対応しました。 参考:「グローバルJavaスクリプト」に記載したスクリプト ※これを単にコピペしただけでは、上記は実現できません。あくまで参考用です。 var appletWidth = ggbApplet.getValue("width"); var appletHeight = ggbApplet.g…

グラデーション三角形_Javascript版

ついに、GeoGebra上の三角形をグラデーションで塗りつぶすことに成功しました。 今までも挑戦してきましたが、塗るまでに時間がかかったり、線分を大量に生成するという力技しかできませんでした。今回は、Javascriptのグラデーション生成機能を用いて、自動…

アプレットにパスワードをかける方法

はじめに 本記事は、過去記事「webページに埋め込んだGeoGebraアプレットにおける内部構造の閲覧制限について」で得られた知見を利用して、アプレットにパスワードをかける方法、および、その応用として、「生徒向けワークシート」で表示した場合に限り、パ…

GeoGebraと測定系プロパティ

はじめに 本記事では、GeoGebraの「グローバルJavaスクリプト」において、マウス/タッチイベント発生位置を取得する各種プロパティを参照した場合に、得られる値についてまとめる。あわせて、要素のサイズを取得するブロパティについても確認する。 (前提…

セルフオセロ_うしver

セルフオセロ_うしver

グラフィックスビュー1におけるCornerコマンドについて

キーワード GeoGebra, Corner, ピクセル数 目次 はじめに Corner[5]と「高度な設定」におけるピクセル数との関係 モデルアプレットの作成 アップロード画面におけるピクセル数 検証 「位置」オプションによる設定 手動による設定 検証結果 Corner[<1,2,3,4>]…

webページに埋め込んだGeoGebraアプレットにおける内部構造の閲覧制限について

1 はじめに アプレットの埋め込みとダウンロード アプレットの内部構造の閲覧 本記事の目的 バージョン情報 2 モデルの紹介 3 基本的発想 ユーザーにパスワードを入力させる方法 パスワードが正しくない場合の処理 パスワードの照合 埋め込まれている場合…

light_2018版

light_2018版

リストの全要素を単一のオブジェクトとして生成する方法

モデル課題 (1)4点A(1,1),B(8,1),C(8,8),D(1,8)に対して、四角形ABCDの内部および周に含まれるすべての格子点を、リストオブジェクトとして作成しなさい。 (2)(1)で作成したリストオブジェクトの1番目の要素である点を、単一の点オブジェクトとして…

すべてのオブジェクトにOn Click スクリプトを一括適用する方法

例1 On Click スクリプトの一括設定 - GeoGebra 左上の赤い長方形をクリックしてから、点や三角形をクリックすると、クリックしたオブジェクトが赤くなります。 左上の青い長方形をクリックしてから、点や三角形をクリックすると、クリックしたオブジェクト…

グラデーション・トライアングル(ボタン版)

グラデーション・トライアングル(ボタン版)

RGB値を1つのパラメータで表し、オブジェクトの色をカラフルに変化させる方法

ここでは、1つのパラメータを使って、オブジェクトの色をカラフルに変化させるための、「動的な色」オプションの設定方法を紹介します。

グラデーション・トライアングル

「直線によって分割された領域のうち、点Pを含む方」の記述法

上記アプレットの赤い領域は、直線fによって平面を2つに分割することによって作られた領域(半平面)のうち、点Pを含む方を表しています。 この領域は、GeoGebraでは、 If[IsInRegion[P, LeftSide[f] < RightSide[f]] ≟ true, LeftSide[f] < RightSide[f], L…

四角形内を遊泳する点