THE HELICAL COLONY COMPUTER PROGRAM

The helical colony computer program is written in VISUAL BASIC, the code of which is provided in the Appendix (the code was originally written in VB 3.0, but subsequently modified and expanded, and now runs in VB 6.0). An executable version of the code is also available in the Appendix. This program was used in producing the simulations shown in Figure 1. The default values of the parameters are set so as to produce an initial simulation approximating that of the colony form illustrated in figure 2 of McKinney and Raup (1982); that is, ELEV = 0.17, BWANG = 60, XMIN = 20, ANG = 45, and RAD = 2. These parameter settings can be changed by simply pressing the desired button that appears on the monitor screen adjacent to each simulation, whereupon the program will prompt the user that the parameter values have been changed. Press the "Run Again" button, and the new simulation will appear on the screen.

In addition to the original five geometric parameters of McKinney and Raup (1982), this version of the program also allows the user to specify the number of whorls produced in the simulation and the number of growth increments (defaults are set at 2.8 whorls and 25 growth increments). The user may also change the growth gradient at the distal (uppermost) whorl of the colony simulation. The default value is set at "Growth gradient" = 1, which tapers the length of the branches in the distal whorl from the colony diameter down to zero at the uppermost tip of the simulation. This gradient in branch length reduction may be reduced by setting the growth gradient to a value < 1; a value of zero eliminates the growth gradient, and the branches in the distal whorl will grow to the same diameter as the rest of the colony.

The parameter XMIN is subject to Gaussian random variation to simulate natural growth variation seen in actual helical colonies (see McKinney and Raup 1982, p. 105). Each time the program is run, a new random number seed is used. The user may also specify the random number seed to be used in the simulation by pressing the "Random number seed" button.

Three-dimensional stereo pairs of a simulation (see McKinney and Raup 1982, figure 2) may be produced by rotating the simulation about the z-axis. This can be accomplished by using the "Rotation" button: first, run one simulation with Rotation = +3 (degrees), print it, and then run a second simulation with Rotation = –3 (degrees). The perspective from which the simulation is viewed may also be changed by using the "Tilt" button, which rotates the simulation either clockwise or anticlockwise on the screen. The values for the angular program variables BWANG, ANG, Rotation, and Tilt are all input as degrees, but all internal computations in the program are in radians.

Scaling for the screen display is in twips, using part of the screen area (7000 high by 7000 wide). The program executes a "trial" run to determine the limits of the simulation picture and hence its scaling. The program is written to assume a standard monitor of 1024 by 768 pixel area, with 15 twips per pixel. Other monitors will change the graphic output and font size; check (with WINDOWS) to set screen resolution at 1024 by 768 for best graphic results. If the user further desires, the position of the simulation on the computer screen can also be moved by altering the final two lines of code in the Convert Subroutine (i.e., xp = 4000 + (xp – Hmin) * Pscale, and zp = 8000 – (Vmax – zp) * Pscale), which determine the X-Y plot coordinates on the screen (default values are 4000 and 8000, respectively).