【问题标题】:How to find all point around center point in 2D如何在二维中找到中心点周围的所有点
【发布时间】:2018-04-12 16:00:11
【问题描述】:

我有中心点 x: 0 和 y: 0。

如何让所有点的距离达到 5?

我的代码并不完美:

function getPoints(startX, startY, distance) {
    var res = []
    for (var i = 1; i < distance; i++) {
        res.push({ x: startX + i, y: startY })
        res.push({ x: startX - i, y: startY })

        res.push({ x: startX, y: startY + i })
        res.push({ x: startX, y: startY - i })

        res.push({ x: startX + i, y: startY + i })

        res.push({ x: startX - i, y: startY - i })
    }
    console.log(res)
    console.log(res.length)
}

getPoints(0, 0, 3)

【问题讨论】:

    标签: geometry 2d euclidean-distance


    【解决方案1】:

    伪代码(对于您的情况,R=5)​​

    for dy = 0 to R
      for dx = 0 to Floor(Sqrt(R*R - dy*dy))
      // or dx = 0
      // while dx*dx+dy*dy<=R*R do 
          put startX + dx, startY + dy 
          put startX - dx, startY + dy      
          put startX + dx, startY - dy 
          put startX - dx, startY - dy      
        //dx++
    

    如果你需要正方形,代码很简单:

    for y = centerY - size to centerY + size
      for x = centerX - size to centerX + size
         put x, y
    

    【讨论】:

    • 对于正方形?
    • 问题包含euclidean-distance标签。
    • 我添加了方形填充。是你需要的吗?
    猜你喜欢
    • 2019-06-12
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多