うしブログ

うしブログ

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

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

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

指定の面積を維持する楕円

https://www.geogebra.org/m/umngu6v9

 

(参考)

詳しくは、上記アプレットを分析して頂きたいのですが、カギとなるスクリプトは、オブジェクト「updater」に書かれた、On Update スクリプトです。

If[A!=B,SetValue[C,Dilate[C,(Distance[C,Line[A,B]]+diff/70)/Distance[C,Line[A,B]],A]]]
If[A!=B,SetValue[C,Intersect[c,Ray[A,B']]]]
If[!IsDefined[C],SetValue[C,B']]
If[A==B,SetValue[C,Point[Circle[A,sqrt(goal/ π )]]]]

1行目:Cを動かして楕円を変形

2行目:CがLine[A,B]上に来てしまうと、Cが飛んでしまうので、Cの位置を微調整

3行目:Cが飛んだときに復活させる。

4行目:A==Bのときは円なので、Cをその円上に配置