#!/usr/bin/perl use qli; my $glider = [[1,1,1], [1,0,0], [0,1,0]]; my $block = [[1,1], [1,1]]; my $bglider = qli::paste(qli::mat(5, 0), $glider, 1, 1); open(FH, ">out/normalglider.gif"); qli::make2(\*FH, 20, 10, $bglider ); close(FH); open(FH, ">out/s_normalglider.gif"); qli::make2(\*FH, 1, 10, $bglider ); close(FH); my $nonbglider = qli::paste(qli::mat(10, 0), $glider, 5, 5); for([0.5,0,20], [0.75,0,20], [0.9,0,100], [1,0,20], [1,0.5,20], [0.00001, 0.5,20]) { my ($amt, $bg, $f) = @$_; my $umbglider = qli::bg(qli::mult(qli::dup($nonbglider), $amt), $bg); open(FH, ">out/glider${amt}_$bg.gif"); qli::make2(\*FH, $f, 10, $umbglider ); close(FH); open(FH, ">out/s_glider${amt}_$bg.gif"); qli::make2(\*FH, 1, 10, $umbglider ); close(FH); } $qli::pixel = 1; srand(9000); my $garbage = qli::mat(100, 0); for my $x (0..99) { for my $y (0..99) { $$garbage[$y][$x] = rand(); } } open(FH, ">out/garbage.gif"); qli::make2(\*FH, 100, 10, $garbage ); close(FH); open(FH, ">out/s_garbage.gif"); qli::make2(\*FH, 1, 10, $garbage ); close(FH); for my $x (0..99) { for my $y (0..99) { unless ($x >= 70 && $x < 80) { $$garbage[$y][$x] = int($$garbage[$y][$x] + 0.5); } } } open(FH, ">out/garbage2.gif"); qli::make2(\*FH, 100, 10, $garbage ); close(FH); open(FH, ">out/s_garbage2.gif"); qli::make2(\*FH, 1, 10, $garbage ); close(FH); for my $x (0..99) { for my $y (0..99) { $$garbage[$y][$x] = int($$garbage[$y][$x] + 0.5); } } open(FH, ">out/garbagenormal.gif"); qli::make2(\*FH, 100, 10, $garbage ); close(FH); open(FH, ">out/s_garbagenormal.gif"); qli::make2(\*FH, 1, 10, $garbage ); close(FH); my $line = qli::paste(qli::mat(100, 0), $glider, 95, 95); for my $x (50) { for my $y (0..99) { $$line[$y][$x] = 0.9999; } } open(FH, ">out/line.gif"); qli::make2(\*FH, 50, 10, $line ); close(FH); for my $x (50) { for my $y (0..99) { $$line[$y][$x] = 1; } } open(FH, ">out/linenormal.gif"); qli::make2(\*FH, 100, 10, $line ); close(FH); open(FH, ">out/s_linenormal.gif"); qli::make2(\*FH, 1, 10, $line ); close(FH); $qli::pixel = 1; my $half = qli::mat(50, 0.5); open(FH, ">out/half.gif"); qli::make2(\*FH, 100, 10, $half ); close(FH);