Coordenadas baricéntricas de los puntos notables del triángulo (página 2)
Enviado por Aladar Peter Santha
Observación 3.10:
Si ABC no es un triangulo rectángulo, las tangentes a la circunferencia circunscrita al triángulo ABC (en los puntos A, B y C) se cortan en los puntos A", B" y C" y el triángulo A"B"C" se llama el triángulo tangencial asociado al triángulo ABC (figura 3.15). Obviamente, la circunferencia circunscrita al triángulo ABC es la circunferencia inscrita en el triángulo A"B"C" y las simedianas del triángulo ABC serán las rectas de Georgonne del triángulo tangencial. Así, según el teorema 3.9, las simedianas de un triángulo no rectángulo concurren en el punto de Georgonne S del triángulo tangencial y se llamará centro simedian o punto de Lemoine.
Lema 3.2: Si el triángulo ABC no es rectángulo y es el triángulo tangencial asociado al triangulo ABC,
, donde R es el radio de la circunferencia circunscrita al triángulo ABC ..
En efecto, si M (x) significa la medida del ángulo o del arco x (en radianes), entonces
Luego, teniendo en cuenta la igualdad de los triángulos rectángulos
, y operando en los triángulos rectángulos OB"C se obtiene que
La demostración de las otras igualdades es análoga.
Teorema 3.21: Si ABC no es un triángulo rectángulo, el punto de Lemoine L del triángulo ABC es el baricentro del sistema de puntos ponderados siguiente:
, donde
, o bien
Demostración: Siguiendo la figura 3.15 y teniendo en cuenta que el punto L es el punto de Georgonne del triángulo tangencial, según (2.8"),
, donde, según el lema 3.2,
y
Luego,
Multiplicando los números primero con (-1) y luego, el resultado por se obtienen las coordenadas baricéntricas del punto de Lemoine enunciadas en el teorema, de las dos maneras distintas.
Teorema 3.22: Si el triangulo ABC es rectángulo, las coordenadas baricéntricas del punto de Lemoine se calculan de acuerdo con las implicaciones siguientes:
Demostración: Si ABC es un triángulo no rectángulo y entonces la posición límite de las simedianas y del punto de Lemoine del triángulo no rectángulo serán las simedianas y el punto de Lemoine del triángulo rectángulo en
Multiplicando las coordenadas baricéntricas por se obtienen las coordenadas baricéntricas del punto de Lemoine enunciadas para el caso
En el caso se dividen las coordenadas baricéntricas del punto de Lemoine entre y se obtienen las coordenadas baricéntricas siguientes:
, y pasando al límite resulta que:
Multiplicando las coordenadas baricéntricas por se obtienen las coordenadas baricéntricasdel punto de Lemoine enunciadas para el caso
En el caso pasando al límite en las coordenadas baricéntricas del punto de Lemoine se obtienen las coordenadas baricentricas siguientes:
Multiplicando las coordenadas baricéntricas por se obtienen las coordenadas baricéntricas del punto de Lemoine, enunciadas para el caso
Si se conocen las coordenadas de los vértices de un triangulo, el código siguiente (en el lenguaje Visual-Basic) puede servir para averiguar las coordenadas de los puntos notables y el valor de algunos otros elementos y representarlos en la pantalla de un ordenador, según la teoría expuesta anteriormente:
Public Function PNTriangulo(ByRef a() As Double, ByRef b() As Double, ByRef c() As Double) As String
Dim ab As Double, ac As Double, bc As Double, per As Double, p As Double, S As Double, swtri As Integer
Dim q(3) As Double, X(3) As Double, y(3) As Double, xg As Double, yg As Double, xo As Double, yo As Double
Dim xh As Double, yh As Double, xi As Double, yi As Double, xiA As Double, yiA As Double
Dim xe As Double, ye As Double, xLE As Double, yLE As Double
Dim xiB As Double, yiB As Double, xiC As Double, yiC As Double
Dim xpg As Double, ypg As Double, xpga As Double, ypga As Double, ypgb As Double
Dim xpgc As Double, ypgc As Double
Dim xpn As Double, ypn As Double, xpna As Double, ypna As Double, xpnb As Double, ypnb As Double
Dim xpnc As Double, ypnc As Double
Dim angA As Double, angB As Double, angC As Double
Dim angAD As Double, angBD As Double, angCD As Double
Dim radioc As Double, radioi As Double, riA As Double, riB As Double, riC As Double
Dim hip As String, r() As Double, rad As Double, resultados As String, rc As String
rad = 45 / Atn(1): rc = Chr$(13) + Chr$(10)
If (a(1) – b(1)) * (a(2) – c(2)) – (a(2) – b(2)) * (a(1) – c(1)) = 0 Then
MsgBox "Los puntos A, B y C están alineados. Verifique la coordenadas introducidas", 48
Exit Function
End If
X(1) = a(1): X(2) = b(1): X(3) = c(1): y(1) = a(2): y(2) = b(2): y(3) = c(2)
'Cálculo de los lados
ab = Sqr((a(1) – b(1)) ^ 2 + (a(2) – b(2)) ^ 2)
ac = Sqr((a(1) – c(1)) ^ 2 + (a(2) – c(2)) ^ 2)
bc = Sqr((b(1) – c(1)) ^ 2 + (b(2) – c(2)) ^ 2)
'Cálculo del perímetro
per = ab + ac + bc: p = per / 2
'Cálculo de las cooredenadas del centro de gravedad
xg = (a(1) + b(1) + c(1)) / 3: yg = (a(2) + b(2) + c(2)) / 3
' ¿El triángulo es rectángulo?
If (a(1) – c(1)) * (b(1) – c(1)) + (a(2) – c(2)) * (b(2) – c(2)) = 0 Then
swtri = 1: hip = "AB"
End If
If (a(1) – b(1)) * (c(1) – b(1)) + (a(2) – b(2)) * (c(2) – b(2)) = 0 Then
swtri = 1: hip = "AC"
End If
If (b(1) – a(1)) * (c(1) – a(1)) + (b(2) – a(2)) * (c(2) – a(2)) = 0 Then
swtri = 1: hip = "BC"
End If
'Cálculo de los ángulos
If swtri = 0 Then
t = 0.5 * (ac * ac + ab * ab – bc * bc) / (ac * ab)
angA = Atn(-t / Sqr(1 – t * t)) + 2 * Atn(1)
angAD = angA * rad
t = 0.5 * (ab * ab + bc * bc – ac * ac) / (ab * bc)
angB = Atn(-t / Sqr(1 – t * t)) + 2 * Atn(1)
angBD = angB * rad
t = 0.5 * (ac * ac + bc * bc – ab * ab) / (ac * bc)
angC = Atn(-t / Sqr(1 – t * t)) + 2 * Atn(1)
angCD = angC * rad
Else
If hip = "BC" Then
angA = 2 * Atn(1): angAD = 90
angB = Atn(ac / bc): angBD = rad * angB
angC = 2 * Atn(1) – angB: angCD = rad * angC
Else
If hip = "AB" Then
angC = 2 * Atn(1): angCD = 90
angB = Atn(ac / ab): angB = rad * angB
angA = 2 * Atn(1) – angB: angAD = rad * angA
Else
angB = 2 * Atn(1): angBD = 90
angC = Atn(ab / bc): angCD = rad * angC
angA = 2 * Atn(1) – angC: angAD = rad * angA
End If
End If
End If
' Cálculo del ortocentro
If swtri = 0 Then
q(1) = Tan(angA): q(2) = Tan(angB): q(3) = Tan(angC)
xh = fx(q(), X()): yh = fy(q(), y())
Else
If hip = "BC" Then
xh = a(1): yh = a(2)
Else
If hip = "AB" Then
xh = c(1): yh = c(2)
Else
xh = b(1): yh = b(2)
End If
End If
End If
'Cálculo del circuncentro
If swtri = 0 Then
q(1) = bc * Cos(angA): q(2) = ac * Cos(angB): q(3) = ab * Cos(angC)
xo = fx(q(), X()): yo = fy(q(), y())
Else
If hip = "BC" Then
xo = (b(1) + c(1)) / 2: yo = (b(2) + c(2)) / 2
Else
If hip = "AB" Then
xo = (a(1) + b(1)) / 2: yo = (a(2) + b(2)) / 2
Else
xo = (a(1) + c(1)) / 2: yo = (a(2) + c(2)) / 2
End If
End If
End If
'Cálculo del radio de la circunferencia circunscrita
radioc = Sqr((xo – a(1)) ^ 2 + (yo – a(2)) ^ 2)
'Cálculo del área del triángulo
If swtri = 0 Then
S = Sqr(p * (p – ac) * (p – bc) * (p – ab))
Else
If hip = "BC" Then
S = 0.5 * ab * ac
Else
If hip = "AB" Then
S = 0.5 * ac * bc
Else
S = 0.5 * ab * bc
End If
End If
End If
'Cálculo del incentro
q(1) = bc: q(2) = ac: q(3) = ab
xi = fx(q(), X()): yi = fy(q(), y())
'Cálculo del radio de la circunferencia inscrita
radioi = S / p
'Cálculo de los centros de las circunferencias exinscritas
q(1) = bc: q(2) = -ac: q(3) = -ab
xiA = fx(q(), X()): yiA = fy(q(), y())
q(1) = -bc: q(2) = ac: q(3) = -ab
xiB = fx(q(), X()): yiB = fy(q(), y())
q(1) = -bc: q(2) = -ac: q(3) = ab
xiC = fx(q(), X()): yiC = fy(q(), y())
'Cálculo de los radios de las circunferencias exinscritas
riA = S / (p – bc): riB = S / (p – ac): riC = S / (p – ab)
'Cálculo de las coordenadas del punto de Gorgonne y de sus adjuntos
q(1) = 1 / (p – bc): q(2) = 1 / (p – ac): q(3) = 1 / (p – ab) '''''''''''''''''''
xpg = fx(q(), X()): ypg = fy(q(), y())
q(1) = 1 / p: q(2) = -1 / (p – ab): q(3) = -1 / (p – ac)
xpga = fx(q(), X()): ypga = fy(q(), y())
q(1) = -1 / (p – ab): q(2) = 1 / p: q(3) = -1 / (p – bc)
xpgb = fx(q(), X()): ypgb = fy(q(), y())
q(1) = -1 / (p – ac): q(2) = -1 / (p – bc): q(3) = 1 / p
xpgc = fx(q(), X()): ypgc = fy(q(), y())
'Cálculo de las coordenadas del punto de Nagel y de sus adjuntos
q(1) = p – bc: q(2) = p – ac: q(3) = p – ab
xpn = fx(q(), X()): ypn = fy(q(), y())
q(1) = p: q(2) = ab – p: q(3) = ac – p
xpna = fx(q(), X()): ypna = fy(q(), y())
q(1) = ab – p: q(2) = p: q(3) = bc – p
xpnb = fx(q(), X()): ypnb = fy(q(), y())
q(1) = ac – p: q(2) = bc – p: q(3) = p
xpnc = fx(q(), X()): ypnc = fy(q(), y())
'Cálculo de centro y del radio de la circunferencia de Euler
xe = 0.5 * (xh + xo): ye = 0.5 * (yh + yo): Radioe = 0.5 * radioc
'Cálculo de las coordenadas del punto de Lemoine
If swtri = 0 Then
"Caso del triángulo no rectángulo
q(1) = -1 – Tan(angB) / Tan(angC)
q(2) = -Tan(angB) * (Tan(angA) + Tan(angC)) / (Tan(angA) * Tan(angC))
q(3) = -1 – Tan(angB) / Tan(angA)
xLE = fx(q(), X()): yLE = fy(q(), y())
Else
" Caso de los triángulos rectángulos
If hip="BC" Then
q(1) = Tan(angB)+Tan(angC):q(2) = Tan(angB):q(3) = Tan(angC)
End If
If hip = "AC" Then
q(1) = Tan(angA): q(2) = Tan(angA)+Tan(angC): q(3) = Tan(angC)
End If
If hip = "AB" Then
q(1) = Tan(angA):q(2) = Tan(angB):q(3) = Tan(angA)+Tan(angB)
End If
xLE = fx(q(), X()): yLE = fy(q(), y())
End If
'EDICIÓN DE LOS RESULTADOS
resultados = "Vertices del triángulo:" + rc
resultados = resultados + "A ( " + Str$(a(1)) + " , " + Str$(a(2)) + " ) ; "
resultados = resultados + "B ( " + Str$(b(1)) + " , " + Str$(b(2)) + " ) ; "
resultados = resultados + "C ( " + Str$(c(1)) + " , " + Str$(c(2)) + " )" + rc
resultados = resultados + "Longitud de los lados:" + rc
resultados = resultados + "AB = " + Format$(ab, "0.##0") + " ; "
resultados = resultados + "AC = " + Format$(ac, "0.##0") + " ; "
resultados = resultados + "BC = " + Format$(bc, "0.##0") + rc
resultados = resultados + "Medidas de los ángulos" + rc
resultados = resultados + "Ángulo A = " + Format$(angAD, "0.##0") + " ; "
resultados = resultados + "Ángulo B = " + Format$(angBD, "0.##0") + " ; "
resultados = resultados + "Ángulo C = " + Format$(angCD, "0.##0") + rc
resultados = resultados + "Coordenadas del centro de gravedad G:" + rc
resultados = resultados + "G ( " + Format$(xg, "0.##0") + " , " + Format$(yg, "0.##0") + " )" + rc
resultados = resultados + "Coordenadas del ortocentro H:" + rc
resultados = resultados + "H ( " + Format$(xh, "0.##0") + " , " + Format$(yh, "0.##0") + " ) ; " + rc
resultados = resultados + "Coordenadas del circuncentro O:" + rc
resultados = resultados + "O ( " + Format$(xo, "0.##0") + " , " + Format$(yo, "0.##0") + " )" + rc
resultados = resultados + "Coordenadas del incentro I:" + rc
resultados = resultados + "I ( " + Format$(xi, "0.##0") + " , " + Format$(yi, "0.##0") + " )" + rc
If swtri = 0 Then
resultados = resultados + "Coordenadas del punto de Lemoine LE:" + rc
resultados = resultados + "LE( " + Format$(xLE, "0.##0") + " , " + Format$(yLE, "0.##0") + " )" + rc
End if
resultados = resultados + "Coordenadas de las circunferencias exinscritas., Ia,Ib e Ic" + rc
resultados = resultados + "Ia ( " + Format$(xiA, "0.##0") + " , " + Format$(yiA, "0.##0") + " ) ; "
resultados = resultados + "Ib ( " + Format$(xiB, "0.##0") + " , " + Format$(yiB, "0.##0") + " ) ; "
resultados = resultados + "Ic ( " + Format$(xiC, "0.##0") + " , " + Format$(yiC, "0.##0") + " )" + rc
resultados = resultados + "Área S, Perimetro Pm del triángulo:" + rc
resultados = resultados + "S = " + Format$(S, "0.##0") + " ; Pm = " + Format$(per, "0.##0") + rc
resultados = resultados + "Radio de la circunferencia circunscrita R, redio de la circunferencia inscrita r:" + rc
resultados = resultados + "R = " + Format$(radioc, "0.##0") + " ; " + "r = " + Format$(radioi, "0.##0") + rc
resultados = resultados + "Radios de las circunferencias exiscritas, Ra,Rb y Rc:" + rc
resultados = resultados + "Ra = " + Format$(riA, "0.##0") + " ; "
resultados = resultados + "Rb = " + Format$(riB, "0.##0") + " ; "
resultados = resultados + "Rc = " + Format$(riC, "0.##0") + rc
resultados = resultados + "Coordenadas del punto de Georgonne PG y de sus adjuntos PGa,PGb y PGc:" + rc
resultados = resultados + "PG ( " + Format$(xpg, "0.##0") + " , " + Format$(ypg, "0.##0") + " ) ; "
resultados = resultados + "PGa ( " + Format$(xpga, "0.##0") + " , " + Format$(ypga, "0.##0") + " ) ; "
resultados = resultados + "PGb ( " + Format$(xpgb, "0.##0") + " , " + Format$(ypgb, "0.##0") + " ) ; "
resultados = resultados + "PGc ( " + Format$(xpgc, "0.##0") + " , " + Format$(ypgc, "0.##0") + " )" + rc
resultados = resultados + "Coordenadas del punto de Nagel PN y de sus adjuntos PNa,PNb y PNc:" + rc
resultados = resultados + "PN ( " + Format$(xpn, "0.##0") + " , " + Format$(ypn, "0.##0") + " ) ; "
resultados = resultados + "PNa ( " + Format$(xpna, "0.##0") + " , " + Format$(ypna, "0.##0") + " ) ; "
resultados = resultados + "PNb ( " + Format$(xpnb, "0.##0") + " , " + Format$(ypnb, "0.##0") + " ) ; "
resultados = resultados + "PNc ( " + Format$(xpnc, "0.##0") + " , " + Format$(ypnc, "0.##0") + " )" + rc
resultados = resultados + "Centro Ie y el radio Re de la circunferencia de los 9 puntos de Euler:" + rc
resultados = resultados + "Ie ( " + Format$(xe, "0.##0") + " , " + Format$(ye, "0.##0") + " ) ; "
resultados = resultados + "Re = " + Format$(Radioe, "0.##0") + rc + rc
PNTriangulo = resultados
End Function
Public Function fx(ByRef q() As Double, ByRef X() As Double) As Double
Dim suma As Double
suma = q(1) + q(2) + q(3)
fx = (q(1) * X(1) + q(2) * X(2) + q(3) * X(3)) / suma
End Function
Public Function fy(ByRef q() As Double, ByRef y() As Double) As Double
Dim suma As Double
suma = q(1) + q(2) + q(3)
fy = (q(1) * y(1) + q(2) * y(2) + q(3) * y(3)) / suma
End Function
Bibliografía
N.N. Mihaileanu, Complemente de Geometrie Sintetic?, Editura Didactica ?i Pedagogica, Bucure?ti, 1965
C. Gautier, D. Gerll, G Girard, C. Thircé, A Warusfel, ALEPH1, GÉOMÉTRIE, Terminale CE, Classiques Hachette, 79 Boulevard Saint-Germain, Paris, 1975
C.Mihalescu, GEOMETRIA ELEMENTELOR REMARCABILE, Editura Tehnica,, Bucure?ti, 1957.
Autor:
Aladár Péter Sántha
Página anterior | Volver al principio del trabajo | Página siguiente |