# fal_file make awk utlity # ftest.awk # 1993/09/07 # usage : awk -f falfanc[1-9].awk -f fal.awk [RGBM] # グローバル変数 # 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 = 16 YW = 5 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 YP = YW / 100 CO = 255 PI = atan2(0,-1) falkei=" " falkei=" :"falkei"+"falkei"*"falkei"+"falkei"+" 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() # グローバル変数で参照 if( ARGV[1] == "R" ){ hexout( R ) } if( ARGV[1] == "G" ){ hexout( G ) } if( ARGV[1] == "B" ){ hexout( B ) } if( ARGV[1] == "M" ){ hexout( R*.32+G*.53+B*.25 ) } } #print"\33[35m-\33[m" print"\33[35m"falkei"\33[m" } print " --- end ! --- " > "con" } # function hexout( c , f , i ){ c = int( c ) if (c<0) { printf"\33[31m" } if (c>255) { printf"\33[32m" } c -= ( c < 0 ) * c + ( c > CO ) * ( c -CO ) - ( c == 10 ) printf "%2d%s:",Y,ARGV[1] for (i=1; i<=(c/4) ;i++) { printf"*" } print "\33[m" } # 関数サブルーチン function lenge( x , y ){ # x,y からの距離 XW,YW を 100 として return(sqrt((x*XP-X)*(x*XP-X)+(y*YP-Y)*(y*YP-Y))) }