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