スタートページJavascriptCANVAS

子キャンバスの設定


目的

下図のように、白い親キャンバスの内部に灰色の子キャンバスを設定します。
親キャンバスは、xycoordinateに従うx-y座標系とし、子キャンバスは目盛りの異なるu-v座標系です。
u-v系での(u, v)をキャンバスに描画するときの(x, y)を計算することが目的です。

計算諸元

変数(横軸, 縦軸)ここでの値意味
xmin, ymin-1, -0.5親ウインドウの左下のx-y座標
xmax, ymax4, 3.5同上。右上のx-y座標
xumin, yvmin0.3, 0.7点Aのx-y座標
xumax, yvmax3.8, 3.2点Bのx-y座標
umin, vmin-20, -20点Aのu-v座標
umax, vmax50, 30点Bのu-v座標
xs, ys1, 1x-y座標での補助線刻み
us, vs10, 10u-v座標での補助線刻み
u, v20, 10与えた青点のu-v座標
x-y座標では (2.3, 2.2)
であることは図より明白

変換式

x = utox(u); y = vtoy(v); として計算できます。


    var utox = function(u) {
        return (u-umin)*(xumax-xumin)/(umax-umin) + xumin;
    }
    var vtoy = function(v) {
        return (v-vmin)*(yvmax-yvmin)/(vmax-vmin) + yvmin;
    }

実験

xmin= ymin= xmax= ymax=
xumin= yvmin= xumax= yvmax=
umin= vmin= umax= vmax=
xs= ys= us= vs=
u= v=