如何在javascript中实现螺旋式迭代?

如何在javascript中实现螺旋式迭代?,javascript,Javascript,以下是以螺旋方式排列圆的算法 顺时针方向 以下是伪代码(总体) let dir=[1,0] 函数检查相交(c0,c1){ 常数{x0,y0,r0}=c0 常数{x1,y1,r1}=c1 返回数学。hypot(x0-x1,y0-y1)您想回答的最后一个问题是什么?我建议您尝试回答这个问题,而不是直接生成螺旋模式。 let dir = [1, 0] function checkIntersect(c0, c1) { const {x0, y

以下是以螺旋方式排列圆的算法

顺时针方向

以下是伪代码(总体)

let dir=[1,0]
函数检查相交(c0,c1){
常数{x0,y0,r0}=c0
常数{x1,y1,r1}=c1

返回数学。hypot(x0-x1,y0-y1)您想回答的最后一个问题是什么?我建议您尝试回答这个问题,而不是直接生成螺旋模式。
        let dir = [1, 0]

        function checkIntersect(c0, c1) {
            const {x0, y0, r0} = c0
            const {x1, y1, r1} = c1
           return Math.hypot(x0-x1, y0-y1) <= (r0 + r1);
        }
        
        for (let i = 0; i < circleCount; i++) {
            for (let j = 0; j < circleCount; j++) {
                if (checkIntersect(circles[i], circles[j])) {
incrementLocation(circles[j])
                    flip(dir)
                }
            }
        }
    const spiralRadii = 3;

    for (let i = 1; i <= radius; i++) {
      let x = 0;
      let y = 0;
      for (let j = 0; j <= 2 * i; j++) {
        if (i % 2 === 0) {
          if (j <= i) {
            x--;
            console.log(x, y);
          } else {
            y++;
            console.log(x, y);
          }
        } else {
          if (j <= i) {
            x++;
            console.log(x, y);
          } else {
            y--;
            console.log(x, y);
          }
        }
      }
    }