Cos'è
python-bary è, come suggerisce il nome, una libreria in Python che, come suggerisce il nome, permette di risolvere problemi geometrici per mezzo delle tanto famigerate ed abusate coordinate baricentriche. È stata sviluppata da me medesimo in un arco temporale piuttosto breve, ma ciononostante supporta tutte le operazioni fondamentali, come vedremo più avanti.
Sarei una persona meschina se non menzionassi il fatto che python-bary sfrutta un'altra libreria, sympy, per il calcolo simbolico: la risoluzione di equazioni e la semplificazione di espressioni è (quasi) totalmente merito di essa.
Prerequisiti e installazione
Come suggerisce il buon senso, per utilizzare una libreria Python è necessario Python; in particolare, è necessario Python3.
I più fortunati fra di voi che utilizzano una qualche distribuzione Linux possono installarlo con un semplice
Codice: Seleziona tutto
sudo apt-get install python3
Gli altri possono scaricarlo in qualche modo da qui (Python3, mi raccomando!).
Come accennato prima, python-bary sfrutta sympy, che va quindi installata anch'essa; potete trovare istruzioni per installare sympy qui.
Infine, la libreria vera e propria. Il codice sorgente si trova su GitHub.
Scaricate ed estraete l'archivio https://github.com/Delfad0r/python-bary ... master.zip (o in alternativa, se siete pratici di git, potete clonare il repository). Nella cartella dove avete estratto eseguite
Codice: Seleziona tutto
python3 setup.py install
E niente, se siete fortunati ha funzionato tutto. Ora potete far partire la console di Python e digitare
Codice: Seleziona tutto
from bary.default import *
Come si usa
Qualche conoscenza basilare di Python può aiutare ma non è strettamente necessaria: gli esempi sottostanti dovrebbero chiarire come usufruire delle funzioni principali di python-bary.
Come ogni libreria che si rispetti, python-bary avrebbe bisogno di documentazione, che però al momento non ho alcuna voglia di scrivere. Ancora una volta, spero che gli esempi sotto, che mostrano molte (ma non tutte!) funzionalità fondamentali della libreria, siano sufficienti.
Sentitevi comunque liberi di scrivermi, in questo thread oppure in privato, se non riuscite a fare qualcosa (il che comprende anche l'installazione) o necessitate di chiarimenti.
Il feedback è ovviamente apprezzato. Se riscontrate malfunzionamenti, o avete in mente funzionalità che migliorerebbero la libreria, non esitate a contattarmi.
Ma ora...
Enough words!
Vediamo ora all'opera python-bary mentre macina senza troppi problemi alcuni esercizi.
- BMO 2015/2
Sia $\triangle{ABC}$ un triangolo scaleno acutangolo con incentro $I$ e circumcerchio $\omega$. Le rette $AI,BI,CI$ intersecano $\omega$ in $D,E,F$ rispettivamente. Le parallele ai lati $BC,CA,AB$ passanti per $I$ intersecano le rette $EF, FD, DE$ in $K, L, M$. Dimostrare che $K, L, M$ sono allineati.Testo nascosto: - BMO 2013/1
In un triangolo $\triangle{ABC}$, l'ex-cerchio $\omega_a$ opposto ad $A$ tange $AB$ in $P$ e $AC$ in Q, mentre l'ex-cerchio $\omega_b$ opposto a B tange $BA$ in $M$ e $BC$ in $N$. Sia $K$ la proiezione di $C$ su $MN$, e $L$ la proiezione di $C$ su $PQ$. Dimostrare che il quadrilatero $MKLP$ è ciclico.Testo nascosto: - IMO 2012/1
In un triangolo $\triangle{ABC}$, $J$ è il centro dell'ex-cerchio opposto ad $A$; l'ex-cerchio tange $BC, AB, AC$ in $M, K, L$. Le rette $LM,BJ$ si intersecano in $F$, e le rette $KM, CJ$ in $G$. Sia $S$ il punto di intersezione delle rette $AF, BC$, e sia $T$ il punto di intersezione delle rette $AG, BC$. Dimostrare che $M$ è il punto medio di $ST$.Testo nascosto: - BST 2015/5
Sia $ABCD$ un quadrilatero ciclico. Sia $M$ un punto sul segmento $CD$, e sia $N$ il punto sul segmento $BA$ tale che
$$
\frac{CM}{CD}=\frac{BM}{BA}
$$
Sia $Q$ il secondo punto di intersezione tra le circonferenze circoscritte ai triangoli $\triangle{AMD}$ e $\triangle{BMC}$. Dimostrare che la circonferenza circoscritta al triangolo $\triangle{NQB}$ è tangente alla retta BC.Testo nascosto: - IMO SL 2003/5
Sia $\triangle{ABC}$ un triangolo isoscele con base $AB$, $I$ l'incentro. Si scelga un punto sulla circonferenza circoscritta ad $\triangle{AIB}$ interno al triangolo $\triangle{ABC}$. Sia $D$ il punto di intersezione tra $AB$ e la parallela di $AC$ passante per $P$, $E$ il punto di intersezione tra $AB$ e la parallela di $BC$ passante per $P$, $F$ il punto di intersezione tra $AC$ e la parallela di $AB$ passante per $P$, $G$ il punto di intersezione tra $BC$ e la parallela di $AB$ passante per $P$. Sia $X$ l'intersezione tra $DF$ e $EG$. Mostrare che $X$ sta sulla circonferenza circoscritta ad $\triangle{ABC}$.Testo nascosto: