XScreenSaver(1) XScreenSaver(1) NNAAMMEE penrose - draws quasiperiodic tilings SSYYNNOOPPSSIISS ppeennrroossee [-display _h_o_s_t_:_d_i_s_p_l_a_y_._s_c_r_e_e_n] [-foreground _c_o_l_o_r] [-background _c_o_l_o_r] [-window] [-root] [-mono] [-install] [-visual _v_i_s_u_a_l] [-ncolors _i_n_t_e_g_e_r] [-delay _m_i_c_r_o_s_e_c_o_n_d_s] [-redoDelay _s_e_c_o_n_d_s] [-size _i_n_t_e_g_e_r] [-ammann] [-no-ammann] DDEESSCCRRIIPPTTIIOONN The _p_e_n_r_o_s_e 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 ran- domly chosen tile is added to a randomly chosen vertex (no preference for those 108 degree angles). There are two essential differences to the algorithm pre- sented 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 invisi- ble 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. OOPPTTIIOONNSS _p_e_n_r_o_s_e accepts the following options: --wwiinnddooww Draw on a newly-created window. This is the default. --rroooott Draw on the root window. X Version 11 10-May-97 1 XScreenSaver(1) XScreenSaver(1) --mmoonnoo If on a color display, pretend we're on a monochrome display. --iinnssttaallll Install a private colormap for the window. --vviissuuaall _v_i_s_u_a_l Specify which visual to use. Legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual. --nnccoolloorrss _i_n_t_e_g_e_r How many colors should be used (if possible). Default 64. The colors are chosen randomly. --ssiizzee _i_n_t_e_g_e_r How big the tiles should be. Default 40 pixels. --ddeellaayy _m_i_l_l_i_s_e_c_o_n_d_s How long (in 1/1,000,000'ths of a second) to wait between drawing each tile. Default 10,000 or .01 seconds. --rreeddooDDeellaayy _s_e_c_o_n_d_s How long to wait between starting a completely new tiling. Default 3 seconds. --aammmmaannnn _i_n_t_e_g_e_r --nnoo--aammmmaannnn _i_n_t_e_g_e_r Whether Ammann lines should be added. EENNVVIIRROONNMMEENNTT DDIISSPPLLAAYY to get the default host and display number. XXEENNVVIIRROONNMMEENNTT to get the name of a resource file that overrides the global resources stored in the RESOURCE_MAN- AGER property. SSEEEE AALLSSOO XX(1), xxssccrreeeennssaavveerr(1), xxlloocckk(1) CCOOPPYYRRIIGGHHTT Copyright (C) 1996 by Timo Korvola. Permission to use, copy, modify, and distribute this soft- ware 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 X Version 11 10-May-97 2 XScreenSaver(1) XScreenSaver(1) notice and this permission notice appear in supporting documentation. AAUUTTHHOORR Timo Korvola , 1996. Ability to run standalone or with _x_s_c_r_e_e_n_s_a_v_e_r added by Jamie Zawinski , 10-May-97. X Version 11 10-May-97 3