Problema n. 16

Il triangolo ABC di baricentro G è inscrtitto in una circonferenza Γ. Studiare il luogo descritto da G quando uno dei vertici varia su Γ. Stabilire inoltre come viene suddiviso dai punti in cui incontra il luogo,  il lato opposto al punto che varia sulla circonferenza.

Clear["Global`*"]; Unprotect[C];

Determinazione dell'equazione del luogo cercato

Senza perdere di generalità assumiamo che la circonferenza sia quella di raggio unitario con centro nell'origine; A e B siano inoltre i vertici fissi del triangolo,  C sia quello mobile e G il baricentro. Indicando con a, b e t  i valori del parametro corrispondenti rispettivamente ai punti A, B e C, si avrà:

A = {Cos[a], Sin[a]}; B = {Cos[b], Sin[b]}; C = {Cos[t], Sin[t]};

G = (1/3) (A + B + C)

Indicate con x e y le coordinate di G ed eliminato il parametro t tra le due uguaglianze ottenute si ha:

x == (1/3) (Cos[a] + Cos[b] + Cos[t]);

y == (1/3) (Sin[a] + Sin[b] + Sin[t]);

Eliminate[{x == (1/3) (Cos[a] + Cos[b] + Cos[t]), 
        y == (1/3) (Sin[a] + Sin[b] + Sin[t])}, t]

Si eseguono i necessari calcoli algebrici

Thread[% - Last[%], Equal]

Simplify[%]

\(Thread[%\/9, Equal]\)

Collect[First[%], {x, y}]

Il luogo trovato è una circonferenza. Posto:

p = (1/9) + (2/9) Cos[a - b]; \(m = 1\/3\ \((Cos[a] + Cos[b])\); 
n = 1\/3\ \((Sin[a] + Sin[b])\); 
    \)

il centro della circonferenza sarà:

P = {m, n};

e il raggio r :

r = (Sqrt[(m^2) + (n^2) - p])

r = Simplify[%]

In conclusione, il luogo descritto dal baricentro G di una triangolo ABC inscritto in una circonferenza Γ, al variare di C su Γ,  è una circonferenza di centro P  e  raggio uguale a (1/3).
Indicata con "baricirco" l'equazione della circonferenza, si avrà:

baricirco = (x^2) + (y^2) - 2 m x - 2 n y + p == 0;

Realizzazione dell'animazione

In primo luogo conviene stabilire i punti fissi A e B, assegnando un valore rispettivamente ai parametri  a e b, poi costruire la figura servendosi delle primitive grafiche "Circle","Line" e "Point"ed infine servendosi dell'istruzione "Do" realizzare i fotogrammi desiderati.

a = 17/16 Pi; b = 29/16 Pi;

\(\(figura = 
      Show[
		
        Graphics[

          			{Circle[{0, 0}, 1], Circle[P, r], Line[{C, \(A + B\)\/2}], 
            Line[{A, \(B + C\)\/2}], 
				Line[{B, \(C + A\)\/2}], 
            Point[A], Point[B], Point[C], Point[G], 
				
            Text["A", A - .05], Text["B", B - .05], 
            Text["C", C - .05], 
				Text["G", G - .05], 
            Thickness[0.007], Hue[3], Line[{A, B, C, A}]}], 
		
        AspectRatio -> Automatic, Axes -> True, 
        AxesLabel -> {"x", "y"}, 
		
        PlotRange -> {{\(-1.2\), 1.2}, {\(-1.2\), 1.2}}, 
		
        Prolog -> AbsolutePointSize[4], 
        DisplayFunction -> Identity]; \)\)

Fotogramma := Show[figura, DisplayFunction -> $DisplayFunction]

Do[Fotogramma, {t, 0, 2 π, (π/16)}]

Congettura e verifica numerica

L'analisi dell'animazione, eventualmente ripetuta variando i valori assegnati ad a e a b e il numero dei fotogrammi (memoria permettendo), dovrebbe consentire agli studenti di formulare la congettura che il lato AB del triangolo venga suddiviso in tre parti uguali dai due punti di intersezione con il luogo di baricentri.
Per compiere una verifica numerica di tale congettura si può procedere innanzitutto definendo come far calcolare al computer la distanza tra due punti .

dist[{x1_, y1_}, {x2_, y2_}] := 
      Sqrt[(x1 - x2)^2 + (y1 - y2)^2]

Si scrive l'equazione della retta AB

rettaAB =  
      y - Sin[a] == 
        ((-Sin[a] + Sin[b])/(-Cos[a] + Cos[b])) 
          (x - Cos[a])

Si risolve numericamente il sitema formato dall'equazione della circonferenza trovata e quella della retta AB.

NSolve[{rettaAB, baricirco}, {x, y}]

{x, y} /. %

Indicati rispettivamente con M1 e M2 i punti aventi per coordinate le soluzioni  trovate, essendo M1 quello più vicino ad A, ricordandosi di controllare la coerenza tra tra i risultati sopra ottenuti e l'assegnazione di seguito fatta,la  si ha:

M1 = First[%]; M2 = Last[%];

Si può ora procedere alla verifica, che conferma la supposizione fatta.

dist[A, M1] == dist[M1, M2]

dist[B, M2] == dist[M1, M2]

dist[M1, M2] == (1/3) dist[A, B]

Protect[C]