已知两点坐标,按设定的数量来生成所有的坐标数

以下是根据两个点,获取点之间的所有坐标。

现在我的问题是,如何按我设定的点数来坐标来生成?比如 a = (316,61) ,b = (414,44),我需要按100来个坐标点来生成,该如何实现?

List<PointF> list = new List<PointF>();

            for (float i = a.X; i <= b.X; i++)
            {
                PointF f = new PointF();
                // 计算斜率
                float k = ((b.Y - a.Y)) / (b.X - a.X);
                // 根据斜率,计算y坐标
                float y = k * (i - a.X) + a.Y;

                f.X = Convert.ToSingle(i.ToString("F2"));
                f.Y = Convert.ToSingle(y.ToString("F2"));

                list.Add(f);
            }

参考

public static List<Point> GetPoints(Point a, Point b, int count) 
{ 
    var points = new List<Point>(); 
    int dx = Math.Abs(b.X - a.X); 
    int dy = Math.Abs(b.Y - a.Y); 
    int x = (a.X < b.X) ? 1 : -1; 
    int y = (a.Y < b.Y) ? 1 : -1; 
    int err = dx - dy; 
    int e2; 
    for (int i = 0; i < count; i++) 
    { 
        points.Add(new Point(a.X + x * i, a.Y + y * i)); 
        if (err <= 0) 
        { 
            e2 = err; 
            err += dy; 
            x += x * y; 
            y += x * y; 
        } 
        else if (err > dx) 
        { 
            e2 = err + dx; 
            err += dx; 
            x += y * dx; 
            y += x * dx; 
        } 
    } 
    return points; 
}