How to generate array of n equidistant points along a line segment of length x with JavaScript?

To generate an array of n equidistant points along a line segment of length x, we divide the segment into equal intervals and calculate each point's position based on its proportional distance.

Syntax

for (let i = 0; i < n; i++) {
    let ratio = (i + 1) / (n + 1);
    let point = ratio * segmentLength;
    // Add point to array
}

Example

function generateEquidistantPoints(n, segmentLength) {
    const points = [];
    for (let i = 0; i < n; i++) {
        let ratio = (i + 1) / (n + 1);
        let point = ratio * segmentLength;
        points.push(Math.round(point));
    }
    return points;
}

// Generate 5 points along a line segment of length 50
const points = generateEquidistantPoints(5, 50);
console.log("Generated points:", points);
Generated points: [ 8, 17, 25, 33, 42 ]

How It Works

The algorithm divides the line segment into (n+1) equal intervals. Each point is positioned at:

  • Point 1: 1/(n+1) × length
  • Point 2: 2/(n+1) × length
  • Point n: n/(n+1) × length

Example with Different Parameters

// 3 points along length 100
console.log("3 points on length 100:", generateEquidistantPoints(3, 100));

// 7 points along length 70  
console.log("7 points on length 70:", generateEquidistantPoints(7, 70));
3 points on length 100: [ 25, 50, 75 ]
7 points on length 70: [ 9, 18, 26, 35, 44, 53, 61 ]

Key Points

  • Points exclude the start (0) and end positions to maintain equal spacing
  • Use Math.round() for integer coordinates or keep decimals for precision
  • The formula ensures equal distance between consecutive points

Conclusion

This method generates n evenly spaced points by calculating proportional positions along the line segment. The ratio-based approach ensures consistent spacing regardless of segment length.

Updated on: 2026-03-15T23:18:59+05:30

415 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements