У меня есть некоторые объекты с атрибутами x и y (позиции). Я хотел бы получить и обработать те объекты, которые находятся рядом со мной (!), Но игнорировать те, которые находятся вне диапазона (*).Выбор подмножества из большего 2d набора?
__________________________
| __________ |
| | ! | * |
|* | !| * | -me = center of subset
| | me | | -! = elements of subset
| | ! | | -* = elements of full set, not visible
| |_______!__| * *|
|__________________________|
Медленный подход будет перебирать полностью, несортированный, набор, и игнорировать элементы, для которых расстояние слишком большое. Однако я собираюсь иметь большой набор данных и нуждаюсь в довольно высокой производительности.
Вместо этого я ищу способ выбора только близлежащих элементов для начала. Может быть, путем сортировки 2d набора в некотором роде и только повторить набор по определенному диапазону (от границы подмножества до границы).
Есть ли хороший способ сделать это?
(примечание: положения объектов, статичны, и набор может быть предварительно обработаны)
Являются ли X и Y широкими и длинными? – Haney