#!/usr/bin/perl # kiku1.pl - Don Yang (uguu.org) # # 07/08/03 $syn = 29.530588853; ($sec,$min,$hour,$day,$month,$year,$wday,$yday) = gmtime; $year -= 100; $d = $yday + $year * 365 + int(($year + 3) / 4) - int(($year - 1) / 100) + int(($year - 1) / 400) + ($hour + ($min + $sec / 60) / 60) / 24 + 23.686; $phase = $d - $syn * int($d / $syn); $PI = atan2(0, -1); $w = 48; $h = 32; for($y = -$h; $y <= $h; $y++) { $left = -($right = $x = $w * sqrt(1 - ($y * $y) / ($h * $h))); (($i = 4 * $phase / $syn) < 2) ? ($left = $x * (1 - $i)) : ($right = $x * (3 - $i)); for($x = -$w; $x <= $w; $x++) { $grid{$x}{$y} = ($x >= $left && $x <= $right) ? '1' : '0'; } } for($a = 0; $a < 256; $a++) { $grid{int($w * cos($a * $PI / 128))} {int($h * sin($a * $PI / 128))} ||= '2'; } @dict1 = unpack 'a' x 64, q/ `'" `'" `'"+++"/ . q/,;:X,(|7+XXX+<89/ . q/.::X+|XX.X)P+8>P/ . q/.XXX,dX).Xb(odb8/; @dict2 = unpack 'a' x 64, q/ `'"-`'" ''"-'`"/ . q/,::X,:::.:::.:::/ . q/.:::,:::.:::,:::/ . q/.:::,:::.:::.:::/; for($y = -$h; $y < $h; $y += 3) { for($x = -$w; $x < $w; $x += 2) { @i = ( $grid{$x + 1}{$y }, $grid{$x}{$y }, $grid{$x + 1}{$y + 1}, $grid{$x}{$y + 1}, $grid{$x + 1}{$y + 2}, $grid{$x}{$y + 2} ); for($d = $index1 = $index2 = 0; $d < 6; $d++) { ($i[$d] == 1) && ($index1 += (1 << $d)); ($i[$d] == 2) && ($index2 += (1 << $d)); } (($o = $dict1[$index1]) eq ' ') && ($o = $dict2[$index2]); print $o; } print "\n"; }