- Home /

# How to get a "Traveled" vector point along a path with some width?

For example I have a path, that consists of 10 cross sections. Each cross section defines a center point and edge points. So in total I have 30 vector points that define my path, which the traveler X can travel. My goal is to receive the traveled distance along the center points, centerpoints[currentPoint].

My current approach relies on dot product, but as soon as the traveler goes away from the center I get incorrect results. I am currently not using the edge points, but they are there if needed, because they define the width limits to the path.

Here is the code of my approach:

```
int points = 10; // size of the path list
int pointNumber = 0; // find the closest point in path list to traveler
// Measure the total length of the path and store distance per segment
float accumulateDistance = 0;
for (int i = 0; i < path.Count; i++)
{
Vector3 p1 = path[(i) % points].centerPoint;
Vector3 p2 = path[(i + 1) % points].centerPoint;
if (p1 != null && p2 != null)
{
accumulateDistance += (p1 - p2).magnitude;
path[i].dist = accumulateDistance;
}
}
// Measure the traveled distance along path
Vector3 currentPoint = path[pointNumber].centerPoint;
Vector3 nextPoint;
if (r.currentWaypoint < path.Count - 1)
nextPoint = path[pointNumber + 1].currentPoint;
else
nextPoint = path[0].currentPoint;
Vector3 forward = (nextPoint - currentPoint);
Vector3 relativePos = traveler.transform.position - currentPoint;
float distAdd = Vector3.Dot(relativePos, forward.normalized);
progressDistance = path[pointNumber].dist + distAdd;
```

**Answer** by ifisch
·
Sep 02, 2020 at 11:33 PM

If you want the question answered, you should include a diagram.

### Your answer

### Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.