Let assume you have two points (a , b) in a two dimensional plane. Given the two points, what is the best way to find the maximum points on the line segment that are equidistant from each point closest to it with a minimal distant apart.
I use C#, but examples in any language would be helpful.
List<'points> FindAllPointsInLine(Point start, Point end, int minDistantApart)
{
// find all points
}
Interpreting the question as:
startendminDistanceApartThen, that is fairly simply: the length between
startandenddivided byminDistanceApart, rounded down minus 1. (without the minus 1 you end up with the number of distances between the end points rather than the number of extra points inbetween)Implementation:
If you want all the points, including the start and end point, then you’ll have to adjust the for loop, and start ‘px’ and ‘py’ at ‘start.x’ and ‘start.y’ instead. Note that if accuracy of the end-points is vital you may want to perform a calculation of ‘px’ and ‘py’ directly based on the ratio ‘ix / numPoints’ instead.