10 votos

¿Cómo calculo la ecuación de un círculo dados 3 números complejos?

Dados tres valores complejos (por ejemplo, $2i, 4, i+3$ ), ¿cómo calcularías la ecuación del círculo que contiene esos tres puntos? Sé que tiene algo que ver con la relación cruzada de los tres puntos y $z$ y el hecho de que la relación cruzada es un número real, pero no sé qué hacer con esa información.

1 votos

¿Sabes lo que es un Transformación de Möbius es? Si es así, la inversa de la transformación de Möbius dada por la relación cruzada le da un parametrización del círculo (hasta uno entre $2i$ , $4$ , $i+3$ dependiendo de su fórmula exacta de la relación cruzada) por los números reales.

0 votos

Si necesitas verificar el resultado que obtienes de Möbius, puedes utilizar el determinante habitual de la ecuación cartesiana de una circunferencia que pasa por tres puntos (tratando el plano complejo como un plano cartesiano) y comprobar que la parametrización que obtienes (sustituyendo $x$ y $y$ con expresiones adecuadas) satisface esa expresión cartesiana.

0 votos

"la inversa de la transformación de Möbius dada por la relación cruzada" ¿qué quiere decir con dada por?

9voto

Andrew Puntos 140

También podría dar un poco de cuerpo a los comentarios de Theo...

Si tiene cuatro puntos $z_i,\quad i=1\dots4$ en la siguiente configuración:

cross-ratio

la relación cruzada de estos cuatro puntos es

$$\Delta=\frac{z_1-z_3}{z_1-z_4}\left(\frac{z_2-z_3}{z_2-z_4}\right)^{-1}$$

Si $\Delta$ es real, esto significa que

$$\arg\left(\frac{z_1-z_3}{z_1-z_4}\right)-\arg\left(\frac{z_2-z_3}{z_2-z_4}\right)=0$$

Interpretados geométricamente, los ángulos $\angle z_3 z_1 z_4$ y $\angle z_3 z_2 z_4$ son congruentes y, por tanto, deben ser ángulos inscritos en una circunferencia; es decir, los cuatro puntos son cíclicos.

Si dejamos que $z_4$ sea un punto variable $z$ trazando el círculo y $\Delta$ sea un parámetro variable, obtenemos una ecuación para el círculo a través de $z_1,z_2,z_3$ :

$$\Delta=\frac{z_1-z_3}{z_1-z}\left(\frac{z_2-z_3}{z_2-z}\right)^{-1}$$

Resolver para $z=x+iy$ da

$$z=\frac{z_2(z_1-z_3)-z_1(z_2-z_3)\Delta}{z_1-z_3-(z_2-z_3)\Delta}$$

que como dice Theo es una transformación de Möbius. Tomando partes reales e imaginarias y eliminando $\Delta$ debería dar lugar a una ecuación cartesiana. (Obtener el centro y el radio de esta circunferencia es un poco complicado y se deja como un ejercicio de manipulación algebraica).

1 votos

Muy bien, ¡gracias! El $x$ -se puede encontrar la coordenada del centro en el enlace que proporcioné en mi último comentario anterior. Esto demuestra que la ecuación cartesiana debe ser aún peor en términos de fealdad. Pero puede ser que los puntos de la pregunta del PO estén elegidos de tal manera que las ecuaciones funcionen bien - no me he molestado en comprobarlo.

0 votos

@Theo: Todo cuadra algebraicamente, pero tuve que usar Mathematica para la verificación ya que estoy tratando de conservar el papel aquí... XD

1 votos

Como ventaja: para un círculo en forma de Möbius $z=\frac{a+bt}{c+dt}$ el centro viene dado por la expresión $$p=\frac{a\bar{d}-b\bar{c}}{c\bar{d}-d\bar{c}}$$ y el radio viene dado por $$r^2=|p|^2-\frac{a\bar{b}-b\bar{a}}{c\bar{d}-d\bar{c}}$$ bastante compacto en su forma compleja, pero con un aspecto infernal cuando se hace cartesiano...

3voto

Reinis Puntos 331

"También podría ser carne" Comentario de @Dinesh.

Esta solución utiliza manipulaciones algebraicas y la consideración de la geometría de las figuras. [Una solución más concisa podría aprovechar la formalidad de los vectores].

La solución es la ecuación de la forma (x-h)^2+(y-k)^2=r^2, donde damos los valores de los 3 parámetros, h, k y r.

En primer lugar, convertimos a coordenadas cartezianas:

2i -> (0,2)
4 -> (4,0)
i+3 -> (3,1)

1 -- Para encontrar el centro de la circunferencia (h,k), necesitamos las ecuaciones de dos rectas que sean bisectrices perpendiculares de dos lados cualesquiera del triángulo implícito anterior. La intersección de estas rectas es el centro de la circunferencia.

2 -- Una bisectriz perpendicular tendrá una pendiente, M, de -1/m, donde m es la pendiente del lado correspondiente del triángulo. Obtenemos la pendiente de un lado, m, fácilmente a partir de los dos puntos dados para ese lado. También podemos obtener fácilmente un punto, P, en la bisectriz perpendicular: el punto medio del lado del triángulo. Con un punto y una pendiente tenemos esencialmente las ecuaciones de la recta que necesitamos.

3 -- Para obtener la longitud del radio, r, calculamos la distancia entre el centro de la circunferencia y cualquiera de los puntos de la misma.

Las bisectrices de los lados de un triángulo se cruzan en el centro de la circunferencia que lo circunscribe. La demostración es fácil, ya que observamos que cada punto a lo largo de una de estas bisectrices perpendiculares está a una distancia equidistante de cada uno de los dos puntos que forman los extremos del lado del triángulo correspondiente. Por tanto, el centro de esta circunferencia (al ser la intersección de estas bisectrices perpendiculares) tiene la propiedad de que equidista de cada uno de los 3 puntos, es decir, es una circunferencia circunscrita. Obsérvese que dados 3 puntos cualesquiera, existe un único triángulo implícito en ellos (por lo que podemos utilizar el argumento de la bisectriz perpendicular para concluir que existe una única circunferencia).

Ahora, los cálculos clave:

2:

m_1 = (0-1)/(4-3) = -1
m_2 = (2-1)/(0-3) = - 1/3
M_1 = -1/(-1) = 1
M_2 = -1/(-1/3) = 3
P_1 = ( (4+3)/2 , (0+1)/2 ) = (7/2,1/2)
P_2 = ( (0+3)/2 , (2+1)/2 ) = (3/2,3/2)

1:

EQN_1

P_1y = (M_1)(P_1x) + B_1
1/2 = (1)(7/2) + B_1
B_1 = -3

Y = X - 3

EQN_2

P_2y = (M_2)(P_2x) + B_2
3/2 = (3)(3/2) + B_2
B_2 = -3

Y = 3X - 3

Intersección

X - 3 = 3X - 3
X = 0

Y = (0) - 3
Y = -3

Por lo tanto, h = 0 y k = -3

3:

Podemos calcular la distancia de (h,k) a (0,2)

r = sqrt [ (0 - 0)^2 + (-3 - 2)^2 ]
r = 5

Más concretamente, la ecuación del círculo es:

(x)^2 + (y + 3)^2 = 25

0voto

peawormsworth Puntos 126

Esto me ha funcionado en python:

def three_point_circle(z1,z2,z3):
    a = 1j*(z1-z2)
    b = 1j*(z3-z2)
    if a.real:
        m1 = a.imag/a.real
        c = (z1-z2)/2
        p1 = z2+c
        b1 = p1.imag-m1*p1.real
    if b.real:
        m2 = b.imag/b.real
        d = (z3-z2)/2
        p2 = z2+d
        b2 = p2.imag-m2*p2.real
    if a.real and b.real:
        x = (b2-b1)/(m1-m2)
        y = (m2*b1-m1*b2)/(m2-m1)
    elif a.real:
        x,y = 0,b1
    elif b.real:
        x,y = 0,b2
    else:
        x,y = 0,0
    center = x+1j*y
    radius = abs(center-z1)
    return x,y,radius

En un script que subí aquí:

https://github.com/peawormsworth/tools/blob/master/three_point_circle/three_point_circle.py

Para producir imágenes como éstas:

three points make a circle three times

Actualización: No he probado los casos especiales de este código. Pero quizás si los puntos están en una línea, el círculo también lo está y los radios son irrelevantes.

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