14 votos

Encontrar el Centro de un círculo dado dos puntos y un radio (algebraicamente)

Prefacio: estoy escribiendo un programa en el que necesito encontrar el centro de un círculo, dados dos puntos en el círculo y el radio. Por lo tanto, de una construcción o haciendo el problema a mano, no es una opción, tengo que derivar una ecuación para el punto central.

Nota: Entiendo que hay dos círculos que se ajustan a este modelo, me gustaría encontrar los centros de ambos.

Intentos: he intentado seguir la lógica aquí (ver más abajo), pero después de derivar una ecuación, he probado mi ecuación en contra de un simple círculo (centro de $(0,0)$, puntos de $(2, 0)$$(0, 2)$, y el radio de $2$), y fracasó. No estoy seguro de si me estoy acercando al mal, o si me hechas una expresión algebraica de error. He ido un par de veces, pero he aquí mi derivación:

Dado los puntos de $(x_1, y_1)$ $(x_2, y_2)$ sobre el círculo y el radio de $r$:

Círculo de ecuaciones:

$$(x - x_1)^2 + (y - y_1)^2 = r^2$$ $$(x - x_2)^2 + (y - y_2)^2 = r^2$$ Restar las ecuaciones (y ampliar el cuadrado de binomios): $$(x^2 - 2(x_1)(x) + x_1^2 + y^2 - 2(y_1)(y) + y_1^2) -$$ $$(x^2 - 2(x_2)(x) + x_2^2 + y^2 - 2(y_2)(y) + y_2^2)= 0$$ $$-2(x_1)(x) - 2(y_1)(y) + 2(x_2)(x) + 2(y_2)(y) + x_1^2 + y_1^2 - x_2^2 - y_2^2 = 0$$ $$-2x(x_1 - x_2) -2y(y_1 - y_2) + x_1^2 + y_1^2 - x_2^2 - y_2^2 = 0$$ $$Let\;c = x_1^2 + y_1^2 - x_2^2 - y_2^2$$ $$Let\;x_3 = x_1 - x_2$$ $$Let\;y_3 = y_1 - y_2$$ $$2y(y_3) = -2x(x_3) + c$$ $$y = -\frac{x_3}{y_3}x + \frac{1}{2y_3}c$$ El sustituto de valor en la ecuación anterior: $$(x - x_1)^2 + (-\frac{x_3}{y_3}x + \frac{1}{2y_3}c - y_1)^2 = r^2$$ $$Let\;c_y = \frac{1}{2y_3}c - y_1$$ $$(x - x_1)^2 + (-\frac{x_3}{y_3}x + c_y)^2 = r^2$$ $$(x^2 - 2(x_1)(x) + x_1^2) + ((\frac{x_3}{y_3}x)^2 + 2(c_y)(-\frac{x_3}{y_3}x) + c_y^2) = r^2$$ $$(x^2 + (\frac{x_3}{y_3}x)^2) + (-2(x_1)(x) + 2(c_y)(-\frac{x_3}{y_3}x)) + (x_1^2 + c_y^2 - r^2) = 0$$ El de arriba es ahora una ecuación cuadrática. Simplificando $ax^2, bx$, e $c_2$: $$ax^2 = (x^2 + (\frac{x_3}{y_3}x)^2) = (x^2 + (\frac{x_3^2}{y_3^2}x^2)) = \frac{x^2y_3^2}{y_3^2} + \frac{x^2x_3^2}{y_3^2} = (\frac{x^2x_3^2 + x^2y_3^2}{y_3^2}) = x^2(\frac{x_3^2 + y_3^2}{y_3^2})$$ $$bx = (-2(x_1)(x) + 2(c_y)(-\frac{x_3}{y_3}x)) = x(-2x_1 - 2c_y(\frac{x_3}{y_3}))$$ $$c_2 = (x_1^2 + c_y^2 - r^2)$$ El punto central(s) será: $$(\frac{-b \pm \sqrt{b^2 - 4ac_2}}{2a}, -\frac{x_3}{y_3}x + \frac{1}{2y_3}c)$$


Ahora, para el ejemplo:

Supongamos que tenemos un círculo, con su centro en el origen y en un radio de $2$. A continuación, es de sentido común que dicho círculo se cruzará con el de los puntos de $(0, 2)$$(2, 0)$. El centro también podría ser al $(2, 2)$, y cumplir las demás restricciones. Por lo tanto la ecuación cuadrática en la derivada de la ecuación.

Radio: $2$

$(x_1, y_1)$: $(0, 2)$

$(x_2, y_2)$: $(2, 0)$

Búsqueda de $a$: $$(\frac{x_3^2 + y_3^2}{y_3^2}) = (\frac{(x_1 - x_2)^2 + (y_1 - y_2)^2}{(y_1 - y_2)^2}) = \frac{(0 - 2)^2 + (2 - 0)^2}{(2 - 0)^2} = \frac{8}{4} = 2$$

Búsqueda de $b$: $$(2x_1 - 2c_y(\frac{x_3}{y_3})) = - 2c_y(\frac{x_3}{y_3}) = -2c_y(\frac{x_1 - x_2}{y_1 - y_2}) = -2c_y(\frac{-2}{2}) = 2c_y = 2(\frac{1}{2}c - y_1) = 2(\frac{1}{2}(x_1^2 + y_1^2 - x_2^2 - y_2^2) - y_1) = 2(-2) = -4$$

Búsqueda de $c$: $$(x_1^2 + c_y^2 - r^2) = (-4 + (\frac{1}{2y_3}c - y_1)^2) = (-4 + 4) = 0$$

La solución de la ecuación Cuadrática: $$\frac{-b \pm \sqrt{b^2 - 4ac}}{2a} = \frac{4 \pm \sqrt{16}}{4} = 2\;or\;0$$


Claramente, yo he hecho algo mal. La esperada $x$-valores de $0$ $2$ (que me doy cuenta de que sería el resultado si $b$ fue negativo y $c$$0$, así que me siento que estoy cerca de) (o si, en el $c$ ecuación, se $x_2^2$ en lugar de $x_1^2$.) (Por supuesto, me doy cuenta de que estos son sólo en este único caso, pero creo que no debe ser un simple fuera por un error o algo, esta es la segunda vez que he tratado de derivar esta fórmula, pero yo simplemente no puede conseguir que la derecha).

Cualquier ayuda es muy apreciada.


Edit 1 Notas: he corregido el error en la línea 5, donde me restan las ecuaciones de forma incorrecta, y ahora tengo raíces que están fuera exactamente uno. Gracias por la ayuda, estoy tan cerca!

Edit 2 Notas: "Fusionado" Nobled Mushtak de correcciones. La derivación es ahora completa. Gracias a todos!

Edición 3 Notas: cualquier persona interesada puede encontrar el código que representa la derivación aquí

24voto

David K Puntos 19172

He aquí un enfoque completamente diferente que podría ser más fácil de codificar.

Sus dos puntos dados ( $(x_1, y_1)$ $(x_2, y_2)$ ) y la los centros de los dos deseado círculos están en los cuatro vértices de un rombo con lado de longitud $r$. Usted puede utilizar el Teorema de Pitágoras para encontrar la longitud de la diagonal el rombo de $(x_1, y_1)$$(x_2, y_2)$. Mejor aún, dividir por dos, así que ahora tiene la mitad de la longitud de la diagonal. Las dos diagonales de un rombo son perpendiculares, así que el punto de $(x_1, y_1)$, el centro del rombo, y uno de los los círculos " centros hacen un triángulo rectángulo con hipotenusa $r$ y una de las piernas igual a la mitad de la conocida diagonal. Utilizar el Teorema de Pitágoras para encontrar la mitad de la longitud de la otra diagonal.

Ahora sólo necesita para construir segmentos de recta de longitud con una final en el centro del rombo, perpendicular a la conocida diagonal, y el otro extremo de cada segmento será el centro de uno de los deseado círculos.

Esa es toda la razón de ser del procedimiento. Para los cálculos detallados, voy a asignar nombres a las diferentes longitudes de vamos a lo largo de con el fin de mantener las ecuaciones de llegar demasiado feo. (Quizás quieras hacer esto de todos modos cuando se puede hacer esto en el software.)

Deje $x_a = \frac12(x_2 - x_1)$$y_a = \frac12(y_2 - y_1)$; entonces el centro del rombo es en $(x_0,y_0) = (x_1+x_a, y_1+y_a)$ y la mitad de la longitud de la diagonal es conocida $a = \sqrt{x_a^2 + y_a^2}.$ La longitud de la otra diagonal es $b = \sqrt{r^2 - a^2}.$

Supongamos ahora que (por ejemplo) $(x_0,y_0)$ está por encima y a la derecha de $(x_1,y_1)$ (suponiendo que, al menos por ahora, la costumbre matemática Cartesiana $x,y$ coordenadas). Para llegar desde $(x_1,y_1)$ $(x_0,y_0)$a lo largo de una línea recta, vamos a la derecha $x_a$ unidades y hasta $y_a$ unidades por cada $a$ unidades de movimiento. Así que para obtener de $(x_0,y_0)$ hasta el centro de uno de los círculos, $(x_3,y_3)$, podemos convertir esas reglas $90$ grados: podemos bajar $x_a$ unidades y a la derecha $y_a$ unidades por cada $a$ unidades de movimiento; es decir, $\frac{x_a}{a}$ $\frac{y_a}{a}$ derecho para cada unidad viajó a lo largo de la diagonal. Pero la distancia de$(x_0,y_0)$$(x_3,y_3)$$b$, así que vamos a terminar bajando $b\frac{x_a}{a}$ unidades y a la derecha $b\frac{y_a}{a}$ unidades. En otras palabras, \begin{align} x_3 &= x_0 + \frac{b y_a}{a}, \\ y_3 &= y_0 - \frac{b x_a}{a}. \\ \end{align} Para llegar al centro del círculo, $(x_4,y_4)$, nos acaba de ir la misma cantidad en la dirección opuesta a la de $(x_0,y_0)$: \begin{align} x_4 &= x_0 - \frac{b y_a}{a}, \\ y_4 &= y_0 + \frac{b x_a}{a}. \\ \end{align}

Si $(x_0,y_0)$ es no arriba y a la derecha de $(x_1,y_1)$, o si estás trabajando en un gráfico de coordenadas sistema de con $y$ hacia abajo, o ambos, los signos de $x_a$ o $y_a$ (o ambos) puede ser negativa en lugar de positiva; pero todas las fórmulas de arriba continuar a trabajar exactamente de la misma manera como antes.

1voto

Noble Mushtak Puntos 701

Aquí está una lista de los errores:

  1. Has perdido una negativa al restar ecuaciones, por lo $c=x_1^2+y_1^2-x_2^2-y_2^2$.
  2. Al dividir por $2y_3$ en una ecuación, se le olvidó a distribuir el error, por lo que la ecuación correcta es $y=-\frac{x_3}{y_3}x+\frac{1}{2y_3}c$. Esto también afecta a la definición de $c_y$, que ahora es $\frac{1}{2y_3}c-y_1$.
  3. Usted perdió a otro negativo cuando reordenando los términos de la ecuación cuadrática, así que en realidad tenemos $b=-2x_1-2c_y\left(\frac{x_3}{y_3}\right)$.
  4. Por último, se le olvidó a la plaza de $c_y$ cuando el cálculo de $c$ en la parte inferior.

Así, tenemos las siguientes: $$a=2 \ \text{(Nothing changed here.)}$$ $$c=x_1^2+y_1^2-x_2^2-y_2^2=0$$ $$c_y=\frac{1}{2y_3}c_1-y_1=-y_1=-2$$ $$b=-2x_1-2c_y\left(\frac{x_3}{y_3}\right)=-4$$ $$c=(x_1^2+c_y^2-r^2)=(0^2+(-2)^2-2^2)=0$$ $$x=\frac{-b \pm \sqrt{b^2-4ac}}{2a}=1 \pm 1$$ $$y=-\frac{x_3}{y_3}x+\frac{1}{2y_3}c=x=1 \pm 1$$

Por lo tanto, nuestros centros se $(0, 0)$$(2, 2)$, que es la respuesta correcta.

0voto

Eric Towers Puntos 8212

Donde tienes "$y = -\frac {x_ 3} {y_ 3} + \frac {1} {2} c$", usted debe tener "$y = -\frac {x_ 3} {y_ 3} + \frac {1} {2 y_ 3} c$". Puede haber más errores, pero me detuve allí desde esta omisión se propaga posteriormente, así que no es probable que un tipográficos omisión.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X