Provided by: xscreensaver-data_5.08-0ubuntu3_i386 bug


        penrose - draws quasiperiodic tilings


        penrose [-display host:display.screen] [-foreground color] [-background
        color] [-window] [-root] [-mono] [-install] [-visual visual]  [-ncolors
        integer] [-delay microseconds] [-size integer] [-ammann] [-no-ammann]


        The penrose program draws quasiperiodic tilings.
        See  Onoda,  Steinhardt, DiVincenzo and Socolar in Phys. Rev. Lett. 60,
        #25, 1988 or Strandburg in Computers in Physics, Sep/Oct 1991.
        This implementation uses the simpler version of the  growth  algorithm,
        i.e.,  if there are no forced vertices, a randomly chosen tile is added
        to a randomly  chosen  vertex  (no  preference  for  those  108  degree
        There  are  two essential differences to the algorithm presented in the
        literature: First, we do not allow the tiling  to  enclose  an  untiled
        area.   Whenever this is in danger of happening, we just do not add the
        tile, hoping for a better random choice the next  time.   Second,  when
        choosing  a  vertex  randomly,  we  will take one that lies withing the
        viewport if available.  If this seems to cause enclosures in the forced
        rule case, we will allow invisible vertices to be chosen.
        Tiling is restarted whenever one of the following happens: there are no
        incomplete vertices within the viewport or the tiling  has  extended  a
        window's  length  beyond  the edge of the window horizontally or verti-
        cally or forced rule choice has failed 100 times due to areas about  to
        become enclosed.
        Although  quasiperiodic  tilings are produced, the tiles themselves are
        not penrose tiles (darts and kites).  In  contrast  to  penrose  tiles,
        these tiles can be arranged to form a periodic tiling.


        penrose accepts the following options:
        -window Draw on a newly-created window.  This is the default.
        -root   Draw on the root window.
        -mono   If on a color display, pretend we're on a monochrome display.
                Install a private colormap for the window.
        -visual visual
                Specify  which  visual  to use.  Legal values are the name of a
                visual class, or the id number (decimal or hex) of  a  specific
        -ncolors integer
                How many colors should be used (if possible).  Default 64.  The
                colors are chosen randomly.
        -size integer
                How big the tiles should be.  Default 40 pixels.
        -delay milliseconds
                How long (in 1/1,000,000'ths of a second) to wait between draw-
                ing each tile.  Default 10,000 or .01 seconds.
                Whether Ammann lines should be added.
        -fps    Display the current frame rate and CPU load.


        DISPLAY to get the default host and display number.
                to  get  the  name of a resource file that overrides the global
                resources stored in the RESOURCE_MANAGER property.
        X(1), xscreensaver(1), xlock(1)


        Copyright (C) 1996 by Timo Korvola.
        Permission to use, copy, modify, and distribute this software  and  its
        documentation  for  any purpose and without fee is hereby granted, pro-
        vided that the above copyright notice appear in  all  copies  and  that
        both  that  copyright  notice and this permission notice appear in sup-
        porting documentation.


        Timo Korvola <>, 1996.
        Ability to run standalone or with xscreensaver added by Jamie  Zawinski
        <>, 10-May-97.