Добрый день, господа! Я на досуге пишу на Pyton, решения всех задачек по аналитической геометрии из сборника "Д.В. Клетеник Сборник задач по аналитической геометрии" и столкнулся со сложностью в решении одной из них. По этому прошу подсказку. Задачка на деление отрезка в данном отношении, то есть предполагается, что я не знаю пока не уравнения прямой не как искать точку пересечения прямых. Моё графическое и аналитическое решения на картинке во вложении, решения не совпадают. Ответ графического решения совпадает с правильным ответом из сборника. Прошу указать на ошибку в аналитическом решении.
Хм, сделал кое какие дополнительные построения и масштаб рисунка выровнял. Получается я нахожу точку которая в два раза дальше на продолжении отрезка BC лежит, чем искомая. Тогда лямбда (отношение BA к AC) должна равняться 1, а не двум, что то я упускаю...
Давайте по-геодезически. С введением в эту задачу понятия дирекционного угла. Найти дирекционный угол стороны BC и дирекционный угол биссектрисы внешнего угла при вершине А не составит труда. Дирекционный угол стороны AC тоже. Тогда в треугольнике ACD по вашему рисунку будут известны три дирекционных угла и длина сторона АС. Вполне достаточно данных, чтобы решить прямую угловую засечку, формулы которой можно найти по первой ссылке в поисковике. Если на словах, то будет как-то так. А решать, извините, лень.
Из-за того, что неправильно выводили формулу, получилась ошибка. Правильно: Dx=λ(Cx-Bx)+Bx; Dy=λ(Cy-By)+By
Да по этим формулам всё работает. Только у меня просьба, не могли бы Вы расписать как их получить. Я получал формулы следующем образом: 1) Во всей просмотренной мной литературе по этой теме формулы для получения координаты точки делящий отрезок в данном отношении выглядят так: x = (x1 + λx2) / (1 + λ) ; y = (y1 + λy2) / (1 + λ) 2) Так как точка D лежит на продолжении отрезка BC я принимаю следующие обозначения: Dx = x1; Dy = y1, Bx = x2; By = y2, Cx = x; Cy = y. Соответственно формулы принимают вид: Cx = (Dx + λBx) / (1 + λ); Cy = (Dy + λBy) / (1+ λ) 3) Далее выражаю Dx и Dy, для этого необходимо домножить обе части на (1 + λ), тогда Cx + λCx = Dx + λBx; Cy + λCy = Dy + λBy далее Dx, Dy переношу влево, а всё остальное в право и умножаю обе части на (-1), получается Dx = Cx + λCx - λBx; Dy = Cy + λCy - λBy или Dx = Cx + λ(Cx - Bx); Dy = Cy + λ(Cy - By). А вот как получить Ваш, рабочий вариант формул, что то не как не соображу.
Давайте, как в школе. по-простому: линии: BCx=(Bx-Dx)/λ; BCy=(By-Dy)/λ точки: Cx=Bx-(Bx-Dx)/λ; Cy=By-(By-Dy)/λ λCx=λBx-(Bx-Dx); λCy=λBy-(By-Dy) λCx=λBx-Bx+Dx; λCy=λBy-By+Dy Dx=λ(Cx-Bx)+Bx; Dy=λ(Cy-By)+By
Спасибо! Возьму на вооружение. Вообще вечером вчера заметил то, что следовало заметить сразу - пару дней бы себе сэкономил. Точка С является серединой отрезка BD (это надо полагать является следствием того что угол САВ - прямой), ну а формулы для нахождения середины отрезка: x = (x1 + x2) / 2 ; y = (y1 + y2) / 2. Но за то неплохая практика работы с matplotlib получилась :)
Отмечаю недостатки: * все задачи подобного типа решаются в нашем деле через унифицированные компоненты: Код: cosa = dx / L, sina = dy / L, L = sqrt(dx ^ 2 + dy ^ 2) * нету на этом форуме "специальной" темы про пользование matplotlib (python). --- Сообщения объединены, 25 сен 2021, Оригинальное время сообщения: 25 сен 2021 --- Исправил: https://geodesist.ru/threads/matplotlib.88940/
Я думал, что Вы для каких-то своих задач пытаетесь делать универсальную формулу с коэффициентом λ. С чего бы это???!!! Проверьте квадратами сторон. Вас запутало странное использование разных масштабов на первой картинке. Просто одна из сторон в 2 раза меньше, другой, но они не катеты с гипотенузой.
Так и есть. Ещё раз спасибо за разъяснение. AC = 3.605551275463989 BA = 7.211102550927978 BC = 8.06225774829855 {AC^2 + BA^2 - BC^2} / {2 * AC * BA} = 0 P.S. не не работает у меня тут latex
Обращайтесь сюда: https://geodesist.ru/threads/kniga-otzyvov-i-predlozhenij.8685/page-112#post-1027926 . "Здесь" всегда "рады" дельным предложениям.
Ещё одна задачка, на подумать. Я всё таки не выдержал решил её через уравнения прямых, но если следовать хронологии задачника на момент появления этой задачи, мне известно только: 1) Ось и отрезок оси. Координаты на прямой; 2) Декартовы прямоугольные координаты на плоскости; 3) Полярные координаты; 4) Направленный отрезок. Проекция отрезка на произвольную ось. Проекции отрезка на координатные оси. Длина и полярный угол отрезка. Расстояние между двумя точками; 5) Деление отрезка в данном отношении; Есть идеи, как используя вышеперечисленный набор инструментов эта задача решается? Условие задачки и моё решение на картинке во вложении.
Так Вы задачу и решили, как в школе, только непонятно зачем составляли общие уравнения прямой. Они там совсем не нужны. Выбросите их, и задача решена.