Для затравочки - три задачи разной степени простоты, общего - две касающиеся окружности и приём, которым их можно раздробить:
полагаем одну из окружностей единичной и с центром в нуле, общую точку касания помещаем в (-1, 0), параметризуем две точки рациональными функциями двух переменных (например, точка на окружности параметризуется одной переменной способом (2p/(1+p^2), (1-p^2)/(1+p^2)), далее выражаем координаты точек, уравнения прямых и так далее через рациональные функции от этих двух переменных, пока не получаем требуемое утверждение как тождество рациональных функций).
Естественно, использую python/sympy, руками считать лень и незачем.
Фокусы:
1. окружность с уравнением x^2 + (y-h)^2 = (h+1)^2 проходит через точку (x0, y0), x0 != 0. h восстанавливается однозначно как рациональная функция от x0, y0
2. Точка (x0, y0) лежит на окружности С с центром в (0, h), прямая l проходит через (x0, y0) и (x1, y1). Вторую точку пересечения l и С можно выразить как рациональную функцию от x0, y0, x1,y1, h (тривиально через параметрическое уравнение l)
3. точка пересечения двух прямых - рациональная функция от коэффициентов прямых (тривиальное)
Файл с фокус-функциями - в комментариях
полагаем одну из окружностей единичной и с центром в нуле, общую точку касания помещаем в (-1, 0), параметризуем две точки рациональными функциями двух переменных (например, точка на окружности параметризуется одной переменной способом (2p/(1+p^2), (1-p^2)/(1+p^2)), далее выражаем координаты точек, уравнения прямых и так далее через рациональные функции от этих двух переменных, пока не получаем требуемое утверждение как тождество рациональных функций).
Естественно, использую python/sympy, руками считать лень и незачем.
Фокусы:
1. окружность с уравнением x^2 + (y-h)^2 = (h+1)^2 проходит через точку (x0, y0), x0 != 0. h восстанавливается однозначно как рациональная функция от x0, y0
2. Точка (x0, y0) лежит на окружности С с центром в (0, h), прямая l проходит через (x0, y0) и (x1, y1). Вторую точку пересечения l и С можно выразить как рациональную функцию от x0, y0, x1,y1, h (тривиально через параметрическое уравнение l)
3. точка пересечения двух прямых - рациональная функция от коэффициентов прямых (тривиальное)
Файл с фокус-функциями - в комментариях
Продолжение. Простая и классическая "Лемма Архимеда"
https://ru.wikipedia.org/wiki/%D0%9E%D0%BA%D1%80%D1%83%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C#%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%90%D1%80%D1%85%D0%B8%D0%BC%D0%B5%D0%B4%D0%B0
Если окружность вписана в сегмент окружности, стягиваемый хордой BC, и касается дуги в точке A, а хорды — в точке K, то прямая AK является биссектрисой угла BAC
Доказательство:
полагаем вписанную окружность единичной с центром в начале координат, точке A соответствуют координаты (0, -1), точке K - координаты (2p/(1+p^2), (1-p^2)/(1+p^2)). Длину отрезка KB полагаем равным q, координаты B восстанавливаются по сумме вектора K и вектора, перпендикулярного K, умноженного на q. После этого восстанавливаем координаты центра внешней окружности (фокус1), после - координаты точки C (фокус 2).
Осталось проверить свойство биссектрисы AB/BK = AC/CK (точнее, проверяем (AB/BK)^2 = (AC/CK)^2). Коротко и симпатично. Код в комментариях
https://ru.wikipedia.org/wiki/%D0%9E%D0%BA%D1%80%D1%83%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C#%D0%9B%D0%B5%D0%BC%D0%BC%D0%B0_%D0%90%D1%80%D1%85%D0%B8%D0%BC%D0%B5%D0%B4%D0%B0
Если окружность вписана в сегмент окружности, стягиваемый хордой BC, и касается дуги в точке A, а хорды — в точке K, то прямая AK является биссектрисой угла BAC
Доказательство:
полагаем вписанную окружность единичной с центром в начале координат, точке A соответствуют координаты (0, -1), точке K - координаты (2p/(1+p^2), (1-p^2)/(1+p^2)). Длину отрезка KB полагаем равным q, координаты B восстанавливаются по сумме вектора K и вектора, перпендикулярного K, умноженного на q. После этого восстанавливаем координаты центра внешней окружности (фокус1), после - координаты точки C (фокус 2).
Осталось проверить свойство биссектрисы AB/BK = AC/CK (точнее, проверяем (AB/BK)^2 = (AC/CK)^2). Коротко и симпатично. Код в комментариях
Wikipedia
Окружность
Практическое построение окружности возможно с помощью циркуля.
Окру́жность — замкнутая плоская кривая, все точки которой равноудалены от заданной точки, лежащей в той же плоскости, что и кривая: эта точка называется центром окружности. Отрезок, соединяющий…
Окру́жность — замкнутая плоская кривая, все точки которой равноудалены от заданной точки, лежащей в той же плоскости, что и кривая: эта точка называется центром окружности. Отрезок, соединяющий…
Задача чуть сложнее https://yangx.top/geometrykanal/2077
Красная окружность касается двух сторон треугольника и описанной окружности. Требуется доказать, что середина отрезка между точками касания красной окружности и стороны - центр вписанной окружности.
Доказательство:
Красная - единичная с центром в (0, 0), общая точка касания красной и описанной - (-1, 0), параметризуем D(2p/(1+p^2), (1-p^2)/(1+p^2)), E(2q/(1+q^2), (1-q^2)/(1+q^2))
Далее последовательно считаем:
Координаты точки A как пересечения касательных к красной в точках D и E
Уравнение описанной окружности (через фокус1 и координаты A)
Координаты точки B(фокус2, A и D)
Координаты точки C(фокус2, A и E)
Координаты точки F (середина отрезка DE)
Расстояние от F до AB (по симметрии совпадает с расстоянием от F до AC) (точнее, квадрат расстояния)
Квадрат расстояния от F до BC
Убеждаемся в тождестве, доказано.
Код в комментариях
Красная окружность касается двух сторон треугольника и описанной окружности. Требуется доказать, что середина отрезка между точками касания красной окружности и стороны - центр вписанной окружности.
Доказательство:
Красная - единичная с центром в (0, 0), общая точка касания красной и описанной - (-1, 0), параметризуем D(2p/(1+p^2), (1-p^2)/(1+p^2)), E(2q/(1+q^2), (1-q^2)/(1+q^2))
Далее последовательно считаем:
Координаты точки A как пересечения касательных к красной в точках D и E
Уравнение описанной окружности (через фокус1 и координаты A)
Координаты точки B(фокус2, A и D)
Координаты точки C(фокус2, A и E)
Координаты точки F (середина отрезка DE)
Расстояние от F до AB (по симметрии совпадает с расстоянием от F до AC) (точнее, квадрат расстояния)
Квадрат расстояния от F до BC
Убеждаемся в тождестве, доказано.
Код в комментариях
👍1
Ещё одна задача https://yangx.top/c/1141607031/29044 , чуть посложнее.
Эквивалентная формулировка - красная окружность, проходящая через точки A и B и касающаяся вписанной окружности треугольника ABC, проходит через середину отрезка KIc, где K - точка касания вписанной окружности и прямой AB, а Ic - центр вневписанной окружности, касающейся внешней стороны AB
Доказательство
Вписанную окружность полагаем единичной с радиусом в начале координат, точку касания внешней и красной - (-1,0), координаты точки K (2p/(1+p^2), (1-p^2)/(1+p^2)), длина отрезка AK - q
Далее:
Координаты точки A по сумме K и перпендикулярного К умноженного на q
Уравнение красной окружности по точке A(фокус 1)
Координаты точки B(фокус2, красная окружность, точки A и K)
Точка A2, лежащая на прямой AC: строим прямую, проходящую через I перпендикулярно AI, её пересечение с AB - A1, симметричная ей относительно I точка лежит на AC
Продолжение и код в комментарии
Эквивалентная формулировка - красная окружность, проходящая через точки A и B и касающаяся вписанной окружности треугольника ABC, проходит через середину отрезка KIc, где K - точка касания вписанной окружности и прямой AB, а Ic - центр вневписанной окружности, касающейся внешней стороны AB
Доказательство
Вписанную окружность полагаем единичной с радиусом в начале координат, точку касания внешней и красной - (-1,0), координаты точки K (2p/(1+p^2), (1-p^2)/(1+p^2)), длина отрезка AK - q
Далее:
Координаты точки A по сумме K и перпендикулярного К умноженного на q
Уравнение красной окружности по точке A(фокус 1)
Координаты точки B(фокус2, красная окружность, точки A и K)
Точка A2, лежащая на прямой AC: строим прямую, проходящую через I перпендикулярно AI, её пересечение с AB - A1, симметричная ей относительно I точка лежит на AC
Продолжение и код в комментарии
https://yangx.top/geometrykanal/2022 странная формулировка
Шесть красных отрезков равны 1.
1. Найдите R (это просто)
2. Найдите угол между красными диаметрами (это уже вроде бы не так просто)
По-моему, очевидно, что задача рушится в противоположном порядке.
Шесть красных отрезков равны 1.
1. Найдите R (это просто)
2. Найдите угол между красными диаметрами (это уже вроде бы не так просто)
По-моему, очевидно, что задача рушится в противоположном порядке.
Telegram
Геометрия-канал
И еще одна из того же источника :)
Шесть красных отрезков равны 1.
1. Найдите R (это просто)
2. Найдите угол между красными диаметрами (это уже вроде бы не так просто)
Шесть красных отрезков равны 1.
1. Найдите R (это просто)
2. Найдите угол между красными диаметрами (это уже вроде бы не так просто)
#упаковка_квадратов
Тут происходит эпопея. Началось всё с вот этой записи
https://yangx.top/avvablog/1634 , и тут у меня возникло острое желание помахать тяжёлым тупым предметом (предположительно, дубиной)
Для затравки скину парочку сгенерированных упаковок для малых n
Тут происходит эпопея. Началось всё с вот этой записи
https://yangx.top/avvablog/1634 , и тут у меня возникло острое желание помахать тяжёлым тупым предметом (предположительно, дубиной)
Для затравки скину парочку сгенерированных упаковок для малых n
Telegram
Авва
Возьмем какое-то количество одинаковых квадратов, скажем пять. Предположим, мы хотим упаковать их вместе внутри друого большого квадрата - насколько большим он обязан быть? Например, мы можем взять большой квадрат 3x3, в котором умещаются 9 маленьких квадратов.…
#упаковка_квадратов продолжение
Задача "войдут ли n квадратов со стороной 1 в квадрат со стороной C" сводится к проверке (вещественной) выполнимости системы уравнений от О(n^2) переменных. (в комментариях сведение)
Дальше начинаем проверять выполнимость численно
Задача "войдут ли n квадратов со стороной 1 в квадрат со стороной C" сводится к проверке (вещественной) выполнимости системы уравнений от О(n^2) переменных. (в комментариях сведение)
Дальше начинаем проверять выполнимость численно
Про проверку сходимости численно — сначала очень затупил, пока пишу промежуточный отчёт
Первая кувалдоидея - рассмотреть функцию от M переменных - сумму квадратов уравнений. Она вычисляется за O(M), как и её градиент, и попробовать численно бежать в локальный минимум от случайного старта.
Метод, который прилично работает вдалеке от локального минимума, а потом начинает тупить, я нарисовал почти сразу (потом распишу отдельно)
Вблизи от локального минимума качественно работает Broyden–Fletcher–Goldfarb–Shanno, но у него итерация стоит O(M^2) (то есть O(n^4))
И только сейчас дошло, что можно делать два шага в параллель:
1. Зафиксировали разделяющие прямые, можем независимо минимизировать по переменным, привязанным к каждому квадрату (их 24 + 4*(n-1) - 8 координат, для каждой координаты по две фиктивные переменные для неравенств, для каждой связанной с квадратом разделяющей прямой по 4 фиктивных переменных) - тут BFGS легко потянет
2. Зафиксировали многоугольники, для каждой разделяющей прямой задача сужается на 11 независимых переменных (3 -координаты прямой, 4 - неравенства для первого квадрата, 4 - неравенства для второго квадрата). Систем (n^2-n)/2, он они сверхмалые, при этом для не пересекающихся многоугольников легко ищется точное решение.
Осталось это написать
Первая кувалдоидея - рассмотреть функцию от M переменных - сумму квадратов уравнений. Она вычисляется за O(M), как и её градиент, и попробовать численно бежать в локальный минимум от случайного старта.
Метод, который прилично работает вдалеке от локального минимума, а потом начинает тупить, я нарисовал почти сразу (потом распишу отдельно)
Вблизи от локального минимума качественно работает Broyden–Fletcher–Goldfarb–Shanno, но у него итерация стоит O(M^2) (то есть O(n^4))
И только сейчас дошло, что можно делать два шага в параллель:
1. Зафиксировали разделяющие прямые, можем независимо минимизировать по переменным, привязанным к каждому квадрату (их 24 + 4*(n-1) - 8 координат, для каждой координаты по две фиктивные переменные для неравенств, для каждой связанной с квадратом разделяющей прямой по 4 фиктивных переменных) - тут BFGS легко потянет
2. Зафиксировали многоугольники, для каждой разделяющей прямой задача сужается на 11 независимых переменных (3 -координаты прямой, 4 - неравенства для первого квадрата, 4 - неравенства для второго квадрата). Систем (n^2-n)/2, он они сверхмалые, при этом для не пересекающихся многоугольников легко ищется точное решение.
Осталось это написать
👍1
https://yangx.top/geometrykanal/2156 кажется, знаю, как почти безболезненно просчитать
Telegram
Геометрия-канал
Никто не хочет попробовать свои силы? Совершенно нетривиальные уголки, и - что еще удивительно - обобщается здесь не то, что один на 15 градусов больше, а совсем другое соотношение между ними.
❤1👍1