Size: a a a

Сообщество Python Программистов

2020 May 08

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Nikita
Добрый день! Подскажите какую-нибудь, может быть, библиотеку, с помощь которой можно определять:
Пересекает ли прямая, проведённая через заданные координаты двух точек, окружность, у которой известен её центр и радиус ?
Ну здесь математика поможет
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Тебе надо проверить имеет ли система уравнений решение
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Уравнение прямой проходящей через две точки достаточно просто гуглится
источник

ПЦ

Павел Цивадиц... in Сообщество Python Программистов
Что обозначает эта строка?
источник

N

Neylon 🦔 in Сообщество Python Программистов
а лучше снеси его и заново поставь
источник

R3

Rud 356 in Сообщество Python Программистов
Не переместился
источник

R3

Rud 356 in Сообщество Python Программистов
КиРиЛиЦа
источник

N

Neylon 🦔 in Сообщество Python Программистов
где
источник

R3

Rud 356 in Сообщество Python Программистов
В юзере
источник

N

Neylon 🦔 in Сообщество Python Программистов
а
источник

N

Neylon 🦔 in Сообщество Python Программистов
не заметил
источник

N

Neylon 🦔 in Сообщество Python Программистов
все равно лучше снести и на D: поставить
источник

R3

Rud 356 in Сообщество Python Программистов
Понапихают блятб, а потом чо не роботает
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Nikita
Добрый день! Подскажите какую-нибудь, может быть, библиотеку, с помощь которой можно определять:
Пересекает ли прямая, проведённая через заданные координаты двух точек, окружность, у которой известен её центр и радиус ?
Уравнение прямой проходящей через две точки с координатами x1, y1 и x2, y2:
(y-y1)/(y2-y1)=(x-x1)/(x2-x1)

Уравнение окружности с центром на координатах x0, y0 и радиусом R:
(x-x0)**2 + (y-y0)**2 = R

Подставляешь переменные, решаешь систему уравнений, если решается - пересекает. Не решается - не пересекает.
источник

N

Nikita in Сообщество Python Программистов
Спасибо)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Nikita
Спасибо)
Я б раскидал систему уравнений, но под рукой бумажки нет, а с телефона неудобно
Ну а так я думаю ты понял идею
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Там привести их к виду поцивильнее и можно раскидать почти на одних коэфициентах (координатах точек и радиуса)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Выразим первое уравнение через y:
(y-y1)/(y2-y1) = (x-x1)/(x2-x1)
y-y1 = (x-x1)*(y2-y1)/(x2-x1)
y = y1 + ((x-x1)*(y2-y1)/(x2-x1))

Теперь во избежание путаницы x1, x2, y1, y2 из первого уравнения будут обозначаться соответственно x2, x3, y2, y3

y = y2 + ((x-x2)*(y3-y2)/(x3-x2))

В таком виде это уже можно  подставлять во второе уравнение ((x-x0)**2 + (y-y0)**2 = R). Подставляем, получаем следующее уравнение:
(x-x0)**2 + (y2 + ((x-x2)*(y3-y2)/(x3-x2)) - y0)**2 = R
источник

K

Krau5 in Сообщество Python Программистов
Бензофуран Гетероцикл
Выразим первое уравнение через y:
(y-y1)/(y2-y1) = (x-x1)/(x2-x1)
y-y1 = (x-x1)*(y2-y1)/(x2-x1)
y = y1 + ((x-x1)*(y2-y1)/(x2-x1))

Теперь во избежание путаницы x1, x2, y1, y2 из первого уравнения будут обозначаться соответственно x2, x3, y2, y3

y = y2 + ((x-x2)*(y3-y2)/(x3-x2))

В таком виде это уже можно  подставлять во второе уравнение ((x-x0)**2 + (y-y0)**2 = R). Подставляем, получаем следующее уравнение:
(x-x0)**2 + (y2 + ((x-x2)*(y3-y2)/(x3-x2)) - y0)**2 = R
источник

𝕬

𝕬𝖗𝖙𝖊𝖒 in Сообщество Python Программистов
Бензофуран Гетероцикл
Выразим первое уравнение через y:
(y-y1)/(y2-y1) = (x-x1)/(x2-x1)
y-y1 = (x-x1)*(y2-y1)/(x2-x1)
y = y1 + ((x-x1)*(y2-y1)/(x2-x1))

Теперь во избежание путаницы x1, x2, y1, y2 из первого уравнения будут обозначаться соответственно x2, x3, y2, y3

y = y2 + ((x-x2)*(y3-y2)/(x3-x2))

В таком виде это уже можно  подставлять во второе уравнение ((x-x0)**2 + (y-y0)**2 = R). Подставляем, получаем следующее уравнение:
(x-x0)**2 + (y2 + ((x-x2)*(y3-y2)/(x3-x2)) - y0)**2 = R
Кто-то захотел 9-й класс вспомнить?)
источник