View Question
Q: 3d moving point intercepting a (sphere or Frustum of Right Circular Cone). ( No Answer,   1 Comment )
 Question
 Subject: 3d moving point intercepting a (sphere or Frustum of Right Circular Cone). Category: Science > Math Asked by: focusedny-ga List Price: \$6.00 Posted: 05 Apr 2004 09:10 PDT Expires: 20 Apr 2004 05:58 PDT Question ID: 325446
 ```I need to find a way to do two things. Find the time it will take for a 3d point( lets this point ball) traveling at a constant velocity to intercept the surface of a sphere. I also need to find the time it will take for ball traveling at a constant velocity to intercept a Frustum of Right Circular Cone. Remember this is in 3d space. I figured if I can some how find the closest point (on the sphere of Frustum of Right Circular Cone) that the velocity vector of ball will intercept. I would have to find the distance to that intercept point from ball?s position. Once that is done all I would have to do is (time till intercept) = MagnitudeOf(ball?s velocity vector)/DistanceBetween(ball and intercept point). The only part I don?t know how to do is come up wit the equation to shoot the vector through the 3d objects and find the intercept point(s). If there is another way to do this I am also willing to accept it.``` Request for Question Clarification by mathtalk-ga on 05 Apr 2004 14:54 PDT ```Two quick things: A constant velocity means the point is moving in a straight line, right? And by an analysis of units: time til intercept = distance / speed which is the reciprocal of what you have. To find the point of (closest) intersection of a line (point's trajectory) and a quadratic surface (either the sphere or the frustum of a right circular cone), use a parametric equation for the point's position in time: (x(t),y(t),z(t)) where each coordinate x,y,z is a linear function of time (because of the constant velocity). Plug these expressions for x,y,z in terms of t into the equation of the surface and you'll get a quadratic to solve for t. If "now" is time zero, then the first intercept is the smallest positive root t. Note that a trajectory may have no intercept (no real roots), or it may have one or two roots "in the past" (negative t) that you should ignore. You may also want to test whether the point is "now" inside the surface, in case your point is suppose to have an effect only when penetrating the surface from the outside. You then introduce another degree of difficulty, I believe, when you refer to a "ball" intercepting a frustum of a cone. Just to be clear, is the "ball" a sphere of known radius? If so, you can largely treat the ball as point and the cone as a larger cone (based on the observation that when the original ball is tangent to the orginal cone, its center lies on the surface of a larger cone). The only catch is dealing with boundaries where the cone is truncated, where it's possible for the "ball" to reach these boundaries later than when its center would pass the surface of the enlarged cone. regards, mathtalk-ga``` Clarification of Question by focusedny-ga on 05 Apr 2004 15:24 PDT ```Yes you?re right time till intercept = distance / speed and the ball is a point is just named it ball to differential it from the intercept point. Yes it is moving in a straight line. Just to clarify Known 1-Balls position and velocity 2-Sphere position and radius 3-Frustum of a cone?s position of both points and radii. Unknown 1-Interception point on object?s surface``` Clarification of Question by focusedny-ga on 05 Apr 2004 15:25 PDT `I meant differentiate.` Clarification of Question by focusedny-ga on 11 Apr 2004 22:33 PDT `thanks for the response`
 ```Perhaps I would organize the solution in this way. Let (x0,y0,z0) be the current position of the ball/point. Let (x',y',z') be the its constant velocity, with time t measured in consistent units. Then the parametric form of the point's trajectory is: (x0 + t*x', y0 + t*y', z0 + t*z') It remains only to provide an equation for the surface to be intersected. This is quite easy for the sphere, whose equation, given radius r and center: (xc, yc, zc) is of course: (x - xc)^2 + (y - yc)^2 + (z - zc)^2 = r^2 Upon substituting the parametric expressions: x = x0 + t*x' y = y0 + t*y' z = z0 + t*z' you will obtain a quadratic equation for t, which may have one, two, or no real roots. As discussed before, you are interested in the smaller of any positive real roots (except that you may wish to check for one positive and one negative root and interpret that a the point emerging from inside the sphere). A root at time t = 0 would indicate the point is one the sphere's surface "now", and this too may have some special significance for your application. Treatment of the frustum of the cone would be similar. However the frustrum of a cone is necessarily less symmetrical than the sphere, which manifests itself in awkward expressions for the general equation for the cones surface. I would apply a rigid transformation (rotation and translation of coordinates, which would need to be applied equally to the ball/point's trajectory) so that the axis of the cone becomes simply the z-axis (say). Then your data for the cone would consist of two points for the top and bottom circles positioned some equal distance apart on the z-axis as they were originally, together with their respective radii (for the top and bottom circles). That is: (0,0,zA) with radius rA (0,0,zB) with radius rB Now the surface of the full (dual) cone consists of the rotation of a line, e.g. the one in the xz-plane given by: x = m (z - zB) + rB where m = (rA - rB)/(zA - zB), all the way around the z-axis. The equation of the full (dual cone) is then: x^2 + y^2 = ( m(z - zB) + rB )^2 One substitutes the parametric expressions for x,y,z in terms of t as before, and solves the resulting quadratic equation for any (positive) real roots t. However there is an additional check to perform, given such real roots t, to verify that the points of contact lie in the frustum region and not beyond. This check is easily performed, however, by evaluating the z-coordinate from t and seeing if this z-value is between zA and zB. Again there are circumstances such as a point emerging through the frustum from within the cone whose significance is best determined by your intended application. Hopefully this account is sufficiently detailed for you to be able to apply its principles to the specifics of your own notations (which I assume will involve some programming!). best wishes, mathtalk-ga```