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赞
非常感谢,思路很多,用了上面的比较简单的线性插值实现了