Предикат определения положения точек относительно друг друга — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м
м
Строка 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> > <tex>y_2</tex> и <tex>y_3</tex> > <tex>y_4</tex>.
+
Пусть даны две пары касающихся окружностей <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

Эта статья находится в разработке!

Пусть даны две пары касающихся окружностей [math](o_1(x_1, y_1), r_1)[/math], [math](o_2(x_2, y_2), r_2)[/math], [math](o_3(x_3, y_3), r_3)[/math], [math](o_4(x_4, y_4), r_4)[/math]. Положим, что [math]y_1 \gt y_2[/math] и [math]y_3 \gt y_4[/math].

Задача: определить взаимное расположение точек касания данных окружностей.

Пусть [math]c_1[/math] - точка внешнего касания окружностей [math](o_1(x_1, y_1), r_1)[/math] и [math](o_2(x_2, y_2), r_2)[/math].

Точка [math]c_2[/math] - точка внешнего касания окружностей [math](o_3(x_3, y_3), r_3)[/math] и [math](o_4(x_4, y_4), r_4)[/math].

Определим углы [math]\alpha, \beta[/math].

[math]\alpha[/math] - угол между отрезком, соединяющим центры окружностей [math](o_1(x_1, y_1), r_1)[/math] и [math](o_2(x_2, y_2), r_2)[/math], и осью [math]OX[/math].

[math]\beta[/math] - угол между отрезком, соединяющим центры окружностей [math](o_3(x_3, y_3), r_3)[/math] и [math](o_4(x_4, y_4), r_4)[/math], и осью [math]OX[/math].

[math]\sin \alpha = \frac{y_1 - y_2}{r_1 + r_2}[/math].

[math]\sin \beta = \frac{y_3 - y_4}{r_3 + r_4}[/math].

Предикат, определяющий взаимное расположение точек [math]c_1[/math] и [math]c_2[/math] по ординате, выглядит следующим образом:

[math]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)[/math]