# fal_file make awk # 1993/09/07 # usage : awk -f falfanc[1-9].awk -f fal.awk /[t|32] [file] [coment] # グローバル変数 # X,Y : 座標値 # R,G,B : rgb輝度 [ 0 - 255 ] # 定数 # XW : 横のピクセル数 # YW : 縦のピクセル数 # TH : 基本周期 ( 8 pi / XW ) 画面 12 : 9 ( 1 = TH * 2pi ) # WX : 1 / XW # WY : 1 / YW # WP : 1 / XW * 100 # HP : 1 / YW * 100 # XP = XW / 100 # YP = YW / 100 # CO : 255 # PI : 3.14159 atan2(0,-1) 355/113 BEGIN{ XW = 160 YW = 100 out = "out" if( ARGV[1] == "/t" ){ XW = 16 ; YW = 10 } if( ARGV[1] == "/32" ){ XW = 320 ; YW = 240 } if( ARGV[2] ){ out = ARGV[2] } if( ARGV[3] ){ comment = ARGV[3] } outfile = out ".rgb" outfal = out ".fal" R = 0 G = 0 B = 0 TH = ( 8 * atan2( 0 , -1 ) ) / XW # pi = atan2( 0 , -1 ) WX = 1 / XW WY = 1 / YW WP = WX * 100 # x * wp : 横位置 パーセント HP = WY * 100 # y * hp : 縦位置 パーセント XP = XW / 100 # 1/wp YP = YW / 100 # 1/hp CO = 255 PI = atan2(0,-1) srand() printf " x: %3d y: %3d\n", XW , YW > "con" for( Y = 0 ; Y < YW ; Y ++ ){ printf " げんざい y: %3d\r",Y > "con" for( X = 0 ; X < XW ; X++ ){ fanc() # グローバル変数で参照 hexout( R ) hexout( G ) hexout( B ) } } # falファイル ヘッダ print "F_ALL(V1.00)" > outfal printf " %3d %3d 0 0\n" , XW , YW > outfal print " 1.00 255 255 255 0" > outfal if( comment ) print "; " comment > outfal print " --- end ! --- " > "con" } # function hexout( c ){ c = int( c ) c -= ( c < 0 ) * c + ( c > CO ) * ( c -CO ) - ( c == 10 ) printf( "%c",c ) > outfile } # 関数サブルーチン function lenge( x , y ){ # x,y からの距離 XW,YW を 100 として return(sqrt((x*XP-X)*(x*XP-X)+(y*YP-Y)*(y*YP-Y))) }