awkでテキストアニメーション

以前、斎藤さんの本

www.shoeisha.co.jp

で紹介されていたawkでテキストアニメーションのソースコードです。 元のコードは読みにくい形でしたので整形して掲載いたします。
しかし、こんな短いプログラムで奇麗なテキストアニメーションが出るんですね。
このコードの作者はawkテトリスも作っており、まさに凄腕ハッカーです。

#! /usr/bin/awk -f
# $Id: blobs.awk,v 1.4 2006/01/31 23:14:38 tnn Exp $

# AWK eyecandy. resize your terminal emulator for speed/resolution.
# (c) 2004 Tobias Nygren <tnn+blobs-awk@nygren.pp.se>

# uncomment this line if your awk is mean
# function fflush(e) {}

function f(m,           n){
    o = + x - X / 2 - cos(a * m) * 30;
    p=y- Y / 2 - sin(a * n) *9;
    return sqrt (o * o + p * p);
}
BEGIN {
    c = "stty size";
    c | getline;
    close (c);
    X = $2;
    Y = $1 - 1;
    for(;;){
        a += +.002;
        d="    ead    beef    ";
        printf("" "tnn@netilium.o"     "rg   \033"  "[H"     );
        #@    ninja
        fflush(stdout);;
        for(y = 0;y++ < Y;) {
            for (x=0 ;x++< X;){
                printf ("%c", 32+(f(30 ,40) *f(0 +12,   17)/  3/(1 +f(19 ,+23 )))%  64)
            }
        }
    }
}

awkでこんなことも出来るのか!と感動します。
現在、プログラミング言語AWKで一から勉強中ですが、古い言語ながら未だに新たな発見の多い言語です。