Sign in to follow this  

Moving a circle between two points

This topic is 3293 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

The direction of motion which allows the largest circle to pass is the direction perpendicular to the line obtained by joining the two points. A circle can pass in that direction between the points without intersecting them only if its diameter is less than the distance between the two points.

Share this post


Link to post
Share on other sites
In the general case of the circle approaching at an angle theta to the line joining the two points, the circle's diameter must be less than [sin(theta) x (distance between two points)] to pass between them. To convince yourself of this condition, draw a diagram where the circle touches just one of the points and then construct a line which is a tangent to the circle and on which the second point lies.

Share this post


Link to post
Share on other sites
Very roughly you can just aim at the midpoint between the two points.

If you want to be more precise then you can calculate the minimum safe distance to pass each point. This gives you an interval from which you can pick the midpoint for the safest shot. If the interval is 'negative' then you know it's impossible. If you allow for the circle to do physics and bounce off the point and then go in, it probably gets even more complicated.

To calculate the minimum safe distance to get the circle past a point, imagine that the point is a circle and the circle is a point and now you're shooting the point so it just clips the circle. [Bleh, getting interrupted. I'll finish this in a bit.]

Share this post


Link to post
Share on other sites
What are you actually trying to accomplish? We really need to know this before you can expect a full answer. Also, my first post should effectively answer your most recent question. Turn the inequality into an equation and solve to find:
theta = arcsin((diameter of circle) / (distance between two points))

Share this post


Link to post
Share on other sites
Ah, now I understand what you're trying to accomplish... This sounds like a sensible way to check whether the ball will be potted, though of course it won't be completely reliable. However, I suspect it may be best just to use the physics engine to simulate everything.

Share this post


Link to post
Share on other sites
ive thought about using such a method, or using brute force to handle it, but i would rather not wiggle my way out of this, and would rather do it this way, so i could learn more and have it better

ive been aiming at the points inbetween the to corners for each pocket, and that works okay, as it hits a couple shots good, but some shots it doesnt, and i would again, want it to be perfect so making simpler difficulties would be easier

Share this post


Link to post
Share on other sites
Unless you want to reformulate all the necessary equations of dynamics to work in reverse, you'll really want to go with an iterative method of some sort. It's far from a cheat, and is commonly used in physics and games for various reasons. If you still want to pursue your current approach, then hopefully some of the maths already posted here has made everything clear.

Share this post


Link to post
Share on other sites

This topic is 3293 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this