Пересечение окружностей — различия между версиями
Gemin (обсуждение | вклад) |
м (rollbackEdits.php mass rollback) |
||
(не показано 7 промежуточных версий 4 участников) | |||
Строка 44: | Строка 44: | ||
\end{array} | \end{array} | ||
\right.</tex><br> | \right.</tex><br> | ||
+ | Мы, например, будем рассматривать точку с положительным знаком <tex>\beta</tex>. | ||
+ | Радиус-вектор такой точки будет равен <tex>\bar{s_1}=\bar{c_0}+\alpha\bar{a}+\beta\bar{b}</tex>. Его <tex>x</tex> координата равна <tex>{s_1}_x=x_0+\alpha\bar{a}_x+\beta\bar{b}_x</tex>. <tex>\bar{a}_x=x_1-x_0</tex>, <tex>\bar{b}_x=y_0-y_1</tex>. | ||
+ | Допустим есть точка с <tex>x</tex> координатой равной <tex>x_c-r_c</tex> (точка вхождения некой окружности). Нам надо научиться сравнивать их для добавления в строку состояний.<br> | ||
+ | <tex>{s_1}_x>x_c-r_c</tex><br> | ||
+ | <tex>x_0+\alpha\bar{a}_x+\beta\bar{b}_x>x_c-r_c</tex><br> | ||
+ | <tex>\alpha(x_1-x_0)+\beta(y_0-y_1)>x_c-r_c-x_0</tex><br> | ||
+ | <tex>\frac{r_0^2-r_1^2+\bar{a}^2}{2\bar{a}^2}(x_1-x_0)+\frac{1}{|\bar{a}||\bar{b}|}\sqrt{-\frac{1}{2}(r_0^4+r_1^4+\bar{a}^4-2r_0^2r_1^2-2r_1^2\bar{a}^2)}(y_0-y_1)></tex><br> | ||
+ | <tex>>x_c-r_c-x_0\ \ \ (*2\bar{a}^2|\bar{b}|)</tex><br> | ||
+ | <tex>|\bar{b}|(r_0^2-r_1^2+\bar{a}^2)(x_1-x_0)+2|\bar{a}|\sqrt{-\frac{1}{2}(r_0^4+r_1^4+\bar{a}^4-2r_0^2r_1^2-2r_1^2\bar{a}^2)}(y_0-y_1)></tex><br> | ||
+ | <tex>>2\bar{a}^2|\bar{b}|(x_c-r_c-x_0)</tex><br> | ||
+ | <tex>2|\bar{a}|\sqrt{-\frac{1}{2}(r_0^4+r_1^4+\bar{a}^4-2r_0^2r_1^2-2r_1^2\bar{a}^2)}(y_0-y_1)></tex><br> | ||
+ | <tex>>2\bar{a}^2|\bar{b}|(x_c-r_c-x_0)-|\bar{b}|(r_0^2-r_1^2+\bar{a}^2)(x_1-x_0)</tex><br> | ||
+ | <tex>-2\bar{a}^2(r_0^4+r_1^4+\bar{a}^4-2r_0^2r_1^2-2r_1^2\bar{a}^2)(y_0-y_1)^2></tex><br> | ||
+ | <tex>>(2\bar{a}^2|\bar{b}|(x_c-r_c-x_0)-|\bar{b}|(r_0^2-r_1^2+\bar{a}^2)(x_1-x_0))^2</tex><br> | ||
+ | К сожалению, дальше упрощать ничего не получается :( Уже из этого выражения можно посчитать погрешность, так влоооом :( | ||
+ | |||
+ | [[Категория: Вычислительная геометрия]] |
Текущая версия на 19:15, 4 сентября 2022
Заданы две окружности разного радиуса точками центров , и радиусами и соответственно.
Будем вычислять координаты искомых точек пересечения окружностей в новой системе координат, связанной с векторами
Заметим, что в уравнении третье слагаемое в правой части равно , т.к. векторы и перпендикулярны.
Мы, например, будем рассматривать точку с положительным знаком .
Радиус-вектор такой точки будет равен . Его координата равна . , .
Допустим есть точка с координатой равной (точка вхождения некой окружности). Нам надо научиться сравнивать их для добавления в строку состояний.
К сожалению, дальше упрощать ничего не получается :( Уже из этого выражения можно посчитать погрешность, так влоооом :(