Sari la conținut

Fișier:CA rule110s.png

Conținutul paginii nu este suportat în alte limbi.
De la Wikipedia, enciclopedia liberă

Mărește rezoluția imaginii (10.000 × 10.000 pixeli, mărime fișier: 167 KB, tip MIME: image/png)

Acest fișier se află la Wikimedia Commons. Consultați pagina sa descriptivă acolo.

Descriere fișier

Descriere Vedeți mai jos.
Dată
Sursă Own work by the original uploader
Autor Grondilu (talk) (Uploads)
Alte versiuni

Made with the following Perl code:

use strict;
use warnings;
use GD;

package Automaton {
    sub new {
        my $class = shift;
        my $rule = [ reverse split //, sprintf "%08b", shift ];
        return bless { rule => $rule, cells => [ @_ ] }, $class;
    }
    sub next {
        my $this = shift;
        my @previous = @{$this->{cells}};
        $this->{cells} = [
            @{$this->{rule}}[
                map {
                    4 * $previous[($_ - 1) % @previous]
                    + 2 * $previous[$_]
                    + $previous[($_ + 1) % @previous]
                } 0 .. @previous - 1
            ]
        ];
        return $this;
    }
    use overload
        q{""} => sub {
            my $this = shift;
            join '', map { $_ ? '#' : ' ' } @{$this->{cells}}
        };

    sub to_image {
        my ($this, $width, $height) = @_;
        my $image = GD::Image->new($width, $height);
        my $black = $image->colorAllocate(0, 0, 0);
        my $white = $image->colorAllocate(255, 255, 255);

        my $x = 0;
        my $y = 0;
        foreach my $cell (@{$this->{cells}}) {
            if ($cell) {
                $image->setPixel($x, $y, $black);
            } else {
                $image->setPixel($x, $y, $white);
            }
            $x++;
            if ($x >= $width) {
                $x = 0;
                $y++;
                last if $y >= $height;
            }
        }
        return $image;
    }
}

my ($width, $height) = (10**4, 10**4);
my @a = map 0, 1 .. $width;
$a[$width - 1] = 1;
my $a = Automaton->new(110, @a);

# Save to file
open(my $out, '>', 'output.png') or die "Cannot open file: $!";
binmode $out;
print $out "P1\n$width $height\n";

for (1 .. $height) {
    print $out join(' ', @{$a->{cells}}) . "\n";
    $a->next;
}

close $out;


Licențiere

Grondilu at engleză Wikipedia, deținătorul drepturilor de autor ale acestei opere, prin prezenta își publică lucrarea sub următoarea licență:
Creative Commons CC-Zero Acest fișier a fost eliberat sub licența Creative Commons CC0 1.0 Universal Public Domain Dedication.
Persoana care a asociat o operă cu acest document o oferă domeniului public, renunțând la toate drepturile asupra operei, în toată lumea, atât în ce privește drepturile de autor cât și orice alte drepturi juridice conexe pe care le avea asupra operei, în măsura permisă de lege. Puteți copia, modifica sau distribui opera, inclusiv în scopuri comerciale, fără a fi necesară permisiunea autorului.

Jurnalul original al încărcărilor

Pagina originală de descriere a fost aici. Toate numele de utilizator de mai jos sunt pentru en.wikipedia.
  • 2014-02-28 08:32 Grondilu 1000×1000× (10463 bytes) Made it myself with the following Perl code: <code>use strict; use warnings; package Automaton { sub new { my $class = shift; my $rule = [ reverse split //, sprintf "%08b", shift ]; return bless { rule => $rule, cells => [ @_ ] }, $class;...

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

subiectul reprezentat

28 februarie 2014

image/png

checksum engleză

9b1b62f5bf9ee9a880d31358b7337a51c56c12d9

10.000 pixel

10.000 pixel

Istoricul fișierului

Apăsați pe Data și ora pentru a vedea versiunea trimisă atunci.

Data și oraMiniaturăDimensiuniUtilizatorComentariu
actuală4 august 2023 19:14Miniatură pentru versiunea din 4 august 2023 19:1410.000x10.000 (167 KB)Obscure2020Optimized with OxiPNG and ZopfliPNG.
10 iulie 2023 23:19Miniatură pentru versiunea din 10 iulie 2023 23:1910.000x10.000 (1,75 MB)CJKVRShowing more executions
27 februarie 2014 22:41Miniatură pentru versiunea din 27 februarie 2014 22:411.000x1.000 (10 KB)GrondiluBigger version, right aligned.
18 martie 2006 19:55Miniatură pentru versiunea din 18 martie 2006 19:55500x250 (2 KB)MaksimLa bildo estas kopiita de wikipedia:en. La originala priskribo estas: Smaller version of CA_rule110.png {{GFDL}} {| border="1" ! date/time || username || edit summary |---- | 21:57, 1 February 2005 || en:User:Quadell || <nowiki>(tagged)</nowiki> |

Următoarele pagini conțin această imagine:

Utilizarea globală a fișierului

Următoarele alte proiecte wiki folosesc acest fișier: