現在の縮尺に最適なグリッド間隔を取得するオリジナルツール「GridIntervalPoint」
はじめに
GeoGebraでは、グリッド間隔を特に指定しなければ、現在の縮尺に最適な間隔を自動で計算して、グリッドを描画してくれます。
今回は、このときのグリッド間隔の情報を取得するオリジナルツールを紹介します。
オリジナルツール「GridIntervalPoint」
GridIntervalPoint Tool - GeoGebra
引数
GridIntervalPoint[ <始点A>, <整数n> ]
戻り値
点Aを通るグリッドで、現在の縮尺に最適なグリッドを引いた場合に、始点を通る縦グリッドのn個右のグリッドと、始点を通る横グリッドのn個上のグリッドとの交点を返します。
使用例
点 O, A, C1, C3を、以下の定義に従って作成します。
O = (0, 0)
A = GridIntervalPoint[O, 1]
C1 = Corner[1]
C3 = Corner[3]
変数 minX, maxX, minY, maxYを、以下の定義に従って作成します。
minX = floor( x(C1) / x(A) )
maxX = ceil( x(C3) / x(A) )
minY = floor( y(C1) / y(A) )
maxY = ceil( y(C3) / y(A) )
リスト list1を、以下の定義に従って作成します。
list1 = Flatten[ { Sequence[ x = x( GridIntervalPoint[ O, s ] ), s, minX, maxX ], Sequence[ y = y( GridIntervalPoint[ O, t ] ), t, minY, maxY ] } ]
すると、list1は、現在の縮尺に最適なグリッドを表すオブジェクトとなります。
また、リスト list2を、以下の定義に従って作成します。
list2 = Flatten[ Sequence[ Sequence[ ( x( GridIntervalPoint[ O, s ] ), y( GridIntervalPoint[ O, t ] ) ), t, minY, maxY ], s, minX, maxX ] ]
すると、list2は、現在の縮尺に最適なグリッドの格子点のリストを表します。