the present invention includes programs , devices and methods for a programmable ball throwing machine that is able to eject balls to preset , programmed or manually - selected positions with programmable projection and travel characteristics . the present invention includes a computer implemented method for controlling the parameters of a ball flight and trajectory in three dimensions including one or more parameters to identify a flight and trajectory of a ball in three dimensions for one or more player positions and a processor to control one or more motors in response to the one or more parameters .