Изменения

Перейти к: навигация, поиск
м
Нет описания правки
{{в разработке}}
Пусть даны две пары касающихся окружностей <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> > <tex>y_2</tex> и <tex>y_3</tex> > <tex>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>
[[Категория: Вычислительная геометрия]]
419
правок

Навигация