Страницы: 1
RSS
Определение соответствия набора точек по радиусу
 
Добрый день. Помогите с геометрией.
Нужно в столбце I ФОРМУЛОЙ или МАКРОСОМ проставить соответствие для номера точки 1. Условие из точки 1 радиусом 1000 провести окружность, Если точка 2 попадает в эту окружность напротив номера точки 1 поставить какой номер точки 2 соответствует и так далее. В файле пример понятнее будет
 
Тимофеев,  Давайте сразу с терминами определимся.  
Цитата
Тимофеев написал:
Если точка 2 попадает в эту окружность
окружность - это множество точек ( точка это бесконечно малая величина) на равном расстоянии от заданной точки. Это делает вероятность попадания на нее точки с допустимой для расчетов точностью ничтожной.
Если говорить  про круг, то тогда другое дело но и тут тогда проще говорить не про круг, а про растояние между точками менее заданного. Если так, то
https://yandex.ru/search/?text=%D1%80%D0%B0%D1%81%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%­D0%B5%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%20%D1%82%D0%BE%D1%87%­D0%BA%D0%B0%D0%BC%D0%B8%20%D0%BF%D0%BE%20%D0%BA%D0%BE%D0%BE%­D1%80%D0%B4%D0%B8%D0%BD%D0%B0%D1%82%D0%B0%D0%BC&clid=2411726&lr=2
Изменено: БМВ - 15.01.2021 17:35:49
По вопросам из тем форума, личку не читаю.
 
Суть такая выгрузил блоки с точкой вставки точка1, Выгрузил текст над блоком точка 2. Координаты текста над/под/слева/справа от блока по идее должны попасть в окружность радиусом 1000 с центром в точке 1
Необходимо соответствие этих точек. Может быть и такое что где-то не было надписи и точки 2 просто нет.


P.S. Условие такое:
Код
Или(и(x2⩾x1+1000;y2>y1+1000);и(x2⩽x1-1000;y2>y1+1000);и(x2⩾x1+1000;y2<y1-1000);и(x2⩽x1-1000;y2<y1+1000))
 
или длина отрезка Т1Т2 меньше либо равна 1000. Длина корень квадратный из суммы квадратов разностей соответствующих координат. Но как это пришить к индекс и поискпоз
Изменено: Тимофеев - 15.01.2021 18:19:59
 
Тимофеев, вы глумитесь или реально не поняли? хорошо, уточню
По вопросам из тем форума, личку не читаю.
 
Я понял, но не понимаю как соответствие в файле найти точек. Если несколько тысяч строк как формулой или макросом соответствие найти - это не понимаю. Как завернуть в индекс и поискпоз или впр данное условие)
Изменено: Тимофеев - 15.01.2021 18:29:16
 
Цитата
Тимофеев написал:
Если точка 2 попадает в эту окружность напротив номера точки 1 поставить какой номер точки 2 соответствует и так далее.
это одна или все подходящие?
По вопросам из тем форума, личку не читаю.
 
одна точка должна получится максимум парочку если наложения текста на текст было
Координаты блока точка 1 координаты текста точка 2
Может теста где то и не быть и не найдет соответствие
Изменено: Тимофеев - 15.01.2021 19:06:46
 
Это кто там в моих сообщениях порядок наводит? :-) Я спецом так делал.

Массивная для одной первой подходящей точки 2
=IFERROR(INDEX($D$3:$D$202;MATCH(1;--(SQRT((B3-$E$3:$E$202)^2+(C3-$F$3:$F$202)^2)<=$H$2);));"")

Но на желаемом расстоянии таких нет
Изменено: БМВ - 15.01.2021 19:11:40
По вопросам из тем форума, личку не читаю.
 
тут подумал не совсем это правильный путь через отрезки. Еще надо какое-то условие придумывать дополнительно. По длине отрезка сравнение не корректно таких совпадений много получится. Надо цеплять еще условие как-то и x1+80000<=x2<=x1-80000
Изменено: Тимофеев - 15.01.2021 19:27:54
 
Цитата
БМВ написал: Это кто там в моих сообщениях порядок наводит?
Иногда кому-то не лень вместо того, кому лень )
 
Цитата
Тимофеев написал:
x1+80000<=x2<=x1-80000
ээээ как бы или это не выполняется никогда или выполняется если расстояние меньше 80000.

Думаю надо  забыть про все и описать задачу по другому . что вы пытаетесь найти.  Можно графически изобразить точки т2 и окружность с точкой в одной из т1.  Что это даст???? Может ближайшую надо искать???
Изменено: БМВ - 15.01.2021 21:41:23
По вопросам из тем форума, личку не читаю.
 
Объясню рисунком давайте (координаты в файле первого сообщения так и остаются). Рисунок ниже.
Цель найти соответствие точек для дальнейшей перезагрузки блоков на места точек т1 с атрибутом т2
Изменено: Тимофеев - 15.01.2021 22:04:07
 
Цитата
Тимофеев написал:
x1+80000<=x2<=x1-80000
допустим х1 = 80000, тогда х1+80000 = 160000, а х1-80000 = 0
назовите число, которое будет ОДНОВРЕМЕННО больше равно 160000 и меньше равно 0
в той математике, что учил я, - таких чисел не существует
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, значит наоборот знаки

Еще один пример:
 
Добавляю файл исходник выгрузки
Фильтр уник сорт тоже есть если они вдруг помочь могут
Поправьте прошу прошения - мысли так приходили
Может тут что есть интересного на неизвестном мне языке:
php - Определение ближайшей точки по координатам - Stack Overflow на русском
Изменено: Тимофеев - 16.01.2021 00:01:22
 
Тимофеев, прошу прощения, может не в тему, но Вам точно нужно найти точку на расстоянии, а не ближайшую?
Тогда можно было бы использовать что-то вроде
Код
{=ИНДЕКС($E$3:$E$241;ПОИСКПОЗ(1;--(КОРЕНЬ((B3-$F$3:$F$241)^2+(C3-$G$3:$G$241)^2)=МИН(КОРЕНЬ((B3-$F$3:$F$241)^2+(C3-$G$3:$G$241)^2))););1)}
(данные в файле вставил из сообщения #16)
In GoTo we trust
 
Цитата
Тимофеев написал:
Условие такое:
это не правильное условие!
Это условие для квадрата.
Попадут точки лежащие в пределах этих ограничений, но вне круга
 
Александр Моторин, согласен и  на квадрат
tolstak - это что-то очень похоже сейчас буду разбираться
С диаграммой очень наглядно, не понял правда как Вы это сотворили - сейчас буду искать - это мне наверное и нужно
Изменено: Тимофеев - 16.01.2021 08:38:17
 
Цитата
tolstak написал: что-то вроде
или
=LOOKUP(2;1/(SQRT((B3-$F$3:$F$241)^2+(C3-$G$3:$G$241)^2)=MIN(SQRT((B3-$F$3:$F$241)^2+(C3-$G$3:$G$241)^2)));$E$3:$E$241)
По вопросам из тем форума, личку не читаю.
 
LOOKUP = это у меня знач
 
ПРОСМОТР
По вопросам из тем форума, личку не читаю.
 
Код
=ПРОСМОТР(2;1/(КОРЕНЬ((B3-$F$3:$F$241)^2+(C3-$G$3:$G$241)^2)=MIN(КОРЕНЬ((B3-$F$3:$F$241)^2+(C3-$G$3:$G$241)^2)));$E$3:$E$241)
дает ошибку где-то знач все равно
 
у меня не дает ошибки
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх