生成属于一条线的点的坐标

时间:2016-01-07 23:01:21

标签: math

假设使用具有坐标(X0,Y0)的点A和具有坐标(X1,Y1)的B绘制线,是否存在可用于生成A之间的随机点坐标的随机算法和B在同一条线上。

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法计算线的斜率:

m = (Y1 - Y0)/(X1 - X0)

然后你可以使用以下方法计算线上的任何点:

y = m*(x - X0) + Y0

使用任何循环/迭代实际计算y点之间的值,使用类似:

for (int x = X0 + 1; x < X1; x++) {
    int new_point = m*(x - X0) + Y0;
}

当然,您可以设置自己的步长,并使用双倍或任何需要的。

如果您希望点是随机的而不是统一选择的,您可以使用随机生成器在域(X0, X1)中生成值(此实现将特定于语言)并将它们再次插入到公式中获取随机x坐标的y坐标。