ピクセル座標(独自の拡張) ☆
ピクセル座標は,左下端のピクセルを原点(0,0)とし,右方向にいくつめであるかをx座標,上方向にいくつめであるかをy座標とする座標である。
組込み関数
以下,x,yは数値式を書く。
PIXELX(x) 問題座標xに対応するピクセルx座標
PIXELY(y) 問題座標yに対応するピクセルy座標
WORLDX(x) ピクセルx座標を問題座標に変換
WORLDY(y) ピクセルy座標を問題座標に変換
PROBLEMX(x) WORLDX(x)と同義
PROBLEMY(y) WORLDY(y)と同義
<Note>
SET WINDOW left, right, bottom, top
によって座標系を設定したとき,ピクセル座標の上限は,PIXELX(right),PIXELY(top)により知ることができる。
したがって,描画領域中のすべての点について操作するプログラムは,
FOR i=0 TO PIXELX(right) FOR j=0 TO PIXELY(top) LET x=WORLDX(i) LET y=WORLDY(j) ………… NEXT j NEXT i
の形になる。
参照 旧バージョンとの相違
<補足>
PIXELX,PIXELY,WORLDX,WORLDYは,Full BASICの命令を用いて次のように定義できる。
EXTERNAL FUNCTION PIXELX(x)
ASK WINDOW left,right,bottom,top
ASK PIXEL SIZE (left,bottom; right,top) px, py
LET PIXELX=ROUND((px-1)*(x-left)/(right-left),0)
END FUNCTION
EXTERNAL FUNCTION PIXELY(y)
ASK WINDOW left,right,bottom,top
ASK PIXEL SIZE (left,bottom; right,top) px, py
LET PIXELY=ROUND((py-1)*(y-bottom)/(top-bottom),0)
END FUNCTION
EXTERNAL FUNCTION WORLDX(x)
ASK WINDOW left,right,bottom,top
ASK PIXEL SIZE (left,bottom; right,top) px, py
LET WORLDX=(right-left)*x/(px-1)+left
END FUNCTION
EXTERNAL FUNCTION WORLDY(y)
ASK WINDOW left,right,bottom,top
ASK PIXEL SIZE (left,bottom; right,top) px, py
LET WORLDY=(top-bottom)*y/(py-1)+bottom
END FUNCTION