{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "In this lecture 29 of MCS 320, we solve the equations for the Apollonius problem." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 1. Two Touching Circles" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In an earlier lectures, we considered the tangent line to a circle. In this lecture we compute circles touching a number of given circles. We start with one given circle and take one random point inside that circle as the center of the circle touching the given circle." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 1 graphics primitive" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "unitcircle = circle((0, 0), 1)\n", "unitcircle.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us pick the random point at distance 1/2 of the center, defined by some random angle." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.482192224737109, -0.132252252922502)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "angle = RR(pi)*RR.random_element()\n", "rpt = (0.5*cos(angle), 0.5*sin(angle))\n", "rpt" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 2 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ppt = point(rpt, color='red', size=50)\n", "(unitcircle+ppt).show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What is now the radius of the circle which has the random point as center and that touches the unit circle?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us try 1/2, as 1/2 is 1 - 1/2." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 3 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tc1 = circle(rpt, 1/2, color='green')\n", "(unitcircle+ppt + tc1).show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is another, larger touching circle with radius 3/2 = 1 + 1/2." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 4 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tc2 = circle(rpt, 3/2, color='orange')\n", "(unitcircle+ppt + tc1 + tc2).show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first touching circle ``tc1`` has radius 1/2 and \n", "the 3/2 is the radius of the second touching circle ``tc2``.\n", "Their equations can be summarized by\n", "\n", "$$\n", " (x - c_x)^2 + (y - c_y)^2 - (1 \\pm 1/2)^2 = 0,\n", "$$\n", "\n", "where $(c_x, c_y)$ is the center of the circle." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 2. The Problem of Apollonius" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With one given circle, we can fix one parameter of the touching circle, as we did in the example, we picked the two coordinates of the center and then determined the radius of the touching circle. With one given circle, this problem has two degrees of freedom. To fix two two degrees, we can give two more circles on input." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here is then the Problem of Apollonius: *Given three circles, compute all circles that touch all three circles.*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The input is determined by 9 numbers, two coordinates for each center and one radius for each circle." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "(c1x, c1y, r1) = (0, 0, 1)\n", "(c2x, c2y, r2) = (2, 0, 2/3)\n", "(c3x, c3y, r3) = (1, 1, 1/3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In plotting the input, we transition to the ``implicit_plot`` because we will need the equations for solving." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "x, y = var('x, y')\n", "c1 = (x-c1x)^2 + (y-c1y)^2 - r1^2\n", "c2 = (x-c2x)^2 + (y-c2y)^2 - r2^2\n", "c3 = (x-c3x)^2 + (y-c3y)^2 - r3^2" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 3 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xr = (x, -1, 3); yr = (y, -1, 2)\n", "p1 = implicit_plot(c1, xr, yr)\n", "p2 = implicit_plot(c2, xr, yr)\n", "p3 = implicit_plot(c3, xr, yr)\n", "(p1 + p2 + p3).show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The circle tangent to all three circles satisfies the following equations." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[-(r - 1)^2 + x^2 + y^2,\n", " -1/9*(3*r - 2)^2 + (x - 2)^2 + y^2,\n", " -1/9*(3*r - 1)^2 + (x - 1)^2 + (y - 1)^2]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r = var('r')\n", "e1 = (x - c1x)^2 + (y - c1y)^2 - (r - r1)^2\n", "e2 = (x - c2x)^2 + (y - c2y)^2 - (r - r2)^2\n", "e3 = (x - c3x)^2 + (y - c3y)^2 - (r - r3)^2\n", "eqs = [e1, e2, e3]\n", "eqs" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{x: 7/468*sqrt(170) + 77/78,\n", " y: 7/156*sqrt(85)*sqrt(2) - 35/234,\n", " r: -1/936*sqrt(-90720*sqrt(170) + 1491120) + 1/3},\n", " {x: -7/468*sqrt(170) + 77/78,\n", " y: -7/156*sqrt(85)*sqrt(2) - 35/234,\n", " r: 1/78*sqrt(5)*sqrt(126*sqrt(170) + 2071) + 1/3}]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sols = solve(eqs, (x, y, r), solution_dict=True)\n", "sols" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are two solutions, let us plot them." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "7/468*sqrt(170) + 77/78 7/156*sqrt(85)*sqrt(2) - 35/234 -1/936*sqrt(-90720*sqrt(170) + 1491120) + 1/3\n", "-7/468*sqrt(170) + 77/78 -7/156*sqrt(85)*sqrt(2) - 35/234 1/78*sqrt(5)*sqrt(126*sqrt(170) + 2071) + 1/3\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 5 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s0x = sols[0][x]\n", "s0y = sols[0][y]\n", "s0r = sols[0][r]\n", "print(s0x, s0y, s0r)\n", "sc0 = implicit_plot((x-s0x)^2 + (y-s0y)^2 - s0r^2, (x, -2, 3), (y, -3, 2), color='red')\n", "s1x = sols[1][x]\n", "s1y = sols[1][y]\n", "s1r = sols[1][r]\n", "print(s1x, s1y, s1r)\n", "sc1 = implicit_plot((x-s1x)^2 + (y-s1y)^2 - s1r^2, (x, -2, 3), (y, -3, 2), color='red')\n", "(p1 + p2 + p3 + sc0 + sc1).show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are three more pairs of solutions, obtained by changing ``r-r1`` into ``r+r1`` for the first pair, ``r-r2`` into ``r+r2`` for the second pair, and ``r-r3`` into ``r+r3`` for the third pair. Computing and visualizing the solutions is left as an exercise." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 3. Groebner Bases" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A Groebner basis for a system of polynomials in lexicographic term order can be viewed as a generalization of the row reduced echelon form for linear systems. Let us cast the equations from above into a polynomial ring with rational coefficients and a lexicographic term order." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[-(r - 1)^2 + x^2 + y^2,\n", " -1/9*(3*r - 2)^2 + (x - 2)^2 + y^2,\n", " -1/9*(3*r - 1)^2 + (x - 1)^2 + (y - 1)^2]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eqs" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Multivariate Polynomial Ring in x, y, r over Rational Field" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P. = PolynomialRing(QQ, order='lex')\n", "P" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "Q = [P(e) for e in eqs]" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(Q[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to define a Groebner basis, we have to declare an ideal, generated by the polynomials in Q." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Ideal (x^2 + y^2 - r^2 + 2*r - 1, x^2 - 4*x + y^2 - r^2 + 4/3*r + 32/9, x^2 - 2*x + y^2 - 2*y - r^2 + 2/3*r + 17/9) of Multivariate Polynomial Ring in x, y, r over Rational Field" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "J = Ideal(Q)\n", "J" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left[x + \\frac{1}{6} r - \\frac{41}{36}, y + \\frac{1}{2} r - \\frac{11}{36}, r^{2} - \\frac{71}{39} r - \\frac{253}{468}\\right]$$" ], "text/plain": [ "[x + 1/6*r - 41/36, y + 1/2*r - 11/36, r^2 - 71/39*r - 253/468]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "G = J.groebner_basis()\n", "show(G)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Observe the nice structure of ``G``. The last equation is quadratic in one variable ``r``. Once we have the two values for ``r``, we can write the coordinates for ``x`` and ``y``." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The symbolic-numeric manner to solve the system is over ``QQbar``." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{r: -0.2598568419594498?, y: 0.4354839765352805?, x: 1.182198362548798?},\n", " {r: 2.080369662472271?, y: -0.7346292756805796?, x: 0.7921606118101772?}]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "J.variety(QQbar)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The coordinate values of the solutions are intervals." ] } ], "metadata": { "kernelspec": { "display_name": "SageMath 10.3", "language": "sage", "name": "sagemath" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" } }, "nbformat": 4, "nbformat_minor": 4 }