SDL座標系 • 座標値は整数 • 最小値は0、最大値は SDL_X_SIZE,SDL_Y_SIZE (0,0)-(SDL_X_SIZE,SDL_Y_SIZE) SDL座標系 SDL_Y_SIZE (0,0) ・ (X_ORIGIN,Y_ORIGIN) SDL_X_SIZE (SDL_X_SIZE,SDL_Y_SIZE ) 描画座標系 • 座標値は実数でもOK • 最小値、最大値はユーザーが設定 X_SIZE,Y_SIZEで範囲を設定 最小値をx_min,y_minとすると、 (x_min,y_min) (x_min+X_SIZE,y_min+Y_SIZE) 描画座標系 Y_SIZE (x_min,y_min+Y_SIZE) ・ (0,0) X_SIZE (x_min+X_SIZE,y_min) SDL座標系と描座標系 実際に描画するのはSDL座標系: 描画座標系での座標値をSDL座標系での座標値に変換する。 1.描画座標系でのサイズをSDL座標系でのサイズに丸める。 2.Y軸の値を反転させる。 3.SDL座標系における描画座標系の原点オフセットを加える。 4.SDL座標系の範囲を越えたら、範囲内に丸める。 写像 SDL座標系 (0,0) 描画座標系 (-1/2X_SIZE,1/2Y_SIZE) (X,Y) (x,y) (X_ORIGIN,Y_ORIOGIN) (SDL_X_SIZE,SDL_Y_SIZE ) (0,0) (1/2X_SIZE,-1/2Y_SIZE) X = (SDL_X_SIZE/X_SIZE)*x + X_ORIGIN Y = - (SDL_Y_SIZE/Y_SIZE)*y + Y_ORIGIN
© Copyright 2025 ExpyDoc