Determining whether grid coordinates lie within a circle

Click For Summary
SUMMARY

This discussion focuses on determining whether grid coordinates lie within a circle using integer coordinates for grid cells. The user has implemented a program utilizing sine and cosine functions to place points in a quantized circle but seeks guidance on checking if a grid cell falls within a specified radius. The key method involves calculating the distance from the grid cell's coordinates to the circle's center and comparing it to the circle's radius, with an emphasis on avoiding square root calculations for efficiency.

PREREQUISITES
  • Understanding of coordinate systems and integer grid representation
  • Familiarity with basic trigonometric functions (sine and cosine)
  • Knowledge of distance calculation in a Cartesian plane
  • Basic mathematical concepts regarding monotonic functions
NEXT STEPS
  • Research methods to calculate distance without using square root functions
  • Explore integer-based algorithms for circle-point inclusion tests
  • Learn about quantization techniques in computational geometry
  • Investigate optimization strategies for grid-based spatial queries
USEFUL FOR

Mathematicians, game developers, and software engineers working with grid-based systems or spatial algorithms will benefit from this discussion.

STENDEC
Messages
21
Reaction score
0
I have a grid and want to determine whether a point lies within (our outside of) a circle.

asXctUw.png


The grid cells simply have integer coordinates, e.g. x = 5, y = 7. The circle's radius is known, and also an integer value.

I wrote a program that can place points in a (quantized) circle using sin/cos, but I can't seem to wrap my head around how to check whether a grid cell lies within a circle of a given radius. Maybe someone can guide me into the right direction. Thanks.
 
Mathematics news on Phys.org
What is your definition of "within"? Surely that blue square in your picture has a part outside the circle.
 
If you think of the border being derived from the sin/cos values describing the circle, rounded to the nearest integer; A blocky ring if you will.

It doesn't have to be accurate to the single cell if there's some ambiguity about that. X and Y coordinates and 2 states per cell (on/off) is all that's being processed.
 
Do you know the x and y coordinates of the center of the circle, the x and y coordinates of your point and the radius of the circle? If so, compute the distance from the point to the center of the circle and compare that to the radius.

Naively, that computation requires evaluating a square root. Can you think of a way to avoid that?

Hint: The square root function is strictly monotone increasing.
 
That's the help I needed. I'll think about your hint on whether/how sqrt can be avoided in this scenario. I'm not solid in math as is evident I think :shy:
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 40 ·
2
Replies
40
Views
5K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 61 ·
3
Replies
61
Views
10K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 4 ·
Replies
4
Views
5K
  • · Replies 1 ·
Replies
1
Views
9K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
8K