~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | Laser Spirography Model | | Technical Information | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Introduction... This file explains how each option presented by the Parameters dialog box affects the output. Contained also is specific information on how this program produces the output pattern. Plotting Algorithm... This program calculates the position of each point plotted in the output window through the use of vector addition. The program multiplies the sine of a mirror's angle of tilt by the distance to the next mirror or to the wall to find the length of the vector for that mirror. The angle is simply the current position of the corresponding motor. After the vectors for all three mirrors have been calculated, they are added using a simplified method of vector addition. The result is converted to a rectangular coordinate system and then offset by the coordinates of a point centered in the output window. The point is then plotted and the motor positions incremented according to their specified speed and direction. The program then loops back to the start. Mirror Angles... This option allows the user to change the angle at which a mirror is mounted on the motor shaft. The larger the angle, the greater effect the corresponding motor's position will have on the overall output pattern. The angle is specified in degrees off of perpendicular. Distances... This option grants the user control over the placement of the mirrors. The user has control over the distance from mirror A to mirror B, from mirror B to mirror C, and from mirror C to the wall on which the pattern is to be displayed (output window). The greater the distance from one mirror to the next (or to the wall), the greater effect the corresponding motor's position will have on the overall output pattern. The distances are specified in relative units. Exact measurements would be meaningless due to variations in screen size from monitor to monitor. Default Motor Positions... This parameter allows the user to specify the starting positions of the three motors. There are two main reasons for using this feature. First, the user may wish to synchronize the rotation of two motors but in different positions. Secondly, the user may find it convenient to have the ability to initiate the viewing of a pattern at a point along its course other than the default starting point. Note that unless two or more motors are synchronized, changing these parameters will have no effect on the output pattern other than to change its starting point. Concurrently Displayed Points... This controls the size of the point erase buffer. As each point is plotted its coordinants are stored in the point erase buffer. The point in the adjacent buffer cell is deleted immediately afterward. Therefore, the larger the buffer, the longer a point is displayed and the more points are on the screen at a time. Chris Gadda ----------------------------------------------------------------------- EOT