Изменения

Перейти к: навигация, поиск

Пересечение окружностей

3278 байт добавлено, 15:03, 16 июня 2012
Нет описания правки
(\alpha\bar{a}+\beta\bar{b}-\bar{a})^2=r_1^2\\
\end{array}
\right.</tex><br><tex>\left\{\begin{array}{lrl}\alpha^2\bar{a}^2+\beta^2\bar{b}^2+2\alpha\beta\bar{a}\bar{b}=r_0^2\ \ \ (1)\\((\alpha-1)\bar{a}+\beta\bar{b})^2=r_1^2\\\end{array}\right.</tex><br>Заметим, что в уравнении <tex>(1)</tex> третье слагаемое в правой части равно <tex>0</tex>, т.к. векторы <tex>\bar{a}</tex> и <tex>\bar{b}</tex> перпендикулярны.<br><tex>\left\{\begin{array}{lrl}\alpha^2\bar{a}^2+\beta^2\bar{b}^2=r_0^2\\(\alpha-1)^2\bar{a}^2+\beta^2\bar{b}^2=r_1^2\\\end{array}\right.</tex><br><tex>\left\{\begin{array}{lrl}2\alpha-1=\frac{r_0^2-r_1^2}{\bar{a}^2}\\\beta^2\bar{b}^2=r_0^2-\alpha^2\bar{a}^2\\\end{array}\right.</tex><br><tex>\left\{\begin{array}{lrl}\alpha=\frac{r_0^2-r_1^2+\bar{a}^2}{2\bar{a}^2}\\\beta^2\bar{b}^2=r_0^2-\alpha^2\bar{a}^2\\\end{array}\right.</tex><br><tex>\left\{\begin{array}{lrl}\alpha=\frac{r_0^2-r_1^2+\bar{a}^2}{2\bar{a}^2}\\\beta^2=\frac{r_0^2-\frac{(r_0^2-r_1^2+\bar{a}^2)^2}{4\bar{a}^4}\bar{a}^2}{\bar{b}^2}\\\end{array}\right.</tex><br><tex>\left\{\begin{array}{lrl}\alpha=\frac{r_0^2-r_1^2+\bar{a}^2}{2\bar{a}^2}\\\beta=\pm\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)}\\\end{array}\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>К сожалению, дальше упрощать ничего не получается :( Уже из этого выражения можно посчитать погрешность, так влоооом :( [[Категория: Вычислительная геометрия]]
419
правок

Навигация