A method for adaptive utilization of a ball-throwing machine in conjunction with a media player , the method comprising: receiving , by control logic, data pertaining to selection of a first training program; transmitting ball-throwing instructions to cause activation of a ball-throwing machine configured to impart motion to one or more balls in accordance with the first training program; the method being characterized in that it executes the following steps: receiving image data of motion of a first ball of the one or more balls, wherein the image data is received from a plurality of cameras (108 1 -108 M ) for a given time period commencing when the first ball is thrown; determining an anticipated trajectory for the first ball by computing a three-dimensional, 3D, topography from an image pair of the image data, and determining a position of the first ball in 3D space based on the 3D topography, and determining the anticipated trajectory based on the position of the first ball in 3D space; and transmitting , by the control logic, media instructions to cause activation of the media player, wherein the media player is configured to display visual data on a receiving surface , wherein the visual data includes content that is based on the anticipated trajectory of the first ball. receiving , by control logic, data pertaining to selection of a first training program; transmitting ball-throwing instructions to cause activation of a ball-throwing machine configured to impart motion to one or more balls in accordance with the first training program; the method being characterized in that it executes the following steps: receiving image data of motion of a first ball of the one or more balls, wherein the image data is received from a plurality of cameras (108 1 -108 M ) for a given time period commencing when the first ball is thrown; determining an anticipated trajectory for the first ball by computing a three-dimensional, 3D, topography from an image pair of the image data, and determining a position of the first ball in 3D space based on the 3D topography, and determining the anticipated trajectory based on the position of the first ball in 3D space; and transmitting , by the control logic, media instructions to cause activation of the media player, wherein the media player is configured to display visual data on a receiving surface , wherein the visual data includes content that is based on the anticipated trajectory of the first ball. receiving image data of motion of a first ball of the one or more balls, wherein the image data is received from a plurality of cameras (108 1 -108 M ) for a given time period commencing when the first ball is thrown; determining an anticipated trajectory for the first ball by computing a three-dimensional, 3D, topography from an image pair of the image data, and determining a position of the first ball in 3D space based on the 3D topography, and determining the anticipated trajectory based on the position of the first ball in 3D space; and transmitting , by the control logic, media instructions to cause activation of the media player, wherein the media player is configured to display visual data on a receiving surface , wherein the visual data includes content that is based on the anticipated trajectory of the first ball. <EOS>