Find point on XYZ line with Distance

  • Thread starter Thread starter fallingdog
  • Start date Start date
  • Tags Tags
    Line Point
AI Thread Summary
The discussion focuses on finding XYZ coordinates for event line segments along a 3D line represented by XYZ coordinates and a distance value (M) from the start point. The user seeks guidance on how to calculate these event points using Python, specifically how to determine the coordinates based on the distance M. Clarification is provided that using the same variable M for both vertices and events can lead to confusion, suggesting the use of subscripts to differentiate them. Additionally, it is recommended to express the line in parametric form to facilitate the calculation of coordinates for points along the line. The conversation emphasizes the importance of clearly defining variables and understanding the geometric relationships involved.
fallingdog
Messages
1
Reaction score
0
The situation: I have a line represented in 3D space with XYZ coordinates. The line also has a M value for the distance from the start point in 3D. I have another data set that has "events" that I would like to find on my line. They have a distance (M) for the start and stop of the event; therefore, each event will be a line. So, I need to find all of the XYZ values for the vertexes of this new line. I plan on using python for the task.

What I am thinking is -- in pseudo code is:

for each M value in the line starting from 0:
if the M of the event is more then the M of the vertex:
move to the next vert
else:
find the point on the line between vertexes​

add vertexes to my new event line as needed​

So, I can find the distance between points no problem with:

d = ((x1 - x2)^2 + (y1 - y2)^2 + (z1 - z2)^2)^(1/2)

But I am not sure how to find the event points with just the M along the line. Can someone please point me to the right path?

Thanks for any help!
 
Mathematics news on Phys.org
fallingdog said:
The situation: I have a line represented in 3D space with XYZ coordinates. The line also has a M value for the distance from the start point in 3D. I have another data set that has "events" that I would like to find on my line. They have a distance (M) for the start and stop of the event; therefore, each event will be a line. So, I need to find all of the XYZ values for the vertexes of this new line. I plan on using python for the task.

What I am thinking is -- in pseudo code is:

for each M value in the line starting from 0:
if the M of the event is more then the M of the vertex:
move to the next vert
else:
find the point on the line between vertexes
add vertexes to my new event line as needed​

So, I can find the distance between points no problem with:

d = ((x1 - x2)^2 + (y1 - y2)^2 + (z1 - z2)^2)^(1/2)

But I am not sure how to find the event points with just the M along the line. Can someone please point me to the right path?

Thanks for any help!
Your question isn't very clearly stated. For the line in space, do you know the coordinates of the vertices? If you know a given vertex, the distance from the starting point, which you're calling M, can be calculated fairly easily.

Using "M" for both the vertex (i.e., point on the line) and for the event is confusing. It would be better to use a different variable for these, or maybe include a subscript to distinguish M for a vertex (say, MV) from M for an event (say, ME).

You say "each event will be a line." Actually, each event is represented by a line segment. Do these event line segments lie along the line or do they radiate out in some other direction? If they are along the main line, you could write the line in parametric form in terms of a direction vector. Starting from a given point on the line, you could calculate the coordinates of another point at the end of a line segment of known length.
 
public GeoPoint GetPointAt3D(double distance3D)
{
double distanceLengthRatio = distance3D / this.Length3D;
double x = this.FromPoint.X + ((this.ToPoint.X - this.FromPoint.X) * distanceLengthRatio);
double y = this.FromPoint.Y + ((this.ToPoint.Y - this.FromPoint.Y) * distanceLengthRatio);
double z = this.FromPoint.Z + ((this.ToPoint.Z - this.FromPoint.Z) * distanceLengthRatio);

return new GeoPoint(this.WKID, x, y, z);
}
 
Suppose ,instead of the usual x,y coordinate system with an I basis vector along the x -axis and a corresponding j basis vector along the y-axis we instead have a different pair of basis vectors ,call them e and f along their respective axes. I have seen that this is an important subject in maths My question is what physical applications does such a model apply to? I am asking here because I have devoted quite a lot of time in the past to understanding convectors and the dual...
Insights auto threads is broken atm, so I'm manually creating these for new Insight articles. In Dirac’s Principles of Quantum Mechanics published in 1930 he introduced a “convenient notation” he referred to as a “delta function” which he treated as a continuum analog to the discrete Kronecker delta. The Kronecker delta is simply the indexed components of the identity operator in matrix algebra Source: https://www.physicsforums.com/insights/what-exactly-is-diracs-delta-function/ by...

Similar threads

Back
Top