creator如何计算得到两点直线之间随机一个点呢?

creator如何计算得到两点直线之间随机一个点呢?

1赞

Math.random()

是两个点连成直线,在这条直线随机取一个点,再得到这个点的坐标

pos2.add(pos1.sub(pos2).mulSelf(Math.random())) 用向量来计算,不知道我这个对不对,你可以去研究研究

1,求得2点间距离lenA
2,求得2点间角度angle
3,随机长度lenB,取值范围为:[0, lenA]
4,则,随机点坐标为:(lenB/cos(angle), lenB/sin(angle))

感觉还可以在lz思路精简一下,取deltaX或deltaY中的任意值就够了

lerp t取random不就行了么

就用楼上说的线性插值函数就好了

// stPos:起点, edPos:终点
function getRandPos(stPos, edPos) {
    var resPos = cc.v2(0, 0); // 返回值
    stPos.lerp(edPos, Math.random(), resPos);
    return resPos;
}
3赞

非常感谢,思路很多,用了上面的比较简单的线性插值实现了