Предикат определения положения точек относительно друг друга — различия между версиями
Proshev (обсуждение | вклад) м |
Proshev (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
{{в разработке}} | {{в разработке}} | ||
− | Пусть даны две пары касающихся окружностей <tex>(o_1(x_1, y_1), r_1)</tex>, <tex>(o_2(x_2, y_2), r_2)</tex>, <tex>(o_3(x_3, y_3), r_3)</tex>, <tex>(o_4(x_4, y_4), r_4)</tex>. Положим, что <tex>y_1 | + | Пусть даны две пары касающихся окружностей <tex>(o_1(x_1, y_1), r_1)</tex>, <tex>(o_2(x_2, y_2), r_2)</tex>, <tex>(o_3(x_3, y_3), r_3)</tex>, <tex>(o_4(x_4, y_4), r_4)</tex>. Положим, что <tex>y_1 > y_2</tex> и <tex>y_3 > y_4</tex>. |
− | Задача: определить взаимное расположение точек касания данных окружностей. | + | '''Задача:''' определить взаимное расположение точек касания данных окружностей. |
+ | |||
+ | Пусть <tex>c_1</tex> - точка внешнего касания окружностей <tex>(o_1(x_1, y_1), r_1)</tex> и <tex>(o_2(x_2, y_2), r_2)</tex>. | ||
+ | |||
+ | Точка <tex>c_2</tex> - точка внешнего касания окружностей <tex>(o_3(x_3, y_3), r_3)</tex> и <tex>(o_4(x_4, y_4), r_4)</tex>. | ||
+ | |||
+ | Определим углы <tex>\alpha, \beta</tex>. | ||
+ | |||
+ | <tex>\alpha</tex> - угол между отрезком, соединяющим центры окружностей <tex>(o_1(x_1, y_1), r_1)</tex> и <tex>(o_2(x_2, y_2), r_2)</tex>, и осью <tex>OX</tex>. | ||
+ | |||
+ | <tex>\beta</tex> - угол между отрезком, соединяющим центры окружностей <tex>(o_3(x_3, y_3), r_3)</tex> и <tex>(o_4(x_4, y_4), r_4)</tex>, и осью <tex>OX</tex>. | ||
+ | |||
+ | <tex>\sin \alpha = \frac{y_1 - y_2}{r_1 + r_2}</tex>. | ||
+ | |||
+ | <tex>\sin \beta = \frac{y_3 - y_4}{r_3 + r_4}</tex>. | ||
+ | |||
+ | Предикат, определяющий взаимное расположение точек <tex>c_1</tex> и <tex>c_2</tex> по ординате, выглядит следующим образом: | ||
+ | |||
+ | <tex>K = (r_2 \cdot \sin \alpha + y_2) - (r_4 \cdot \sin \beta + y_4) = (r_2 \cdot \frac{y_1 - y_2}{r_1 + r_2} + y_2) - (r_4 \cdot \frac{y_3 - y_4}{r_3 + r_4} + y_4)</tex> | ||
[[Категория: Вычислительная геометрия]] | [[Категория: Вычислительная геометрия]] |
Версия 21:05, 22 февраля 2012
Эта статья находится в разработке!
Пусть даны две пары касающихся окружностей
, , , . Положим, что и .Задача: определить взаимное расположение точек касания данных окружностей.
Пусть
- точка внешнего касания окружностей и .Точка
- точка внешнего касания окружностей и .Определим углы
.- угол между отрезком, соединяющим центры окружностей и , и осью .
- угол между отрезком, соединяющим центры окружностей и , и осью .
.
.
Предикат, определяющий взаимное расположение точек
и по ординате, выглядит следующим образом: