GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


       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
       vertically 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
               drawing 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 © 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,
       provided that the above copyright notice appear in all copies and  that
       both  that  copyright  notice  and  this  permission  notice  appear in
       supporting documentation.


       Timo Korvola <>, 1996.

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

  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to
Page load time: 0.087 seconds. Last modified: November 04 2018 12:49:43.