うしブログ

うしブログ

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

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

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

Geogebraスキルアップ問題集(010解答)

問題

線分ABをn等分する点のリストを作成する。nは2〜100とする。

f:id:usiblog:20160825051933g:plain

見本

GeoGebraファイル

解説

線分ABをn等分する点のリストというのは、すなわち、点Bを中心に、点Aを 1/n 倍した点、2/n 倍した点、...、(n-1)/n 倍した点のリストです。したがって、目的のリストは以下のコマンドで作成することができます。

Sequence[Dilate[A, i / n, B], i, 1, n - 1]

補足

ここでは、上記Sequence コマンドで作成したリストオブジェクトを、list1と呼ぶことにします。

上記の見本アプレットでは、見やすくするために、nが大きくなるに従って、線分ABをn等分するそれぞれの点の大きさを小さく表示させるようにしています。その方法は、数値オブジェクトbを

b = -(4 / 98) (n - 2) + 5

と定義したうえで、bのOn Update スクリプトに、以下のコマンドを記述するというものです。

SetPointSize[list1,b]

f:id:usiblog:20161117023225p:plain

bは、上図のように、nが2から100に変化するにしたがって、5から1に直線的に減少していく変数です。

そして、nが更新されると、SetPointSize コマンドで、list1の要素であるすべての点のサイズをbに設定するようにしています。

SetPointSize コマンドで指定できる点のサイズは、0(非表示)が最小で、上限はありません。いくらでも大きくできます。整数以外のサイズを指定した場合、整数未満は切り捨てられます(floor( )関数によって処理されると言い換えることもできます)。

f:id:usiblog:20161117025136p:plain

今回は、リストの要素である点のサイズは、上図の赤線のように変化します。