Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 117

Принадлежат ли точки с координатами XY отрезку с заданной погрешностью

05.06.2020, 10:23. Показов 3518. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день господа сочувствующие!
Не могу решить задачу определения принадлежности точек с координатами XY отрезку с заданной погрешностью.
Дано:
Координаты отрезка:
X1Y1
X2Y2

(461279.96/7658031.75
458514.66/7659826.59)

Массив точек:

X3Y3
XnYn

(461125.00 7658275.00
461175.00 7658275.00
461225.00 7658275.00
461275.00 7658275.00
460825.00 7658325.00
460875.00 7658325.00
460925.00 7658325.00
460975.00 7658325.00)


Определить лежит ли заданный массив точек на отрезке с заданной погрещностью в данном случае 100м.
Огромное спасибо за любую помощь!
Миниатюры
Принадлежат ли точки с координатами XY отрезку с заданной погрешностью  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.06.2020, 10:23
Ответы с готовыми решениями:

Программа сложения графиков заданных точками по координатам (X,Y)
Всем доброго времени суток. Уважаемые участники форума, прошу мне помочь. Нужно понять почему...

Погрешность при работе с большими числами
Реализую алгоритм шифрования rsa. Шифрую сообщение следующим обрпзом . for i in...

Numpy проверка условия для элементов с конкретными координатами
Здравствуйте. Подскажите, как в numpy сделать присваивание по условию для элементов матрицы с...

10
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
05.06.2020, 17:09
1. Переводите координаты точек в однородные.
2. Находите матрицу преобразования ( произведение матрицы трансляции и вращения).
3. Находите координаты точек в новой системе координат и те точки, которые имеют координату x +-100 лежит на отрезке.
0
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 117
05.06.2020, 17:14  [ТС]
Мне нужно сделать выборку. Слишком много манипуляций. Пока работаю над расчётом угловых коэфициентов.
0
Эксперт Python
 Аватар для unfindable_404
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
05.06.2020, 18:49
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
x0, y0 = 461279.96, 7658031.75
x1, y1 = 458514.66, 7659826.59
 
delta = 100
 
points = [(461125.00, 7658275.00),
          (461175.00, 7658275.00),
          (461225.00, 7658275.00),
          (461275.00, 7658275.00),
          (460825.00, 7658325.00),
          (460875.00, 7658325.00),
          (460925.00, 7658325.00),
          (460975.00, 7658325.00)]
 
for x, y in points:
    distance = abs((y0 - y1) * x + (x1 - x0) * y + (x0 * y1 - x1 * y0)) /\
        (((x1 - x0)**2 + (y1 - y0)**2)**0.5)
    if distance > 100:
        print("Массив точек не лежит на отрезке с заданной погрешностью")
        break
else:
    print("Массив точек лежит на отрезке с заданной погрешностью")
1
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 117
07.06.2020, 23:01  [ТС]
Огромное спасибо. Но не примите за наглость, есть ли способ узнать какие именно из точек соответствуют первичным условиями? Т.е. находяться в районе отрезка с заданной погрешностью?
0
Эксперт Python
 Аватар для unfindable_404
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
07.06.2020, 23:12
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
x0, y0 = 461279.96, 7658031.75
x1, y1 = 458514.66, 7659826.59
 
delta = 100
 
points = [(461125.00, 7658275.00),
          (461175.00, 7658275.00),
          (461225.00, 7658275.00),
          (461275.00, 7658275.00),
          (460825.00, 7658325.00),
          (460875.00, 7658325.00),
          (460925.00, 7658325.00),
          (460975.00, 7658325.00)]
 
for x, y in points:
    distance = abs((y0 - y1) * x + (x1 - x0) * y + (x0 * y1 - x1 * y0)) /\
        (((x1 - x0)**2 + (y1 - y0)**2)**0.5)
    if distance > 100:
        print(f"Точка (x = {x}; y={y}) - не лежит на отрезке")
    else:
        print(f"Точка (x = {x}; y={y}) - лежит на отрезке")
0
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 117
08.06.2020, 00:11  [ТС]
Спасибо Вам огромное! Готов задонатить, если сообщите куда.
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
09.06.2020, 03:51
Цитата Сообщение от unfindable_404 Посмотреть сообщение
(((x1 - x0)**2 + (y1 - y0)**2)**0.5)
Потенциально деление на ноль.
1
Эксперт Python
 Аватар для unfindable_404
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
09.06.2020, 07:32
Цитата Сообщение от outoftime Посмотреть сообщение
Потенциально деление на ноль.
Согласен, но только если начало и конец отрезка - это одна и та же точка. Сомневаюсь, что такое возможно, но:
Python
1
2
3
4
5
6
7
8
9
10
for x, y in points:
    if x0 != x1 or y0 != y1:
        distance = abs((y0 - y1) * x + (x1 - x0) * y + (x0 * y1 - x1 * y0)) /\
            (((x1 - x0)**2 + (y1 - y0)**2)**0.5)
    else:
        distance = ((x - x0)**2 + (y - y0)**2)**0.5
    if distance > 100:
        print(f"Точка (x = {x}; y={y}) - не лежит на отрезке")
    else:
        print(f"Точка (x = {x}; y={y}) - лежит на отрезке")
0
0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 117
14.06.2020, 02:27  [ТС]
Немного не понял, для чего переменная delta = 100
0
Эксперт Python
 Аватар для unfindable_404
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
14.06.2020, 11:01
Сначала написал, а потом забыл про неё . Задумывалась как переменная для хранения погрешности.
И тогда код должен быть таким:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
x0, y0 = 461279.96, 7658031.75
x1, y1 = 458514.66, 7659826.59
 
delta = 100
 
points = [(461125.00, 7658275.00),
          (461175.00, 7658275.00),
          (461225.00, 7658275.00),
          (461275.00, 7658275.00),
          (460825.00, 7658325.00),
          (460875.00, 7658325.00),
          (460925.00, 7658325.00),
          (460975.00, 7658325.00)]
 
for x, y in points:
    if x0 != x1 or y0 != y1:
        distance = abs((y0 - y1) * x + (x1 - x0) * y + (x0 * y1 - x1 * y0)) /\
            (((x1 - x0)**2 + (y1 - y0)**2)**0.5)
    else:
        distance = ((x - x0)**2 + (y - y0)**2)**0.5
    if distance > delta:
        print(f"Точка (x = {x}; y={y}) - не лежит на отрезке")
    else:
        print(f"Точка (x = {x}; y={y}) - лежит на отрезке")
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.06.2020, 11:01
Помогаю со студенческими работами здесь

Как построить график неявной функции в полярных координатах?
Я построила вот это: import matplotlib.pyplot as plt import numpy as np delta = 0.025...

Деление отрезка пополам
Доброго времени суток! Исследовать функцию y = f(x) и решить уравнение f(x) = 0 Написать...

Расчет угла с учетом расположения начала отрезка
Необходимо рассчитать угол наклона отрезка, но с учетом расположения начала и конца. import math...

Аппроксимировать функцию на отрезке полиномом Ньютона
f(x) = |x^3 -3x| , отрезок как это реализовать на питоне? видел коды, но не знаю как связать с...

Python matplotlib отобразить график функции в заданной точке собственной формы
Язык Python.Есть график функции. Не важно какой. Например такой 3D график. При компиляции...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru