Найти точки внутри круга с заданным центром и радиусом - PullRequest
5 голосов
/ 27 октября 2009

У нас есть точка (x, y) и набор некоторых других точек (xi, yi) . Как мы можем определить, какие из (xi, yi) находятся внутри круга с центром (x, y) и радиусом r (с заданным числом)?

Ответы [ 5 ]

16 голосов
/ 27 октября 2009
(xi-x)**2 + (yi-y)**2 < r**2
6 голосов
/ 27 октября 2009

Простой способ.

Вычислить расстояние от точки до центра круга. Если радиус меньше радиуса, то он внутри круга.

3 голосов
/ 27 октября 2009

Если (xi - x) ^ 2 + (yi - y) ^ 2 меньше, чем d ^ 2, оно внутри. Если оно равно d ^ 2, оно на круге. Если оно больше, чем d ^ 2, оно снаружи.

2 голосов
/ 27 октября 2009

Если sqrt ((xi-x) ^ 2 + (yi-y) ^ 2) <= d </p>

0 голосов
/ 22 декабря 2013

У меня была такая же проблема, чтобы решить внутри процедуры plsql. Решение выше совершенно верно, и я сделал то же самое. Но это резко ухудшило производительность моей программы plsql. Вместо вычисления круга я использовал квадрат. Потому что это может быть сделано без выполнения таких вычислений и в самом операторе sql. Это улучшило производительность запросов более чем в 10 раз

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...