Javascript 如何在线段上生成随机点?

Javascript 如何在线段上生成随机点?,javascript,canvas,Javascript,Canvas,我正在使用HTML画布和绘制线段。我想用JavaScript在线段上生成一个随机点。给定点((p1.x,p1.y),(p2.x,p2.y)),给定一个介于0到1之间的修饰符,我该如何做呢?例如,如果修改器为0.75,则生成的新点将是从p1到p2的75%。我自己找到了答案。如果有人要的话,给你。您需要找到两个点之间的距离,然后修改新点以适应它们,方法是按标量缩放X和Y坐标,然后将结果添加到第一个点,以便将结果与向量对齐 function findPartWay(vector, scalar) {


我正在使用HTML画布和绘制线段。我想用JavaScript在线段上生成一个随机点。给定点((p1.x,p1.y),(p2.x,p2.y)),给定一个介于0到1之间的修饰符,我该如何做呢?例如,如果修改器为0.75,则生成的新点将是从p1到p2的75%。

我自己找到了答案。如果有人要的话,给你。您需要找到两个点之间的距离,然后修改新点以适应它们,方法是按标量缩放X和Y坐标,然后将结果添加到第一个点,以便将结果与向量对齐

function findPartWay(vector, scalar) {
    var distX = vector.p2.x - vector.p1.x;
    var distY = vector.p2.y - vector.p1.y;

    var modX = (distX * scalar) + vector.p1.x;
    var modY = (distY * scalar) + vector.p1.y;

    return new PVector(modX, modY);
}
--但是。。一本正经地。。你的逻辑是什么?你试过什么?