2D Distance between 3D line segments

In summary, Scott attempted to solve a problem by translating it into a different mathematical environment, but was unable to do so. He found a possible solution using linear algebra.
  • #1
ScottB
4
0
0. Background

I am a Doctoral student studying Geographic Information Science. I do a good bit of programming during the course of my work. Recently, I happened upon a problem which I cannot solve on my own (my post-calc math comfort zone is mostly in procedure and repetition, not in formulating new approaches to unseen problems; also, I've forgotten important bits of it). This problem arose as I was working on a statistical analysis package for spatial data.

I am a first time reader and poster, and apologize in advance for any faux pas I may commit out of ignorance.

Homework Statement



The statistical software component I am developing needs to calculate the distance between two line segments. Not the absolute distance, as that is trivial. In these data, the x and y dimensions represent space and the z dimension is time (t). The distance must be in terms of space, not of time, meaning that for any point (x,y,t) on the first line distance can only be measured to a single point (x2,y2,t) on the second line (obviously where t=t).

Homework Equations



None given that I didn't derive myself; as I mentioned, this is not a homework problem per say, but rather a problem encountered in the course of separate research.

The Attempt at a Solution



I've taken enough calculus to know that there lies a solution therein. I can, in theory, derive two parabolas on a 2d plane whose distance corresponds to the distance between the two line segments, and then break out a little calculus and solve it. There are two problems with this approach. First, I don't know how to form a translation that will stretch a curved plane (between two skew lines, i think its what they're called) and flatten it while maintaining its properties (thereby translating the two straight line segments into parabolas). I don't even have the correct math vocabulary to explain that understandably. Second, calculus rarely translates well into a computing environment, so that's a dead end I fear.

I'm hoping there is a linear algebra / matrix-related solution to my problem.

In my pursuit of this I have formulated the problem as follows:

I start with four points in 3-space:
(Fx(t0), Fy(t0), t0),
(Fx(t2), Fy(t2), t2),
(Gx(t1), Gy(t1), t1),
(Gx(t3), Gy(t3), t3),

where

t0 <= t1 < t2 <= t3

and

Fx(t) = Afx t + Bfx for t in (t0, t2)
Fy(t) = Afy t + Bfy for t in (t0, t2)
Gx(t) = Agx t + Bgx for t in (t1, t3)
Gy(t) = Agy t + Bgy for t in (t1, t3)

where Afx, Bfx, Afy, Bfy, Agx, Bgx, Agy and Bgy are constants.

Minimize ( (Fx(t) - Gx(t))2 + (Fy(t) - Gy(t))2 )0.5 over t in (t1, t2)

To explain this, I have 'projected' the two line segments onto the x,t and y,t planes, and derived a general expression for each as a function of t. But now that I have my fancy formulation, I haven't the faintest idea where to go from here. Even a keyword would help me, as I am (obviously) deficient in appropriate math vocabulary.

Anyway, I greatly appreciate any help or suggestions I can get; thanks in advance!
- Scott
 
Last edited:
Physics news on Phys.org
  • #3
Hey, thanks for the insight! Yes, I didn't recall the mathematical use of the term 'metric'. That lead me to existing distance metrics, though as was expected none of these were what I was looking for exactly. So I need a method to evaluate the distance between two (really four?) functions of time.

I did consider distance between graphs on the Cartesian plane, but I have no idea how to make a transformation/translation from the 3-space I have onto a plane while preserving my distance metric.

Could you (or anybody) point me to something about distance or minimization of functions using matrix operations? I believe my ignorance here is the central culprit of my dilemma. If I can express the 'minimize' portion of my formulation more concretely, I can code it out.

Thanks! I really do appreciate the help.
 
  • #4
Does anyone know if it would be impolite to knock on a random math professor's door during his or her office hours, introduce myself and ask them for help on this? I feel that taking my research problems to strangers is a bit impudent, but I am running out of sources of help.

Thanks!
 
  • #5
Not at all, nobody ever talks to maths professors so they would probably be delighted to see you!
I got through a physics PhD knowing almost no maths by simply knowing a lot of maths / theoretical physics profs and being the onyl one in the dept who could fix their computers.
 
  • #6
Haha, that's great. It's funny what will get you through, isn't it?
 
  • #7
ScottB said:
Hey, thanks for the insight! Yes, I didn't recall the mathematical use of the term 'metric'. That lead me to existing distance metrics, though as was expected none of these were what I was looking for exactly. So I need a method to evaluate the distance between two (really four?) functions of time.

I did consider distance between graphs on the Cartesian plane, but I have no idea how to make a transformation/translation from the 3-space I have onto a plane while preserving my distance metric.

Could you (or anybody) point me to something about distance or minimization of functions using matrix operations? I believe my ignorance here is the central culprit of my dilemma. If I can express the 'minimize' portion of my formulation more concretely, I can code it out.

Thanks! I really do appreciate the help.
If y is an nx1 vector and X is a nxk matrix, then bX(y) = (X'X)-1X'y is the projection of y to the vector space spanned by X. If for two 3D functions f = (f1, f2, f3) and g = (g1, g2, g3) of time t, you define z(t) = |f(t) - g(t)|, then bX(z(t)) will give you the projection of the difference between f and g at a given t, which you then can minimize with respect to t. Alternatively, you can minimize |bX(f(t)) - bX(g(t))| with respect to t, which is the distance between the two projections.
 
  • #8
EnumaElish said:
If y is an nx1 vector and X is a nxk matrix, then bX(y) = (X'X)-1X'y is the projection of y to the vector space spanned by X. If for two 3D functions f = (f1, f2, f3) and g = (g1, g2, g3) of time t, you define z(t) = |f(t) - g(t)|, then bX(z(t)) will give you the projection of the difference between f and g at a given t, which you then can minimize with respect to t. Alternatively, you can minimize |bX(f(t)) - bX(g(t))| with respect to t, which is the distance between the two projections.
I would definitely have logged in as EnumaElish had PF administration awarded that account the privilege of posting replies, after I reset my e-mail address yesterday (Tuesday). The projection formula in the previous post should have been bX(y) = X(X'X)-1X'y.
 

1. What is the formula for calculating the 2D distance between two 3D line segments?

The formula for calculating the 2D distance between two 3D line segments involves finding the shortest distance between two points, where one point lies on one line segment and the other point lies on the other line segment. This can be done using vector projection and cross product.

2. How is the 2D distance between 3D line segments different from the 3D distance?

The 2D distance between 3D line segments only takes into account the distance between the two line segments projected onto a 2D plane, while the 3D distance takes into account the distance between the two line segments in 3D space.

3. Can the 2D distance between 3D line segments be negative?

No, the 2D distance between 3D line segments is always a positive value since it represents a physical distance between two objects in space.

4. When is the 2D distance between 3D line segments useful?

The 2D distance between 3D line segments is useful in situations where only the distance between the two line segments projected onto a 2D plane is needed, such as in 2D computer graphics or when analyzing 2D representations of 3D objects.

5. What factors can affect the 2D distance between 3D line segments?

The 2D distance between 3D line segments can be affected by the orientation and position of the line segments in 3D space, as well as any skewing or scaling of the 2D plane onto which the line segments are projected.

Similar threads

  • Calculus and Beyond Homework Help
Replies
2
Views
3K
  • Linear and Abstract Algebra
Replies
1
Views
1K
  • Calculus and Beyond Homework Help
Replies
2
Views
1K
  • Linear and Abstract Algebra
Replies
1
Views
1K
  • Introductory Physics Homework Help
2
Replies
64
Views
12K
  • Calculus and Beyond Homework Help
Replies
2
Views
2K
Replies
12
Views
2K
  • Introductory Physics Homework Help
Replies
2
Views
2K
  • Calculus and Beyond Homework Help
Replies
12
Views
2K
  • Special and General Relativity
Replies
6
Views
1K
Back
Top