A Product–Delay algorithm for graphic designAsok K. SenDepartment of Mathematical Sciences, Indiana University, 402 N. Blackford Street, Indianapolis, IN 46202, USAAvailable online 9 February Product–Delay algorithm is presented for creating graphic designs on a computer. In this algorithm two functions u(t) and v(t) are multiplied yielding a function x(t). Another function y(t) is formed by delaying or advancing x(t) by a fixed amount of time t. These functions are evaluated over a suitable time interval and the results are plotted in the x–y plane. For appropriate choices of the functions and parameters, the x–y displays exhibit interesting geometric patterns. In this paper the algorithm is illustrated with a pair of sine and square waves. It is shown that a wide variety of graphic designs can be created with these simple waveforms. By virtue of its simplicity this algorithm can be programmed easily and quickly using general purpose software such as Maple, Matlab or Mathematica. It can be executed on standard platforms such as IBM PC compatibles, Macintosh computers or workstations. Some results in polar coordinates are also Keywords: graphic design; product-delay algorithm; computer art1. IntroductionIt has long been recognized that mathematics and computers can be used in a complementary fashion for the creation of visual arts. Several mathematical methods have been developed over the years for generating graphic designs on the computer. The methods range from simple iteration schemes such as fractal generation techniques to solving systems of differential equations of nonlinear dynamics and chaos[1, 2]. In this paper we will present a different methodology for creating graphic designs using computers. This methodology is based on the idea of Lissajous figures and is referred to as the Product–Delay algorithm. We will illustrate its application to graphic design with a pair of sine and square waves. It will be seen that with these simple waveforms the Product–Delay algorithm can produce a multitude of interesting geometric formulation is based on multiplying two functions u(t) and v(t), yielding a new function x(t). It is convenient to think of the variable t as time. The function x(t) is delayed or advanced by a fixed amount of time. The resulting function y(t) is plotted against x(t) in a phase-plane like representation. For suitable choices of the functions and parameters, the x–y displays exhibit a rich variety of geometric patterns. We will appropriately call this procedure the Product–Delay algorithm. The concept of a time delay is often used in nonlinear signal processing applications including the analysis of chaotic dynamics. The purpose is to construct a phase portrait from the measurement of the time series of a single system variable. In these applications the original time series is delayed by a certain amount of time. The original time series and the delayed series are plotted to construct a phase portrait of the system dynamics[3]. The notion of a discrete time delay has also been used recently in a different context[4].All the computations reported in this paper are performed using the software Maple V (Release 4) on a SUN Ultrasparc workstation. They can also be carried out with other general purpose software such as Matlab or Mathematica, and on different platforms such as IBM PC compatibles, Macintosh computers and other . Pattern formation with sine and square wavesTo begin with our development we consider a simple combination of sine and square waves. In particular, we takeu(t)=a1+sin(2 πf1t), (1)v(t)=a2+sin(2 πf2t)/|sin(2 πf2t)|. (2)Here the vertical bars denote the absolute value of the function inside them. The function u(t) is a sine wave of amplitude unity, frequency f1 and offset a1, whereas the function v(t) represents a square wave of amplitude unity, frequency f2 and offset a2. We now form the productx(t)=u(t)v(t), (3)and select a delay/advance time δ to construct the functiony(t)=x(t+δ).. Effect of a nonzero offsetHere we investigate the effect of a nonzero offset in the sine or the square wave. First consider the sine wave u(t) as before with no offset (a1=0) but the square wave with an offset a2=−. In other words, we use u(t) as given by Eq. 5, but Eq. 6 is replaced withv(t)=−(2π.3000t)/|sin(2π.3000t)|. (8)These functions together with those given by Eq. 3 and Eq. 7 are evaluated over the time interval [0, ] at 500 numpoints. The result is the pattern depicted in Fig. 2. From a comparison of Fig. 1 and Fig. 2 it is apparent that Fig. 2 possesses a similar structure as Fig. 1 around its center but the presence of an offset in the square wave has led to significant deformation in Fig. 2 from the outer periphery inward. As the offset a2 is increased through negative values, the pattern continues to lose its central structure and in the limiting case a2=−1, ., when the magnitude of the negative offset equals the amplitude of the square wave, the inner structure around the center is completely lost and the twelve limbs intersect in a single point at the center. We now consider an offset whose magnitude is larger than the amplitude of the square wave. Fig. 3 portrays the scenario for a2=−2. Observe the emergence of a clear region around the center. If the offset is increased through large negative values, the central clear region tends to increase in size and the resulting pattern tends to approach a circle with no internal structure when the magnitude of the offset is very large. Note that all these patterns are rotationally Full Size version of this image (5K)Fig. 2. Same parameter values are used as in Fig. 1 except with an offset of − in the square waveDisplay Full Size version of this image (5K)Fig. 3. Same parameter values are used as in Fig. 1 except with an offset of − in the square waveNext we examine the effect of introducing a nonzero offset in the sine wave. Consider, for example, a1=−1 with a2=0. These choices lead to a bundle-like pattern with bilateral symmetry as shown in Fig. 4. If the offset a1 is increased through negative values, the bundle continues to become narrower, and for large negative values of a1, the pattern approaches a line of slope unity. Other interesting patterns can be created by introducing a nonzero offset in both the sine and square Full Size version of this image (5K)5. Concluding remarksWe have presented a few prototypical examples of graphic patterns that can be created with the Product–Delay algorithm using sine and square waves. Clearly it is possible to create numerous other patterns with these waveforms by appropriately selecting the various parameter values. An even richer variety of patterns can be produced by using other types of functions. In a future paper we will explore the effect of amplitude and frequency modulated waves and other complex waveforms on pattern generation