Coordenadas baricéntricas de los puntos notables del triángulo (página 2)
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 |