Ball Machine

The ball machine in ETT mimics real table tennis robots and expands upon their possibilities. While most table tennis robots have the ability to vary speed, spin, frequency and direction of the ball by selecting or programming a preset sequence, ETT's ball machine can vary all of these plus the point of origin (traditional physical table tennis robots don't have the ability to move themselves) and even introduces corkscrew spin, which is not possible to generate for traditional table tennis robots.

Parameters
Each ball setting is a combination of the following 20 parameters:


 * Point of origin, with X, Y and Z paramaters being left/right, down/up and near/far axes respectively
 * Direction, with horizontal and vertical angle control
 * Spin, with each of the three axes of possible spin relative to initial direction.
 * Speed, with launch speed and frequency of launch.
 * Variance, which allows you to set ± values for each of the previous parameters to create a range from which a value is randomly chosen with each new launch.

It's important to note for stringing together sequences that "seconds per launch" is how long before the ball is launched, not how long after.

Ball presets
A ball preset allows you to specify point of origin, spin on each axis (top/back, left/right, clockwise/anticlockwise spin), shot direction (horizontal and vertical components) and shot speed and shot frequency. You can also specify a variance range for each of these parameters. The output for each parameter will be value±variance, and by default at 0 variance, there is no variation.

There is a range of presets already programmed in to the game, and you can add new ball presets by pressing the + icon, delete with the - icon, change the ordering and modify existing presets.

Sequences
By selecting the checkboxes by each ball preset, you are selecting them to be a part of a sequence where the ball machine will cycle through each of the ball presets.

Fine-tuning
It is difficult to select precise values in ball machine by moving a slider. Therefore, if you move your pointer up while moving a slider, the further up your pointer is from the slider, the finer the tuning is. This makes it much easier to select precise values.