Предикат определения положения точек относительно друг друга — различия между версиями
Proshev (обсуждение | вклад) |
Proshev (обсуждение | вклад) |
||
| Строка 25: | Строка 25: | ||
Т.к. <tex> r_1 + r_2 > 0, r_3 + r_4 > 0</tex>, то можно оценивать знак выражения <tex>T = K \cdot (r_1 + r_2) \cdot (r_3 + r_4)</tex> | Т.к. <tex> r_1 + r_2 > 0, r_3 + r_4 > 0</tex>, то можно оценивать знак выражения <tex>T = K \cdot (r_1 + r_2) \cdot (r_3 + r_4)</tex> | ||
| − | <tex>T = (r_2 \cdot (y_1 - y_2)+y_2 \cdot (r_1+r_2)) \cdot (r_3+r_4) - (r_4 \cdot (y_3-y_4)+y_4 \cdot (r_3+r_4)) \cdot (r_1+r_2) = | + | <tex>T = (r_2 \cdot (y_1 - y_2)+y_2 \cdot (r_1+r_2)) \cdot (r_3+r_4) - (r_4 \cdot (y_3-y_4)+y_4 \cdot (r_3+r_4)) \cdot (r_1+r_2) = \\ |
| − | + | = (y_1 \cdot r_2 + y_2 \cdot r_1)(r_3+r_4) - (y_3 \cdot r_4 + y_4 \cdot r_3)(r_1+r_2)</tex> | |
| − | |||
Рассмотрим это выражение в дабловой арифметике. Обозначим за <tex>F(p_1, p_2, \ldots , p_n) = (1 + \delta_{p_1}) \cdot (1 + \delta_{p_2}) \cdot \ldots \cdot (1 + \delta_{p_n})</tex> | Рассмотрим это выражение в дабловой арифметике. Обозначим за <tex>F(p_1, p_2, \ldots , p_n) = (1 + \delta_{p_1}) \cdot (1 + \delta_{p_2}) \cdot \ldots \cdot (1 + \delta_{p_n})</tex> | ||
| Строка 33: | Строка 32: | ||
<tex>\tilde{T} = (y_1 \otimes r_2 \oplus y_2 \otimes r_1)(r_3 \oplus r_4) \ominus (y_3 \otimes r_4 \oplus y_4 \otimes r_3)(r_1 \oplus r_2) =</tex> | <tex>\tilde{T} = (y_1 \otimes r_2 \oplus y_2 \otimes r_1)(r_3 \oplus r_4) \ominus (y_3 \otimes r_4 \oplus y_4 \otimes r_3)(r_1 \oplus r_2) =</tex> | ||
| − | <tex>= [(y_1 \cdot r_2 \cdot F(1,2) + y_2 \cdot r_1 \cdot F(3,4))(r_3+r_4) \cdot F(5,6,7) -</tex> | + | <tex>= [(y_1 \cdot r_2 \cdot F(1,2) + y_2 \cdot r_1 \cdot F(3,4))(r_3+r_4) \cdot F(5,6,7) - \\ |
| + | - (y_3 \cdot r_4 \cdot F(8,9) + y_4 \cdot r_3 \cdot F(10,11))(r_1+r_2) \cdot F(12,13,14)] \cdot F(15) =</tex> | ||
| − | <tex> | + | <tex>= y_1 \cdot r_2 \cdot (r_3+r_4)F(1,2,5,6,7,15)+ \\ |
| + | + y_2 \cdot r_1 \cdot (r_3+r_4)F(3,4,5,6,7,15)- \\ | ||
| + | - y_3 \cdot r_4 \cdot (r_1+r_2)F(8,9,12,13,14,15)-\\ | ||
| + | - y_4 \cdot r_3 \cdot (r_1+r_2)F(10,11,12,13,14,15) | ||
| + | </tex> | ||
[[Категория: Вычислительная геометрия]] | [[Категория: Вычислительная геометрия]] | ||
Версия 21:37, 22 февраля 2012
Эта статья находится в разработке!
Пусть даны две пары касающихся окружностей , , , . Положим, что и .
Задача: определить взаимное расположение точек касания данных окружностей.
Пусть - точка внешнего касания окружностей и .
Точка - точка внешнего касания окружностей и .
Определим углы .
- угол между отрезком, соединяющим центры окружностей и , и осью .
- угол между отрезком, соединяющим центры окружностей и , и осью .
.
.
Предикат, определяющий взаимное расположение точек и по ординате, выглядит следующим образом:
Т.к. , то можно оценивать знак выражения
Рассмотрим это выражение в дабловой арифметике. Обозначим за