-1

I have center point x: 0 and y: 0.

How to get all points distance Up to 5?

My code is not perfect:

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)
chosirai
  • 193
  • 3
  • 7

1 Answers1

0

Pseudocode (R=5 for your case)

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++

If you need square, code is very simple:

for y = centerY - size to centerY + size
  for x = centerX - size to centerX + size
     put x, y
MBo
  • 77,366
  • 5
  • 53
  • 86