Small Basic > 数学系の座標でグラフを描く
のぶ亭『プログラミングの相談窓口』 … 様々なプログラミング問題を個別対応致します |
数学系の座標でグラフを描く
Windowsの座標系は、左上が原点(0,0)で右方向、下方向共に+(増加)する座標になっています。
これは、テキストの描画の場合、上から下へと計算しやすくするためです。
なお、WindowsAPIでは他の座標系にも対応できますが、Small Basicはデフォルトのみのサポートです。
そのため、座標系を変換するためには、プログラムで変換する必要があります。
上の座標系を (-1,-1)-(1,1) 座標系と呼び、Windowsでの座標系をWindows座標系と呼ぶことにします。
Windows座標系での x-y 座標を (xb, yb),(-1,-1)-(1,1) 座標系での座標を (xf, yf) とすると、
- (xf, yf) = (-1, 1) のとき (xb, yb) = (0, 0)
- (xf, yf) = (1, -1) のとき (xb yb) = (Width, Height)
- (xf, yf) = (0, 0) のとき (xb, yb) = (Width / 2, Height / 2)
したがって、(xb, yb) は xf, yf を使って次のようになります。
xb = (Width / 2) ×xf + (Width / 2)
yb = (Height / 2) ×(-yf) + (Height / 2)
これを使って座標を変換し,(-1,-1)-(1,1) 座標系で線を描いてみましょう。
画像をダウンロードしてローカル表示すると読みやすくなります。
実行結果