Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 1 из 1 |
[ Сообщений: 8 ] |
|
Автор | Сообщение | ||
---|---|---|---|
nerozero |
|
||
Есть замкнутый полигон (многоугольник) на плоскости, заданный координатами. К примеру: 4 точки полигона A(x1,y1) , B(x2,y2), C(x3,y3), D(x4,y4).... для каждой группы из 3 точек, скажем АBC нужно найти координаты пары точек, P1,P2 (биссектрисы ABC) удаленных от точки B на расстояние d Из придуманного - найти угол между прямыми AB - OX и BC - OX и высчитать из него a относительноOX. А дальше получить координаты P1 через полученные углы X = x1+dcos( a ), Y = y1+dsin( a ),... Приводя к общему уравнению прямой (Ax+By+C): (X-X1)(Y2-Y1)=(Y-Y1)(X2-X1) -> A=(Y2-Y1) B=(X1-X2) Угол между двумя прямыми: [math]cos \varphi = \frac{ A1 \cdot A2+B1 \cdot B2 }{ \sqrt{A1^{2}+B1^{2} } \sqrt{A2^{2} +B2^{2} } }[/math] Проверяя формулы столкнулся с одинаковым значением fi у двух отрезков: A(2,4), B(5,7), C(8,4) Угол между AB и OX = 45° и у BC и OX = 45° . В качестве OX беру отрезок с координатами (0,0)(1,0). Что я упускаю? PS. Вышку окончил 11 лет назад, прошу по возможности особо не пинать - все позабыл...
|
|||
Вернуться к началу | |||
nerozero |
|
|
Li6-D
Спасибо за ответ, делаю именно так, вот только застопорился на углах. в примере который я привел у двух перпендикулярных друг другу отрезков с осью OX получается один угол. Координаты прямых A(2,4), B(5,7), C(8,4). Единичный вектор: OX(0,0)(1,0) Ищем углы с осью и прямойAB и OX, BC и OX подставляем в формулу: [math]cos \varphi = \frac{ A1 \cdot A2+B1 \cdot B2 }{ \sqrt{A1^{2}+B1^{2} } \sqrt{A2^{2} +B2^{2} } }[/math] И получаем что угол между AB и OX = 45° и угол между BC и OX = 45° ??!?! Поправьте меня пожалуйста. |
||
Вернуться к началу | ||
vvvv |
|
|
Можно по-другому.
По координатам заданных точек образуете вектора, направленные по сторонам многоугольника.Нормируете их.Складываете попарно и получаете вектор, направленный по биссектрисе соответствующего угла.Умножаете найденный вектор на постоянный множитель (чтобы получить нужное расстояние). Складываете, найденные вектора, с координатами заданных точек-получаете искомое. |
||
Вернуться к началу | ||
vvvv |
|
|
Вернуться к началу | ||
erjoma |
|
|
nerozero писал(а): Li6-D Спасибо за ответ, делаю именно так, вот только застопорился на углах. в примере который я привел у двух перпендикулярных друг другу отрезков с осью OX получается один угол. Координаты прямых A(2,4), B(5,7), C(8,4). Единичный вектор: OX(0,0)(1,0) Ищем углы с осью и прямойAB и OX, BC и OX подставляем в формулу: [math]cos \varphi = \frac{ A1 \cdot A2+B1 \cdot B2 }{ \sqrt{A1^{2}+B1^{2} } \sqrt{A2^{2} +B2^{2} } }[/math] И получаем что угол между AB и OX = 45° и угол между BC и OX = 45° ??!?! Поправьте меня пожалуйста. Между двумя прямыми существует два угла. Сумма этих углов равна [math]{180^\circ }[/math].Вы нашли острые углы между прямыми AB и OX, BC и OX. Предложу другой способ нахождения угла. тангенс угла наклона биссектрисы [math]\tan \alpha = \frac{{\left| {BC} \right|{y_1} + \left| {AB} \right|{y_3} - \left( {\left| {BC} \right| + \left| {AB} \right|} \right){y_2}}}{{\left| {BC} \right|{y_1} + \left| {AB} \right|{y_3} - \left( {\left| {BC} \right| + \left| {AB} \right|} \right){y_2}}}[/math], [math]\alpha \in \left[ {0^\circ ,180^\circ } \right)[/math]. Вычислив [math]\alpha[/math], можно найти координаты точек [math]{P_1}\left( {{x_2} - d\cos \alpha ,{y_2} - d\sin \alpha } \right),{P_2}\left( {{x_2} + d\cos \alpha ,y + d\sin \alpha } \right)[/math] |
||
Вернуться к началу | ||
vvvv |
|
|
Когда два отрезка лежат на одной прямой, тогда просто поворачиваем вектор на 90 градусов.
|
||
Вернуться к началу | ||
erjoma |
|
|
erjoma писал(а): Предложу другой способ нахождения угла. тангенс угла наклона биссектрисы [math]\tan \alpha = \frac{{\left| {BC} \right|{y_1} + \left| {AB} \right|{y_3} - \left( {\left| {BC} \right| + \left| {AB} \right|} \right){y_2}}}{{\left| {BC} \right|{y_1} + \left| {AB} \right|{y_3} - \left( {\left| {BC} \right| + \left| {AB} \right|} \right){y_2}}}[/math], [math]\alpha \in \left[ {0^\circ ,180^\circ } \right)[/math]. Вычислив [math]\alpha[/math], можно найти координаты точек [math]{P_1}\left( {{x_2} - d\cos \alpha ,{y_2} - d\sin \alpha } \right),{P_2}\left( {{x_2} + d\cos \alpha ,y + d\sin \alpha } \right)[/math] [math]\tan \alpha = \frac{{\left| {BC} \right|{y_1} + \left| {AB} \right|{y_3} - \left( {\left| {BC} \right| + \left| {AB} \right|} \right){y_2}}}{{\left| {BC} \right|{x_1} + \left| {AB} \right|{x_3} - \left( {\left| {BC} \right| + \left| {AB} \right|} \right){x_2}}}[/math] |
||
Вернуться к началу | ||
nerozero |
|
|
Всем большое спасибо!
Решил так, использую вышеупомянутую формулу для нахождения косинуса угла, а дальше в зависимости от значений x2-x1<0 и y2-y1<0 прибавляю/отнимаю Pi, 4 возможных варианта. Тут незаметно всплыла схожая задача, если дозволят модераторы выскажусь в этой ветке. Потребовалось найти координаты центра вписанной в угол окружности. Очевидно что центр окружности будет лежать на той-же биссектрисе. Решение оказалось (как мне пока кажется решением) тривиально простым, найти уравнения пары параллельных прямых для AB и BC удаленных на расстояние r, далее найти координаты их пересечения. Решение: Исходя из формулы расстояния (+/- тут указывают на первую либо вторую параллельную прямую): [math]\pm d= \frac{ Ax+By+C }{ \sqrt{A^{2}+B^{2} } }[/math] Получим уравнение параллельной прямой удаленной на расстояние r: [math]Ax+By+C \pm r\sqrt{A^{2}+B^{2} }=0[/math] Очевидно что изменяется коэффициент C, как собственно и должно быть. Координаты точки пересечения прямых: [math]X= \frac{ C2B1-C1B2 }{ A1B2-A2B1 }[/math] [math]Y= \frac{ C2A2-C1A1 }{ A1B2-A2B1 }[/math] Подставляем: [math]X= \frac{ (C2 \pm r\sqrt{A2^{2}+B2^{2} })B1 - (C1 \pm r\sqrt{A1^{2}+B1^{2} })B2}{ A1B2 - A2B1 }[/math] [math]Y= \frac{ (C1 \pm r\sqrt{A1^{2}+B1^{2} })A2 - (C2 \pm r\sqrt{A2^{2}+B2^{2} })A1}{ A1B2 - A2B1 }[/math] Получаем x1,y1 пр при положительном r и x2,y2 - при отрицательном Если кому понадобиться ... |
||
Вернуться к началу | ||
[ Сообщений: 8 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Найти координату Z точки находящейся на плоскости | 1 |
348 |
29 ноя 2017, 06:28 |
|
Найти координату вершины треугольника
в форуме Геометрия |
2 |
471 |
05 апр 2015, 10:50 |
|
Как найти неизвестную координату вершины тэтраэдра | 1 |
270 |
22 ноя 2015, 15:45 |
|
Найти координату центра симметрии окружности по точкам
в форуме Геометрия |
5 |
615 |
13 ноя 2016, 20:30 |
|
Как разделить координату и время?
в форуме Палата №6 |
68 |
3579 |
12 июн 2014, 14:40 |
|
Найти точки
в форуме Геометрия |
7 |
369 |
26 ноя 2016, 09:35 |
|
Найти координаты точки D | 8 |
991 |
24 дек 2014, 18:50 |
|
Найти особые точки | 10 |
548 |
27 ноя 2017, 20:04 |
|
Найти точки экстремума ф-ии
в форуме Дифференциальное исчисление |
5 |
279 |
22 янв 2021, 15:51 |
|
Найти координаты точки
в форуме Геометрия |
4 |
688 |
24 ноя 2014, 15:15 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |