next up previous
Next: Output and Interaction Issues Up: Stochasticks: Augmenting the Previous: Color Model Classification

Strategy and Planning

We now describe a strategy for selecting the shot that is most likely to succeed. Starting from the cue-ball, we compute linear trajectories to all solid balls (or striped balls if the user selects to play as stripes). We then compute linear trajectories from these to the detected pockets. Then we test each of these possible trajectories: from cue-ball to solid-ball to pocket to find those that don't involve any collisions with other objects. If no solid balls are found, we test the 8-ball for possible trajectories.

We then weight each of the 'valid' trajectories by the following heuristics. Each time the user is to take a shot, we are really interested in the angle at which he or she hits the cue ball (we shall assume that the force with which the cue ball is hit is going to be determined by the user). So, what is fundamentally being suggested to the user is an angle at which to hit a cue ball, say tex2html_wrap_inline387 as a deviation from the line connecting the cue ball to the solid ball. The more accuracy we need on tex2html_wrap_inline387, the harder the shot. Figure gif shows how we can determine the required angle. The distance from the cue-ball to the solid-ball is l and the distance from there to the pocket is L. The angle formed by the three objects is tex2html_wrap_inline395 at the solid ball. We can compute tex2html_wrap_inline387 using this information as well as a bound on the maximum error on tex2html_wrap_inline387 which is tex2html_wrap_inline401.

  figure238
Figure: Determining the Angle and the Difficulty

For each possible shot, we compute tex2html_wrap_inline403 and display to the user the shot with the greatest value of tex2html_wrap_inline403 (the shot which requires the least accuracy) with the required trajectory (along tex2html_wrap_inline387) superimposed on the image. This is a simplified first-order strategy model since it is only 2D and does not include spin effects, kinematics or rebounds in the computation of the shots.


next up previous
Next: Output and Interaction Issues Up: Stochasticks: Augmenting the Previous: Color Model Classification

Tony Jebara
Wed Feb 18 18:52:15 EST 1998