Triângulos

Por Thales Fernandes

Do que consiste esse NoteBook?!

Esse notebook não consiste em um aprofundamento sobre triângulos. Apenas demonstrarei alguns pontos, retas e círculos notáveis e particulares muito interessantes.

Como as funções, retas, pontos, ângulos e círculos serão trabalhados?!

Para facilidade de trabalho eu parametrizarei as formas de como são mostradas as funções, retas, pontos e círculos serão trabalhados.

Os pontos serão determinados por uma letra maiuscula e pode conter ou não um número a sua direita.
Ex: A1, B

As retas, quando mencionadas, serão apenas um segmento de reta. E sempre demonstrará a distancia entre dois pontos. Sendo assim ilutrada pelos dois pontos em ordem alfabetica.
Ex: AB

As Funções, sendo as mais importantes nesse notebook, serao mostradas como as retas, mas possuindo o [x] depois.
Ex: AB[x]

Baricentro

Baricentro é o ponto de interceção das 3 medianas de um triangulo.

Como 3 pontos determinam um triângulo. Vamos determinar 3 pontos quaisquer.

Unprotect[C];
Off[Solve::"ifun", General::spell1, FullSimplify::"fas", 
      General::"spell"]

A := {a, b}
B := {c, d}
C := {e, f}

O determinante dessa matriz determina a função que passa pelos pontos A e B.
Isolando y tempos a função AB[x].

AB[x_]:= Solve[Det[(({{x, y, 1}, {A[[1]], A[[2]], 1}, {B[[1]], B[[2]], 1}}))] == 0,y][[1, 1, 2]]
AC[x_]:= Solve[Det[(({{x, y, 1}, {A[[1]], A[[2]], 1}, {C[[1]], C[[2]], 1}}))] == 0,y][[1, 1, 2]]
BC[x_]:= Solve[Det[(({{x, y, 1}, {B[[1]], B[[2]], 1}, {C[[1]], C[[2]], 1}}))] == 0,y][[1, 1, 2]]

Agora determinaremos os pontos Ms tais quais são os pontos medios dos lados do triangulo

M1 := ((A + B)/2)
M2 := ((A + C)/2)
M3 := ((B + C)/2)

Determinaremos agora as funções que passam pelo ponto medio ate o angulo oposto ao ponto medio desse lado.

CM1[x_] := Solve[ Det[(({{x, y, 1}, {C[[1]], C[[2]], 1}, {M1[[1]], M1[[2]], 1}}))]==0,y][[1, 1, 2]]
BM2[x_] := Solve[ Det[(({{x, y, 1}, {B[[1]], B[[2]], 1}, {M2[[1]], M2[[2]], 1}}))]==0,y][[1, 1, 2]]
AM3[x_] := Solve[ Det[(({{x, y, 1}, {A[[1]], A[[2]], 1}, {M3[[1]], M3[[2]], 1}}))]==0,y][[1, 1, 2]]

Agora achamos os pontos onde as funções são iguais. A interceção.

Baricentro := {x, 
          y} /. Solve[{CM1[x] == y, 
              BM2[x] == y, AM3[x] == y}, {x, 
              y}][[1]]

As Coordenadas do baricentro são dadas por:

Baricentro

((A + B + C)/3)

Ortocentro

Ortocentro é o ponto de interseção entre as alturas de um triangulo.

Para determinar a reta perpendicular a uma outra reta pegamos o oposto do inverso do coeficiente linear de uma reta. Pois:

Tan[ArcTan[α] + (π/2)]

ABν[x_]:=-((x - C[[1]])/(AB'[x]))+C[[2]]
ACν[x_]:=-((x - B[[1]])/(AC'[x]))+B[[2]]
BCν[x_]:=-((x - A[[1]])/(BC'[x]))+A[[2]]

Agora achamos o ponto onde as restas perpendiculares interceptão na sua reta perpendicular

P1 := {Solve[ABν[x] == AB[x], x][[1, 1, 
          2]], 
        AB[Solve[ABν[x] == AB[x], x][[1, 1, 
            2]]]}
P2 := {Solve[ACν[x] == AC[x], x][[1, 1, 
          2]], 
        AC[Solve[ACν[x] == AC[x], x][[1, 1, 
            2]]]}
P3 := {Solve[BCν[x] == BC[x], x][[1, 1, 
          2]], 
        BC[Solve[BCν[x] == BC[x], x][[1, 1, 
            2]]]}

Agora acharemos o ortocentro, ou seja, o ponto de interseção das retas perpendiculares.

Ortocentro := {x, 
          y} /. Solve[{ABν[x] == y, 
              ACν[x] == y, BCν[x] == y}, {x, 
              y}][[1]]

As Coordenadas do ortocentro são dadas por:

Ortocentro

FullSimplify[%]

Circuncentro

Circuncentro é o ponto de interseção entre as mediatrizes internas do triangulo.
O circuncentro determina um circulo que passa pelos pontos A, B e C.
Tres pontos determinam um circulo.

Determinaremos as retas perpendiculares aos segmentos que passam pelo ponto medio, as mediatrizes. o encontro delas resulta no circuncentro.

ABνm[x_]:=-((x - M1[[1]])/(AB'[x]))+M1[[2]]
ACνm[x_]:=-((x - M2[[1]])/(AC'[x]))+M2[[2]]
BCνm[x_]:=-((x - M3[[1]])/(BC'[x]))+M3[[2]]

O circuncentro será a interseção dessas retas.

CircuncentroII := {x, 
          y} /. Solve[{ABνm[x] == y, 
              ACνm[x] == y, BCνm[x] == y}, {x, 
              y}][[1]]

CircuncentroII

FullSimplify[%]

Incentro

O incentro é o ponto de interseção entre as bissetrizes internas de um triangulo.

Dis[α_, β_] := (Sqrt[(∑_(n = 1)^2)(α - β)[[n]]^2])

Show[Import["incentro.jpg"]];

Por ser algo mais complexo abriremos mao dessa figura para facilidade de compreensão.

criamos 3 triangulos isoceles por que o lado oposto ao angulo que queremos achar é perpendicular a bissetriz. propriedade do triangulo isoceles.

S1 := {B[[1]], 
        A[[2]]}
S3 := {B[[1]], 
        C[[2]]}
S5 := {A[[1]], 
        B[[2]]}

BS1 := (B - S1)[[2]]
AS5 := (A - S5)[[2]]
BS3 := (B - 
            S3)[[2]]

AS1 := (A - S1)[[1]]
CS3 := (C - S3)[[1]]
BS5 := (B - 
            S5)[[1]]

Sen = (Catops/Hip)  ,  Cos  =  (CatAdj/Hip)
Mais tarde explicarei porque achei essas distancias assim.

W3S2 := ((BS1 Dis[A, C])/Dis)[A, B]
W2S4 := ((BS3 Dis[A, C])/Dis)[B, C]
W1S6 := ((AS5 Dis[B, C])/Dis)[A, B]

AS2 := ((AS1 Dis[A, C])/Dis)[A, B]
CS4  :=  ((CS3 Dis[A, C])/Dis)[B, C]
BS6  :=  ((BS5 Dis[B, C])/Dis)[A, B]

Agora vamos entender o por que das distancias de AS1 etc eu não pus o modulo devido ali.
Se a coordenada y de B for maior do que a y de A entao B estará acima de A, isso implica que P3 estará acima dos dois pontos, assim sendo as coordenadas y de P3 sera a distancia P3S2 + as coordenadas y da A. Mas se as coordenadas y de A forem maiores do que as y de B entao P3 estará embaixo dos demais pontos. assim sendo as coordenadas de P3 serao dadas por -P3S2 + a.
Agora do jeito que fiz isso ja fica subentendido. se B for maior do que A, entao BS1 sera positivo, o que indica que devemos somar, mas se A for maior do que B entao sera negativo, o que indica que devemos subtrair. Analisando todas essas proprosiçoes dos pontos conseguimos fazer isso com y e x dos dos demais pontos, o que acaba sendo mais simples e eficiente.

W3 := {-AS2 + A[[1]], 
        W3S2 + A[[2]]}
W2 := {-CS4 + C[[1]], 
        W2S4 + C[[2]]}
W1 := {-BS6 + B[[1]], 
        W1S6 + B[[2]]}

Temos essas coordenadas, e agora?
No triangulo isoceles a altura relativa a base é a mesma reta do ponto medio e da bissetriz, sendo assim os segmentos CP3 eh perpendicular a bissetriz, assim fica facil achar a equaçao da bissetriz. O seu coeficiente angular sera dado pelo oposto do inverso so coeficiente angular da base do triangulo isoceles desenhado.

Coef[α_, β_] := (α - β)[[2]]/((α - β))[[1]]

BissecA[
        x_] := -((x - A[[1]])/Coef)[
                W3, C] + 
        A[[2]]
BissecB[
        x_] := -((x - B[[1]])/Coef)[
                W1, C] + 
        B[[2]]
BissecC[
        x_] := -((x - C[[1]])/Coef)[
                W2, A] + 
        C[[2]]

SolveFunctionI  =  Solve[BissecA[x] == BissecB[x], 
          x][[1, 1, 2]]

Para os mais audaciosos está ai uma linha de comando, mas aviso, ela demorara minutos, horas, para resolver e nao necessariamente chegará ao resultado

    FullSimplify[SolveFunctionI, {{a,b,c,d,e,f} ∈ Reals, {a,b,c,d,e,f} ≠ {0,0,0,0,0,0} }]

Redolvendo  BissecA[%] e simplificando achamos as coordenadas do incentro, mas como isso demanda muito tempo ja ponho o resultado aqui.

Incentro := {((Dis[A, B] C[[1]] + Dis[A, C] B[[1]] + Dis[B, C] A[[1]])/(Dis[A, B] + Dis[A, C] + Dis[B, C])), ((Dis[A, B] C[[2]] + Dis[A, C] B[[2]] + Dis[B, C] A[[2]])/(Dis[A, B] + Dis[A, C] + Dis[B, C]))}

RaioIncentro := 
      Abs[Det[{{A[[1]], A[[2]], 1}, {B[[1]], B[[2]], 1}, {C[[1]], C[[2]], 1}}]]/(Dis[A, B] + Dis[A, C] + Dis[B, C])

Uma das coisas mais curiosas do incentro são as suas coordenadas e o valor do raio.
    As coordenadas x do ponto sao dados pela soma dos comprimentos de um lado vezes a coordenada x do ponto oposto a esse lado tudo isso sobre o perimetro. a coordenada x eh identica a y, porem invez de usar as coordenadas x dos pontos, usasse as y.
    o raio é dado pela deteriminante dos pontos, que tambem é o dobro da area  tudo isso sobre o perimetro.
    As provas são um pouco complicadas, mas os resultados sao super simples de guardar de memoria.

Simplify[
      SolveFunctionI == 
        Incentro[[1]]]

Ellipse de Thales Fernandes

Essa é uma ellipse que o autor desse notebook, Thales Fernandes, inventou.
Esta vindo depois do incentro pois tem uma relação importantissima com ele. (na verdade nao tao importante mas bem legal)

Calculamos a distancia de um ponto {q,w} qualquer ate um ponto qualquer da reta.

Dis[{x, AB[x]}, {q, w}]
Dis[{x, AC[x]}, {q, w}]
Dis[{x, BC[x]}, {q, w}]

Quando a derivada dessas funçoes for igual a zero teremos o menor valor, o minimo da funçao, das distancias entre os dois pontos, tendo assim a distancia entre o ponto e a reta, a distancia perpendicular. Existe outras maneiras mais simples de se efetuar esse calculo.

MenorDistanciaAB := 
      FullSimplify[{x, 
            AB[x]} /. Solve[(∂_x) 
                    Dis[{x, AB[x]}, {q, w}] == 0, 
              x][[1]]]
MenorDistanciaAC := 
      FullSimplify[{x, 
            AC[x]} /. Solve[(∂_x) 
                    Dis[{x, AC[x]}, {q, w}] == 0, 
              x][[1]]]
MenorDistanciaBC := 
      FullSimplify[{x, 
            BC[x]} /. Solve[(∂_x) 
                    Dis[{x, BC[x]}, {q, w}] == 0, 
              x][[1]]]

Agora calculamos a distancia do ponto {q,w} ate o ponto MenorDistancia. e isso nos darrá o menor comprimento entre o ponto e a reta.

Como é de interesse variar os valores de q e w, entao substituimos eles por x e y apenas por questoes esteticas.

v1 := 
      Simplify[Dis[MenorDistanciaAB, {q, w}]] /. {q -> 
            x, w -> y}
v2 := 
      Simplify[Dis[MenorDistanciaAC, {q, w}]] /. {q -> 
            x, w -> y}
v3 := 
      Simplify[Dis[MenorDistanciaBC, {q, w}]] /. {q -> 
            x, w -> y}

\(Ao\ plotamos\ \ v1\^2\  == \ 
      v2\ v3\ nos\ teremos\ uma\ parabola\ e\ uma\ ellipse, \ 
    por\ causa\ do\ modulo\ podemos\ ter\ a\ equaçao\ das\ duas\ separadamente . \ 
        teremos\ que\ trabalhar\ com\ algumas\ condiçoes\ como\ no\ ponto\ \(\(Incentro\)\(.\)\)\)

(v1^2)  ==  v2 v3

Por que isso?!

Se temos v1 = v2, isso nos dara a equaçao das retas bissetrizes aos segmentos AB e AC.
Entao se iqualarmos v1 = v2, v1=v3, v2 = v3 essas retas se interceptarao nos excentro e incentro.
Da matematica temos que (a^2)  ==  a* a. Como v1 = v2, v1=v3, v2 = v3 , entao podemos substituir esses valores na equaçao que ela sera verdade para todo e qualquer {x,y} ∈ Reais.
Logo (v1^2)  ==  v2* v3 é verdade.
Alem do fato dessa ultima equaçao ser verdade ele nos dará uma ellipse e uma parabola que passa pelo incentro e pelos 3 pontos A, B e C do triangulo.
se plotarmos (v1^2)  ==  v2* v3  , (v2^2)  ==  v1* v3  e (v3^2)  ==  v1* v2  Essas parabolas e ellipses se interceptaram nos excentro e incentro tambem, pois v1 = v2 continua sendo verdade, nos nao mudamos a verocimidade da equaçao, apenas interagimos ela de uma maneira diferente.
Assim como sao validas as equaçoes de media aritimetica
v1 + v2 ==2* v3 , v1 + v3 == 2*v2 e v2 + v3 == 2*v3
e Tambem as equaçoes de media harmonica.
(1/v1)+ (1/v2) == (2/v3)  ,  (1/v1)+ (1/v3) == (2/v2)  e  (1/v3)+ (1/v2) == (2/v1)

Excentro

O excentro é o ponto de encontro de duas bissetrizes externas e uma interna (de angulos diferntes) de um triangulo.

Ja temos as funçoes BissecA ... basta usar os Coef[ws,P] para poder achar a função da reta perpendicular a BissecA... assim fazendo as interseções com uma bissetriz interna.

ExBissecA[x_] := 
      Coef[W3, C] (x - A[[1]]) + 
        A[[2]]
ExBissecB[x_] := 
      Coef[W1, C] (x - B[[1]]) + 
        B[[2]]
ExBissecC[x_] := 
      Coef[W2, A] (x - C[[1]]) + 
        C[[2]]

Solve[ ExBissecA[x]  ==  BissecB[x],  x][[1, 1, 
        2]]
Solve[ ExBissecB[x]  ==  BissecA[x],  x][[1, 1, 
        2]]
Solve[ ExBissecC[x]  ==  BissecA[x],  x][[1, 1, 
        2]]

Simplificando completamente essa equaçoes e jogando elas na formula para achar y, tempos, ja simplificadamente, pois levará um longo tempo para simplificar, as coordenadas.

ExcentroOpostoaA = {((Dis[B, C] A[[1]] - Dis[A, C] B[[1]] - Dis[A, B] C[[1]])/(-Dis[A, B] - Dis[A, C] + Dis[B, C])), ((Dis[B, C] A[[2]] - Dis[A, C] B[[2]] - Dis[A, B] C[[2]])/(-Dis[A, B] - Dis[A, C] + Dis[B, C]))}
ExcentroOpostoaB = {((-Dis[B, C] A[[1]] + Dis[A, C] B[[1]] - Dis[A, B] C[[1]])/(-Dis[A, B] + Dis[A, C] - Dis[B, C])), ((-Dis[B, C] A[[2]] + Dis[A, C] B[[2]] - Dis[A, B] C[[2]])/(-Dis[A, B] + Dis[A, C] - Dis[B, C]))}
ExcentroOpostoaC = {((-Dis[B, C] A[[1]] - Dis[A, C] B[[1]] + Dis[A, B] C[[1]])/(Dis[A, B] - Dis[A, C] - Dis[B, C])), ((-Dis[B, C] A[[2]] - Dis[A, C] B[[2]] + Dis[A, B] C[[2]])/(Dis[A, B] - Dis[A, C] - Dis[B, C]))}

RaioExcentroOpostoaA = 
      Abs[Det[{{A[[1]], A[[2]], 1}, {B[[1]], B[[2]], 1}, {C[[1]], C[[2]], 1}}]]/Abs[-Dis[A, B] - Dis[A, C] + Dis[B, C]]
RaioExcentroOpostoaB = 
      Abs[Det[{{A[[1]], A[[2]], 1}, {B[[1]], B[[2]], 1}, {C[[1]], C[[2]], 1}}]]/Abs[-Dis[A, B] + Dis[A, C] - Dis[B, C]]
RaioExcentroOpostoaC = 
      Abs[Det[{{A[[1]], A[[2]], 1}, {B[[1]], B[[2]], 1}, {C[[1]], C[[2]], 1}}]]/Abs[Dis[A, B] - Dis[A, C] - Dis[B, C]]

Nine-Point Center

Nine-Point Center eh o centro do circulo q passa pelos pontos de encontro das alturas do triangulo com o triangulo e das medianas com o triangulo e possui mias 3 pontos de encontro com as alturas do triangulo.

NinePointCenter  :=  {x, 
          y}  /.   Solve[{
Dis[{x, y}, M1] == 
                Dis[{x, y}, M2], 
Dis[{x, y}, M1] == 
                Dis[{x, y}, M3], 
Dis[{x, y}, M2] == 
                Dis[{x, y}, M3], 
Dis[{x, y}, P1] == 
                Dis[{x, y}, P2], 
Dis[{x, y}, P1] == 
                Dis[{x, y}, P3], 
Dis[{x, y}, P3] == 
                Dis[{x, y}, P2]
}, {x, 
              y}][[1]]

FullSimplify[NinePointCenter]

RaioNinePointCenter  :=  Dis[NinePointCenter, M1]

Provando que existe um ponto equidistante dos 6 pontos. achamos agora o raio.

FullSimplify[RaioNinePointCenter ]

Ponto de Gergonne

Sao traçadas 3 retas cujos pontos sao um vertice do triangulo e o outro a interceção do incirculo com o lado oposto a esse vertice. a interceção dessas 3 retas é o ponto de Gergonne.

Podemos determinar o ponto de tangencia de diferentes maneiras, mas essa é simples e dá o mesmo resultado

ABλ[x_]:=-((x - 
              Incentro[[1]])/(AB'[x]))+Incentro[[2]]
ACλ[x_]:=-((x - 
              Incentro[[1]])/(AC'[x]))+Incentro[[2]]
BCλ[x_]:=-((x - 
              Incentro[[1]])/(BC'[x]))+Incentro[[2]]

IncentroTangenciaOpostoaC := {x, 
          AB[x]} /. Solve[ABλ[x] == AB[x], 
            x][[1]]
IncentroTangenciaOpostoaB := {x, 
          AC[x]} /. Solve[ACλ[x] == AC[x], 
            x][[1]]
IncentroTangenciaOpostoaA := {x, 
          BC[x]} /. Solve[BCλ[x] == BC[x], 
            x][[1]]

Jogando no determinantes para achar as funçoes que Passam pelo ponto e o ponto de tangencia oposto a esse.

Aη[x_]:=Solve[\[LeftBracketingBar](({{x, y, 1}, {A[[1]], A[[2]], 1}, {IncentroTangenciaOpostoaA[[1]], IncentroTangenciaOpostoaA[[2]], 1}}))\[RightBracketingBar]==0,y][[1, 1, 2]] 
Bη[x_]:=Solve[\[LeftBracketingBar](({{x, y, 1}, {B[[1]], B[[2]], 1}, {IncentroTangenciaOpostoaB[[1]], IncentroTangenciaOpostoaB[[2]], 1}}))\[RightBracketingBar]==0,y][[1, 1, 2]]
Cη[x_]:=Solve[\[LeftBracketingBar](({{x, y, 1}, {C[[1]], C[[2]], 1}, {IncentroTangenciaOpostoaC[[1]], IncentroTangenciaOpostoaC[[2]], 1}}))\[RightBracketingBar]==0,y][[1, 1, 2]]

Igualando as funçoes para achar o Ponto de Gergonne.
Por ser funções muito extensas eu vou por as coordenadas aqui. Precisa de um FullSimplify, mas ira demorar muito tempo

Gergonne := {(-(a^3) + c (a^2) + e (a^2) - (b^2) a + (c^2) a + 
              (e^2) a + b d a - 3 c e a + b f a - 
              d f a + (Sqrt[(((a - c))^2) + (((b - d))^2)]) (Sqrt[(((a - e))^2) + (((b - f))^2)]) a - (c^3) - (e^3) - c (d^2) + c (e^2) - e (f^2) + 
              b c d + (c^2) e - b d e - b c f + c d f + b e f + 
              d e f + 
              c (Sqrt[(((a - c))^2) + (((b - d))^2)]) (Sqrt[(((c - e))^2) + (((d - f))^2)]) + 
              e (Sqrt[(((a - e))^2) + (((b - f))^2)]) (Sqrt[(((c - e))^2) + (((d - f))^2)]))/(-(a^2) + c a + e a - (b^2) - (c^2) - (d^2) - (e^2) - 
              (f^2) + b d + c e + b f + 
              d f + (Sqrt[(((a - c))^2) + (((b - d))^2)]) (Sqrt[(((a - e))^2) + (((b - f))^2)]) + (Sqrt[(((a - c))^2) + (((b - d))^2)]) (Sqrt[(((c - e))^2) + (((d - f))^2)]) + (Sqrt[(((a - e))^2) + (((b - f))^2)]) (Sqrt[(((c - e))^2) + (((d - f))^2)])), (-(b^3) + d (b^2) + f (b^2) - 
              (a^2) b + (d^2) b + (f^2) b + a c b + a e b - c e b - 
              3 d f b + (Sqrt[(((a - c))^2) + (((b - d))^2)]) (Sqrt[(((a - e))^2) + (((b - f))^2)]) b - (d^3) - (f^3) + d (f^2) - (c^2) d + a c d - 
              a d e + c d e + (d^2) f - (e^2) f - a c f + a e f + 
              c e f + (Sqrt[(((a - e))^2) + (((b - f))^2)]) (Sqrt[(((c - e))^2) + (((d - f))^2)]) f + (Sqrt[(((a - c))^2) + (((b - d))^2)]) d (Sqrt[(((c - e))^2) + (((d - f))^2)]))/(-(a^2) + c a + e a - (b^2) - 
              (c^2) - (d^2) - (e^2) - (f^2) + b d + c e + b f + 
              d f + (Sqrt[(((a - c))^2) + (((b - d))^2)]) (Sqrt[(((a - e))^2) + (((b - f))^2)]) + (Sqrt[(((a - c))^2) + (((b - d))^2)]) (Sqrt[(((c - e))^2) + (((d - f))^2)]) + (Sqrt[(((a - e))^2) + (((b - f))^2)]) (Sqrt[(((c - e))^2) + (((d - f))^2)]))}

FullSimplify[
      Gergonne  /. { Dis[A, B]  ->  AB,  Dis[A, C]  ->  AC, 
          Dis[B, C]  ->  BC}]

Ponto de Apollonius

Dado um triangulo traçar um circulo que seja tangente e contenha os 3 excirculos desse triangulo. Os pontos de interceção do circulo traçado com os excirculos sao ligados ao vertice oposto ao excirculo.

Show[Import["Apollonius.JPG"]];

Abriremos mão da imagem apenas para a facilidade de compreensão.
Não sabemos o centro ainda do circulo, por isso chamaremos ele de {α,β}.

H1 := Dis[{x, y}, ExcentroOpostoaA] + RaioExcentroOpostoaA
H2 := Dis[{x, y}, ExcentroOpostoaB] + RaioExcentroOpostoaB
H3 := Dis[{x, y}, ExcentroOpostoaC] + RaioExcentroOpostoaC

Teriamos que resolver

H1 == H2
H1 == H3
H2 == H3

Resolvendo esse sistema para x e y teriamos a resposta. porem, os calculos sao demasiados complicados e demroados.