Я не до конца понимаю, как выглядят ваши входные данные, но вы можете сгенерировать точки, используя рекурсивный CTE:
with points as (
select 1 as x_start, 2 as y_start, 9 as x_end, 10 as y_end
),
cte as (
select x_start as x, convert(float(53), y_start) as y, 9 as x_end, convert(float(53), (y_end - y_start) * 1.0 / (x_end - x_start)) as slope
from points
union all
select x + 1, y + slope, x_end, slope
from cte
where x < x_end
)
select *
from cte
order by x;
Здесь - это db <> скрипка.