You could find the area of triangle CSE and divide by half the length of
line SE for the distance between the center and the line. Unfortunately I
don't see a formula for the area of a triangle in n dimensions without
invoking Heron's Formula (which is a terrible idea since we are working with
vectors).
As a starting point, the area of a triangle given by a shape 3 2 list of 2d
vectors is
   [: -:@| -/ .*@:(,.&1)

Something involving linear algebra is probably also possible.

Marshall

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Henry Rich
Sent: Wednesday, October 06, 2010 4:54 PM
To: Programming forum
Subject: [Jprogramming] Puzzle: line-circle/sphere intersection

Given circle/sphere with center C and radius R, and a line-segment with
startpoint S and endpoint E, write the J code to tell whether the
line-segment intersects the circle/sphere.

R is an atom, the rest are lists with 2 or 3 atoms.

This problem arises in collision detection for games and simulators, or if
you are trying to see whether a path intersects a round obstacle.

I found a solution whose brevity surprised me.

Henry Rich
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to