うしブログ

うしブログ

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

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

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

オブジェクトの連動(2線分の垂直・等長を維持する)

課題

・3点A, B, Cを作る。この3点は自由にドラッグできるものとする。

・線分ABと線分BCを作る。この2つの線分は、常に長さが等しく、かつ垂直に交わるものとする。

(課題の内容は、Yahoo!知恵袋より引用。URL:

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11119843661

投稿者:prorenk)

 

 

完成したアプレット

 

概説

前提オブジェクト

f:id:usiblog:20160615015142p:plain

各種オブジェクトのOn Update スクリプト

点A

SetValue[C,Point[Circle[B,Distance[A,B]]]]

SetValue[C,Rotate[A,π/2,B]]

1行目で、BCの長さをABに揃えている。2行目で、角ABCをπ/2に設定している。

 

点C

SetValue[A,Point[Circle[B,Distance[B,C]]]]
SetValue[A,Rotate[C,-π/2,B]] 

1行目で、ABの長さをBCに揃えている。2行目で、角CBAを-π/2に設定している。

 

点B

SetValue[A,Translate[B,u]]
SetValue[C,Translate[B,v]]

点 A, Cをそれぞれ、点Bの座標更新直前におけるベクトルu, vに基づいて再設定するようにしている。これによって、点Bをドラッグすると、それに伴い点A,Cも同じ分だけ移動するようになる。