gorogoronyan FC2

グラフの座標変換

グラフ座標と canvas 座標の座標変換

canvas 上の2点の座標 (cx0, cy0), (cy1, cy1) とグラフ上の 2点の座標 (gx0, gy0), (gx1, gy1) を指定すると、 以下の計算ができます。

  1. グラフ上にある点は canvas 上ではどの位置になるか?
  2. canvas 上にある点は グラフ上ではどの位置になるか?

グラフを描くときにグラフの座標と canvas 座標を変換するクラスを用意します。 そして、グラフ上の点をして指定して canvas の座標を求め、 canvas に線や点を描きます。

いろいろ

canvas 座標とグラフ座標は、スクリーン座標 (ディスプレイ座標) とリアル座標 (ワールド座標) といった用語でよく出てきます。 「ビューポート変換 座標変換」などで検索して調べてください。

座標変換も、上のような 2次元のリニア変換から、対数スケール、 極座標、3次元-2次元変換などさまざまな種類があります。 複雑な話になると、難しい行列式など出てきます。

HTML の CSS でも transform (図形の拡大縮小、変形、回転) の話で出てきます。

サンプル

関連

inserted by FC2 system