Dr.Dave's 30 degree rule visualized

Love this take. The real time plotting adds a missing dimension. My take on the principle is, the path the cue ball takes is always closer to paralleling the collision tangent so I end up going with that. Maybe that could be added as a function of paralleling the cue ball center?
 
Love this take. The real time plotting adds a missing dimension. My take on the principle is, the path the cue ball takes is always closer to paralleling the collision tangent so I end up going with that. Maybe that could be added as a function of paralleling the cue ball center?
But what if the approach angle of the cue ball is 0? Like when the CB hits the OB head on, then the path of the CB is the farthest from the tangent
 
Love this take. The real time plotting adds a missing dimension. My take on the principle is, the path the cue ball takes is always closer to paralleling the collision tangent so I end up going with that. Maybe that could be added as a function of paralleling the cue ball center?

How is your "collision tangent" different from the tangent line? Obviously, rolling cue balls do not roll along the tangent line.
 
But what if the approach angle of the cue ball is 0? Like when the CB hits the OB head on, then the path of the CB is the farthest from the tangent
Absolutely. The closer to perpendicular the cue ball direction is to the tangent, the sooner it crosses that line and the more of its original direction it will retain. Your video continues to further off center hits where the cue ball very nearly parallels the tangent line. Even drawing in the tangent line will clearly show this.
 
Last edited:
How is your "collision tangent" different from the tangent line?
For purposes of that post, it doesn't except to specify <A> tangent line.

Obviously, rolling cue balls do not roll along the tangent line.
No they want to bend in the direction of the tangent but the video shows thinner collisions where the cue ball will nearly parallel the collision tangent. Showing the tangent as well as the center sphere line helps define the actual exit of the ball as well as its swath.
I feel including the extra lines as well as contact geometry would simplify aiming to it's essence - what the peace sign lick is all about.
 
Love this take. The real time plotting adds a missing dimension. My take on the principle is, the path the cue ball takes is always closer to paralleling the collision tangent so I end up going with that. Maybe that could be added as a function of paralleling the cue ball center?
I guess my question is I don't really understand your comment. Could you maybe rephrase it a little? Thanks!
 
Here is a plot of the cue ball deflection angle versus fullness of hit....

1680535905575.png
 
Is the bright reflection in the middle of the cue ball?
I understand your concern. Even though the bright spot is no at the center of the cue ball, it doesn't move (move very slightly) on the surface (at least for the shots in this video), so it still accurately represents the trajectory of the ball.
 
I understand your concern. Even though the bright spot is no at the center of the cue ball, it doesn't move (move very slightly) on the surface (at least for the shots in this video), so it still accurately represents the trajectory of the ball.
Is there any way in the software to do:

find the spot
find the roundish area surrounding the spot
find the center of the roundish area

That still would not give what you would really like which is the x-y position of the ball on the table.

Do you have a plan for more complicated lights? (Predator ring lights, fluorescent tubes, etc.)
 
Is there any way in the software to do:

find the spot
find the roundish area surrounding the spot
find the center of the roundish area

That still would not give what you would really like which is the x-y position of the ball on the table.

Do you have a plan for more complicated lights? (Predator ring lights, fluorescent tubes, etc.)
Actually I have a code that does exactly that, but the code can only track one ball of a particular color that you specified before hand. I'm bad at coding so I need time to figure out how to track multiple balls using the method you described.

On the other hand, there is a dedicated method called HoughCircle transform that detects round objects in the frame, and it often gives too many false circles (shadows, pockets, even sometimes out of nowhere on the table cloth)
 
I understand your concern. Even though the bright spot is no at the center of the cue ball, it doesn't move (move very slightly) on the surface (at least for the shots in this video), so it still accurately represents the trajectory of the ball.

I think you could use that bright spot to target hough transforms to identify the circumference of the ball, and then find the center of that circle as a good reference point for the center of the ball.
 
I guess my question is I don't really understand your comment. Could you maybe rephrase it a little? Thanks!
No you're correct in that at slightly off center hits, the 30 degree rule is sufficient. I think though that what happens there is closer to the spot on the far side of the object ball method.
Follow.jpg

The aim point is the front of the object ball where the intended direction is inscribed from center sphere outward. The ball has to sidestep by at least the amount of object ball it displaces and then settles in to parallel the intended path. Roughly that 30degree angle. This is of course speed sensitive as is the 30 degree rule.
 
I think you could use that bright spot to target hough transforms to identify the circumference of the ball, and then find the center of that circle as a good reference point for the center of the ball.
You mean to use the bright spot as an "initial guess" for the location of the circle for Hough transform? I don't know you can do that! Could you tell me a little more about it?

On a different note, I think the more important application is to detect balls in regular videos like the one you record using an iPhone, say. Then 99.999% of the time there will be no bright spot, so my approach using optical flow is very limited in that sense. (It works sometimes for regular videos, and sometimes it produces zigzaggy trajectory because the ball's color is pure, so there is not much feature to track)
 
No you're correct in that at slightly off center hits, the 30 degree rule is sufficient. I think though that what happens there is closer to the spot on the far side of the object ball method.
View attachment 695049
The aim point is the front of the object ball where the intended direction is inscribed from center sphere outward. The ball has to sidestep by at least the amount of object ball it displaces and then settles in to parallel the intended path. Roughly that 30degree angle. This is of course speed sensitive as is the 30 degree rule.
I'm not familiar with the "spot on the far side of the object ball method" Can you provide a tutorial to this?
 
You mean to use the bright spot as an "initial guess" for the location of the circle for Hough transform? I don't know you can do that! Could you tell me a little more about it?

On a different note, I think the more important application is to detect balls in regular videos like the one you record using an iPhone, say. Then 99.999% of the time there will be no bright spot, so my approach using optical flow is very limited in that sense. (It works sometimes for regular videos, and sometimes it produces zigzaggy trajectory because the ball's color is pure, so there is not much feature to track)

If you know camera fov you could just set a fixed radius around the bright spot to look for hough circles . If not you could iterate an expanding radius and apply a mask to identify when the object ends, and then run a hough transform on that iterated area.

But because you are not running this real time, you should look into image segmentation and YOLO, which will give the centerpoint of each detected ball (but typically not its circumference). You will have to train your own image database of balls or pull a generic one from a public source like imagenet.
 
Back
Top