Drexel dragonThe Math ForumDonate to the Math Forum

Ask Dr. Math - Questions and Answers from our Archives
_____________________________________________
Associated Topics || Dr. Math Home || Search Dr. Math
_____________________________________________

Spherical Geometry

Date: 02/10/2003 at 08:49:17
From: Russ
Subject: Spherical geometry.

How do I calculate whether two lines that lie on the surface of a 
sphere intersect, and if they do intersect, the point of that 
intersection?

The lines are actually 'straight' as opposed to arcs due to the way 
the spherical polygons are defined as 3D line segments.  However my 
problem lies in determining if the lines cross and where.


Date: 02/10/2003 at 09:29:20
From: Doctor Rick
Subject: Re: Spherical geometry.

Hi, Russ.

Perhaps you can give us some more information. What do you know about 
the lines? Are they specified in terms of the end points in spherical 
coordinates (angles theta and phi), perhaps? Or in 3-d Cartesian 
coordinates x,y,z? Or are the lines specified by one point and a 
direction? There are many possibilities. If I know what information 
we have, it will be easier to decide what method to use to find the 
intersection.

Since the lines are straight and not along the surface of the sphere, 
the problem may be harder, depending on what you mean by crossing or 
intersecting. One line might pass "above" or "below" the other 
(farther or closer to the center of the sphere). If so, are they 
intersecting (in your meaning) or not?

- Doctor Rick, The Math Forum
  http://mathforum.org/dr.math/ 


Date: 02/10/2003 at 10:14:26
From: Russ
Subject: Spherical geometry.

Thanks for getting back to me.  I have been giving the matter more 
consideration and things are perhaps more complex than I first 
thought.

Firstly the line segments are defined using cartesian coordinates 
(x,y,z). The vertices (or start and end points) of the segments are 
on the surface of a sphere but obviously the segments do not follow 
the surface between them.

The point of intersection I am interested in is that seen from the 
centre of the sphere. As you suggest, the intersection may not 
actually occur in 3D space, yet I have to determine the correct point 
on the line segments. So, if we had a line that projected out from the 
centre of the sphere it would intersect the two line segments at the 
point of intersection as viewed when looking down our projected line.

Thanks again.


Date: 02/10/2003 at 15:38:50
From: Doctor Rick
Subject: Re: Spherical geometry.

Hi, Russ. Thanks for the additional information; it makes the 
situation clear. Now we can get to work.

One way we can think of it is this. Each line segment, together with 
the origin of the sphere, defines a plane. We can find the 
intersection of the planes defined by the two line segments; this will 
be a line through the origin, and we will then be able to find the 
intersection of this line with the sphere. This is the point of 
intersection as you are defining it (I believe).

The only other issue is whether the point we have found lies between 
the end points of each line segment. I'll think about that later.

Let's say line segment 1 has endpoints P1 (x1,y1,z1) and P2 
(x2,y2,z2). The plane that contains these points and the origin 
(0,0,0) has the vector equation

  P . (P1 x P2) = 0

In other words,

  x(y1*z2-z1*y2) + y(z1*x2-x1*z2) + z(x1*y2-y1*x2) = 0

Likewise for segment 2 with endpoints P3 (x3,y3,z3) and P4 (x4,y4,z4):

  x(y3*z4-z3*y4) + y(z3*x4-x3*z4) + z(x3*y4-y3*x4) = 0

I'll define the coefficients in the equations above so I don't have 
to type so much:

  A = y1*z2-z1*y2
  B = z1*x2-x1*z2
  C = x1*y2-y1*x2
  D = y3*z4-z3*y4
  E = z3*x4-x3*z4
  F = x3*y4-y3*x4

Then we have

  Ax + By + Cz = 0
  Dx + Ey + Fz = 0

When we solve these equations simultaneously, we can get a pair of 
equations, expressing x and y in terms of z. 

      BF-CE
  x = ----- z
      AE-BD

      AF-CD
  y = ----- z
      BD-AE

The intersection of this line with the sphere of radius R has z such 
that the distance from the origin is R:

  x^2 + y^2 + z^2 = R^2

  (BF-CE)^2       (AF-CD)^2
  --------- z^2 + --------- z^2 + z^2 = R^2
  (AE-BD)^2       (BD-AE)^2

                (BF-CE)^2   (AF-CD)^2
  z = R / sqrt( --------- + --------- + 1 )
                (AE-BD)^2   (BD-AE)^2

From this you can find x and y using the equations above.

I think I'll leave it at this for now. As I said, there is more to do 
in order to check whether the point we've found lies between the 
endpoints of each line segment. But first, is this the kind of thing 
you're looking for?

- Doctor Rick, The Math Forum
  http://mathforum.org/dr.math/ 


Date: 02/11/2003 at 03:36:53
From: Russ
Subject: Spherical geometry.

That is just what I was after. Many thanks. Just one last point. What 
would I expect when working it through, if the two line segments did 
not intersect?

Thanks again.


Date: 02/11/2003 at 08:24:36
From: Doctor Rick
Subject: Re: Spherical geometry.

Hi, Russ.

You're going to get a solution in any case, unless the two line 
segments are on the same great circle (that is, they are in the same 
plane passing through the center of the sphere). In that case the 
denominators in the equations for x and y will be zero.

The main issue is that my formulas find the point of intersection of 
the LINES containing the line segments, and I haven't provided a way 
to determine whether it lies within each segment. There are probably 
several ways this might be done; here is the first that comes to 
mind. We know that the vector P (x,y,z) is in the same plane with P1 
(x1,y1,z1) and P2 (x2,y2,z2). We could take cross products P1xP, PxP2, 
and P1xP2. (We already got P1xP2 in the course of finding the 
intersection.) These cross products will all be collinear, that is, 
each vector will be a scalar multiple of each of the others. If those 
scalar multiples are all positive, P lies on the segment P1P2. 
Likewise for segment P3P4.

- Doctor Rick, The Math Forum
  http://mathforum.org/dr.math/ 


Date: 02/11/2003 at 08:32:47
From: Russ
Subject: Thank you (Spherical geometry.)

Thanks for all your help. That has helped me out a lot and I should be 
on the right track now.

Cheers,
Russ
Associated Topics:
College Higher-Dimensional Geometry

Search the Dr. Math Library:


Find items containing (put spaces between keywords):
 
Click only once for faster results:

[ Choose "whole words" when searching for a word like age.]

all keywords, in any order at least one, that exact phrase
parts of words whole words

Submit your own question to Dr. Math

[Privacy Policy] [Terms of Use]

_____________________________________
Math Forum Home || Math Library || Quick Reference || Math Forum Search
_____________________________________

Ask Dr. MathTM
© 1994-2013 The Math Forum
http://mathforum.org/dr.math/