Я перенес эту функцию из ответа python на аналогичный вопрос на этом сайте. Однако, хотя точки равноудалены друг от друга, они не центрированы на линии.
Первая точка находится в 0
, а последняя - в 83
(конец сегмента линии 100
).
Как мне центрировать этот ряд точек?
В частности, я хочу, чтобы первая точка находилась на том же расстоянии от 0
, что и последняя точка от 100
.
'use strict';
function generatePoints(count, length) {
const points = []
for (let i = 0; i < count; i++) {
const a = i / count;
const x = a * length;
points.push(Math.round(x));
}
return points;
}
const points = generatePoints(6, 100);
console.log(points);
// [ 0, 17, 33, 50, 67, 83 ]
Я пробовал это, но похоже, что он работает не так, как я ожидал:
for (let i = 0; i < points.length; i++) {
points[i] += (points[1] / 2);
points[i] = Math.round(points[i]);
}
console.log(points);
// [ 9, 26, 46, 63, 80, 96 ]
Первая точка находится 9
от 0
, но последняя точка 4
от 100
.