6 votos

Radio del círculo circunscrito de un polígono regular

Iba a preguntar esto en SO pero creo que es más matemáticas que programación:

Dada la longitud lateral, el número de vértices y el ángulo de los vértices del polígono, ¿cómo puedo calcular el radio de su circunferencia circunscrita?

El polígono puede tener cualquier número de lados mayor o igual a 3.

La entrada de la wikipedia sólo habla del círculo circunscrito de un triángulo...

Gracias.

editar: Además, el polígono está centrado alrededor del punto (0,0). Así que supongo que estoy preguntando cuál es la distancia desde el origen a cualquiera de sus puntos..

1 votos

Si te refieres a un polígono regular, puedes utilizar el teorema de Pitágoras y la trigonometría, dividir el polígono en triángulos y cortarlos por la mitad para obtener un triángulo rectángulo,

0 votos

"longitud lateral, número de vértices, ángulo del vértice y coordenadas de cada punto del polígono" - si es un polígono regular, entonces 2 conjuntos de esta información son redundantes.

0 votos

Gracias Kenny, me he dado cuenta. También ver mi edición - en realidad no tengo las coordenadas todavía (puse que por error) - eso es lo que estoy calculando utilizando el radio. Por ejemplo double tempX = circumcircleRadius * Math.Sin(i * vertexAngle); double tempY = circumcircleRadius * Math.Cos(i * vertexAngle); para cada punto.

8voto

Jay Puntos 395

Sea $s$ sea la longitud lateral y $\alpha$ es el ángulo del vértice. A continuación, utilizando la trigonometría simple se puede encontrar que $$ \sin{\frac{\alpha}{2}} = \frac{s/2}{r} $$ Por lo tanto $$ r = \frac{s}{2 \sin{\frac{\alpha}{2}}} $$

1 votos

¡Funciona! Gracias falagar

3voto

Cada vértice de un polígono debe estar a la misma distancia del centro del círculo que lo circunscribe.

Por lo tanto, encontrar la ecuación de las mediatrices de cualquiera de los lados del polígono.

La intersección de las bisectrices perpendiculares te dará el centro del círculo.

Entonces la distancia entre el centro y cualquier esquina del polígono es el radio del círculo.

EDITAR(respuesta a la pregunta editada):

Si la longitud de un lado es $L$ y el número de vértices es $N$ entonces Supongamos que los puntos A y B definen un lado y C es el centro.

Entonces el ángulo ACB es $360/N$ Supongamos que D es el punto medio de una arista AB entonces el ángulo DCA = ángulo DCB = 180/ N. Esto implica $sin(180/N) = L/(2R) $ donde R es el radio del círculo.

Así que.., $ R = \frac{L}{2sin(180/N)}$

Pseudocódigo:

def get_circumradius(L,N):
    return L/(2 * math.sin(180/N))

0 votos

Hola, gracias por la respuesta. He editado mi pregunta: todo lo que tengo es el número de vértices y la longitud lateral para trabajar, no las coordenadas, sin embargo, el polígono está centrado alrededor del origen. Así que ya sé dónde está el centro. Simplemente no puedo averiguar cómo i la distancia a uno de los vértices, sin sus coordenadas.

0voto

El radio circunscrito $R$ de cualquier polígono regular que tenga $n$ nº de lados cada uno de la longitud $a$ viene dada por la fórmula generalizada $$\bbox[4pt, border: 1px solid blue;]{\color{red}{R=\frac{a}{2}\csc \frac{\pi}{n}} }$$ y cada uno de sus ángulos interiores es $\color{blue}{\frac{(n-2)\pi}{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