How to find which sphere is going to be hit first?

71 Views Asked by At

Suppose the white sphere is going to be thrown in direction of the others like in the image.

How can I detect which sphere is going to be touched (by the white) first?

enter image description here

All spheres have the same radius and are in the same Y position, as if they were on a table (in the image, they are being viewed from above).

What I thought:

  • Let S be the set of all the spheres that would be hit in the white's path

  • The sphere that will be hit at first will be the one in S with the minimum distance to the white

Edit: I just found a counter-example that breaks my hyphotesis:enter image description here

The yellow is nearer the white but the green will be hit first.

I could deduce now that the sphere that will be hit first is the sphere whose hitpoint is the nearer, so my question resumes to: How to find the hitpoint between the white and another sphere?

3

There are 3 best solutions below

0
On BEST ANSWER

Draw a circle around each of the stationary balls with radius equal to the sum of the radii of the stationary ball and moving white one, then compute the intersections of these circles with the path that the center of the white ball takes. The intersection nearest the white ball’s starting point corresponds to the first stationary ball that will be hit.

3
On

Great question! I think the following approach will work. (This is really about circles, not spheres, since as noted in the question, the centers are all coplanar.)

Let the moving sphere (sphere $0$) be initially centered at $(a_0,b_0)$ and suppose it moves with constant speed in direction $\langle u,v\rangle$. Choose units for time so that the center of sphere $0$ at time $t$ is $(a_0+tu,b_0+tv)$.

Let the other spheres’ centers be $(a_i,b_i)$ for $i=1,\dots,k$. Let the radius of sphere $i$ be $r_i$. The square distance between sphere $0$ and sphere $i$ at time $t$ is then $f_i(t)=(a_0+tu-a_i)^2+(b_0+tv-b_i)^2$. Spheres $0$ and $i$ are in contact when $f_i(t)\le (d_0+d_i)^2$.

The equation $f_i(t) = (d_0+d_i)^2$ is a quadratic equation in $t$. If it has real solutions $r_i$ and $s_i$, spheres $0$ and $i$ are in contact between times $r_i$ and $s_i$. (Think about this. The graph of the distance between the spheres versus time is a parabola that opens upward, and two spheres overlap during a single interval, that is, when the distance between their centers is less than the sum of their radii.)

Determine each of the quadratic functions $g_i(t)=f_i(t)- (d_0+d_i)^2$. For each $i$ where $g_i(t)=0$ has at least one non-negative real solution, let $t_i$ (time of first contact) be the larger of $0$ and the smallest (positive, zero, or negative) real solution of $g_i(t)=0$. The first sphere to be contacted is the one where $t_i$ is smallest.

0
On

Assume that the white sphere of radius $r>0$ starts at the origin in direction of the positive $x$-axis, and that another sphere of radius $r$ is at position $(a,b)$ with $a>0$ large enough. Then the white sphere will hit the other sphere iff $|b|\leq 2r$. Let $x>0$ be the $x$-coordinate of the center of the white sphere at that moment. Then we have $(a-x)^2+b^2=4r^2$, or $$x=a-\sqrt{4r^2-b^2}\ .$$ If $n$ colored spheres in $3$-space are given with centers $$(a_i,b_i\cos\phi,b_i\sin\phi),\quad \ 0\leq b_i\leq2r\qquad (1\leq i\leq n)\ ,$$ then the sphere which is hit first has number $$i_*={\rm argmin}_{1\leq i\leq n}\left(a_i-\sqrt{4r^2-b_i^2}\,\right)\ .$$