うしブログ

うしブログ

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

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

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

片側波括弧を作成するオリジナルツール「Brace」

2点から、片側波括弧を作成します。高さを調節できます。

f:id:usiblog:20190903091413g:plain

Brace Tool - GeoGebra

 

参考:ツールの内部構造

引数:2点E, F

戻り値①:高さ調節用の点G

G = Point[Segment[Rotate[F, 90°, Midpoint[E, F]], Rotate[F, -90°, Midpoint[E, F]]]]

戻り値②:片側波括弧を表すリストオブジェクト(E,F,Gに依存)

list1 = Flatten[{{CircularArc[Reflect[Midpoint[Midpoint[E, F], G], Segment[G, Rotate[G, 90°, Midpoint[Midpoint[E, F], G]]]], Rotate[G, 90°, Midpoint[Midpoint[E, F], G]], G], Reflect[CircularArc[Reflect[Midpoint[Midpoint[E, F], G], Segment[G, Rotate[G, 90°, Midpoint[Midpoint[E, F], G]]]], Rotate[G, 90°, Midpoint[Midpoint[E, F], G]], G], Midpoint[ClosestPoint[{E, F}, Reflect[Midpoint[Midpoint[E, F], G], Segment[G, Rotate[G, 90°, Midpoint[Midpoint[E, F], G]]]]], G]], Segment[Reflect[Rotate[G, 90°, Midpoint[Midpoint[E, F], G]], Midpoint[ClosestPoint[{E, F}, Reflect[Midpoint[Midpoint[E, F], G], Segment[G, Rotate[G, 90°, Midpoint[Midpoint[E, F], G]]]]], G]], Rotate[G, 90°, Midpoint[Midpoint[E, F], G]]]}, Reflect[{CircularArc[Reflect[Midpoint[Midpoint[E, F], G], Segment[G, Rotate[G, 90°, Midpoint[Midpoint[E, F], G]]]], Rotate[G, 90°, Midpoint[Midpoint[E, F], G]], G], Reflect[CircularArc[Reflect[Midpoint[Midpoint[E, F], G], Segment[G, Rotate[G, 90°, Midpoint[Midpoint[E, F], G]]]], Rotate[G, 90°, Midpoint[Midpoint[E, F], G]], G], Midpoint[ClosestPoint[{E, F}, Reflect[Midpoint[Midpoint[E, F], G], Segment[G, Rotate[G, 90°, Midpoint[Midpoint[E, F], G]]]]], G]], Segment[Reflect[Rotate[G, 90°, Midpoint[Midpoint[E, F], G]], Midpoint[ClosestPoint[{E, F}, Reflect[Midpoint[Midpoint[E, F], G], Segment[G, Rotate[G, 90°, Midpoint[Midpoint[E, F], G]]]]], G]], Rotate[G, 90°, Midpoint[Midpoint[E, F], G]]]}, PerpendicularBisector[E, F]]}]