Applicazione (forse) del teorema di Menelao

Ganzani
Date una terna di punti allineati ABC (B interno AC) su di una retta n e data una circonferenza alfa di centro D e raggio r non secante n

si vuole determinare per via grafica (se possibile) il triangolo EFG inscritto in alfa (dovrebbe essere unico) tale che risultino i seguenti allineamenti: AEF BEG CFG.

dovrebbe rientrarci in qualche modo il teorema di Menelao ma non trovo come risolvere il questito. Grazie per l’eventuale aiuto.
Cordialmente Giovanni

Risposte
otta96
Ma cosa intendi con "per via grafica"? Tipo con geogebra?
Se si è abbastanza facile e non c'è bisogno del teorema di Menelao.

Ganzani
Si intendo tramite un disegno e non tramite soluzioni analitiche. Sì ho provato con Geogebra, ma non riesco a chiudere il disegno operando nell’ordine che ho descritto.
Posso fare un cerchio alfa di centro D metterci tre punti ABC e farci passare tre rette ah ac bc per i punti presi a coppie e disegnare pou una retta esterna n e determinare le tre intersezioni EFG di n con ab ac cb.
Ma se provo a fare prima la retta n con sopra tre punti allineati ABC, a prendere poi una circonferenza alfa non secante di centro D e raggio il segmento D H posso tracciare da A una retta ef secante alfa e determinare un punto E di intersezione su alfa, mando la retta per i punti E A che trova F su alfa poi mando la retta da B ad E che trova la seconda intersezione G con alfa ora la retta fg è determinata ma non passa da C. Muovendo opportunamente in geogebra H raggio di alfa o D centro di Alfa o E la catena cinematica diciamo così è in grado di passare da C, ma vorrei capire se esiste un qualche modo per posizionare EFG tali da effettuare un disegno esatto.
Spero di aver spiegato meglio. Intanto grazie per la domanda. Citavo Menelao perché è l’unica cosa che ho trovato che mi pare parente del mio quesito. Cordialmente Giovanni.

moccidentale
.

Ganzani
Grazie per la verifica numerica, mi è comunque utile sapere che sono due. A prescindere da Geogebra, che avevo usato per cercare di capire con un cinematismo se esiste una via grafica per la soluzione, é un disegno che faccio in AutoCad e per scrivere l’eventuale algoritmo grafico risolutivo in AutoLisp.
Vorrei implementare una macro che faccia l disegno a partire dai dati forniti. Buone cose e grazie per le verifiche numeriche che non avrei saputo fare.

moccidentale
.

otta96
Io con GeoGebra ho messo $A$, $B$ e $C$ allineati, poi ho tracciato una circonferenza esterna, ho scelto un punto ($E$) sulla circonferenza, l'ho congiunto con $A$ e $B$, trovando rispettivamente $F$ e $G$ dall'intersezione, poi fatto la retta passante per $F$ e $G$, e poi ho mosso $E$ in modo che l'ultima retta passasse per $C$, prova e fammi sapere se ti torna.
Io non mi ero accorto che ce ne fossero due ti triangoli.

moccidentale
.

otta96
Ora ricontrollando ho visto che c'è sia il caso in cui $E$ è nell'arco $FG$ più vicino alla retta sia quello in cui è più lontano. Non credo che $E$ debba per forza stare nel mezzo (tra l'altro sarebbe quello che mi era sfuggito) perchè non lo ha specificato, a differenza di $B$ all'inizio.

Ganzani
@sellacollesella
che dirti grazie della dettagliatissima risposta che mi è certamente utilissima, ne capisco il senso complessivo ma me la devo studiare un po' per poterla comprendere ed eventualmente applicare, non tutti i passaggi sono per me immediati ed esplicitabili.
Vorrei, se posso, chiederti dell'immagine esemplificativa, mi pare fatta in geometria dinamica, posso chiederti in che programma? posso chiederti se le due coppie di terne EFG che ottieni nel disegno derivano da quanto scrivi sopra o se sei riuscito ad implementare una soluzione grafica?
se e' fatta in Geogebra mi puoi mostrare il protocollo di costruzione?

@otta96
si con Geogebra ho fatto come te, ma il tasto dolente è la parte in cui si muove la catena cinematica per far passare l'ultima retta per C, mi serve, se possibile sapere dove piazzare i punti senza doverli spostare sapendo che soddisfano i requisiti per così dire.
Anche io ero convinto dai disegni fatti che la soluzione fosse univoca per quello non avevo specificamente indicato E interno intendendo implicitamente con allineamento AEF che E fosse interno.

@entrambi
Dato che c'e' la possibilità vi carico un'immagine con il tema in sintesi, carico poi sotto anche un immagine più completa e dettagliata del tema che sto dipanando.



In estrema sintesi, tutto per via grafica da EFG di sigma posso ricavare, con passaggi omessi nel disegno semplificato, i punti allineati ABC quali centri del fascio di circonferenze alfa beta gamma di asse radicale m passante da D esiste una correlazione geometrica. vorrei capire se esiste una costruzione grafica che mi faccia ottenere i punti EFG (allineamenti ordinati AEF BEG CFG) o se preferite le rette p q r noti gli altri elementi.
anche il fatto che esista una doppia possibilità mi pare interessante da investigare, noto tutto il disegno vorrei capire se esiste una costruzione grafica che mi permetta di determinare la terna EFG alternativa (allineamenti ordinati AFE BGE CGF) questo non saprei in questo caso come farlo, ora che so che c'e' riesco solo in uno specifico caso che sarebbe lungo spiegare.

nel disegno completo che segue le tre circonferenze rosse sono ricavate quali circonferenze di Apollonio associate alle circonferenze nere secanti (senza nome) di centro A B C prese a coppie; le coppie e la circonferenza di Apollonio associata formano un fascio di circonferenze secanti.





Grazie molte ad entrambi per il vostro tempo.

moccidentale
.

Ganzani
gentilissimo sellacollesella,
non avrei potuto sperare in una consulenza migliore, ho preso del tempo per risponderti per poterti allegare alla risposta il codice implementato in base alle tue indicazioni.
sembra funzionare perfettamente (intendo quanto ho fatto sulla base delle tue indicazioni); devo ancora testarlo un per vedere se riesco a mandarlo in crisi, ma pare reggere.
Cercavo una soluzione grafica ma anche così per via analitica mi è utilissimo perchè con l'algoritmo che mi disegna le due soluzioni in base ai dati posso fare una serie di valutazioni e vediamo se trovo una costruzione grafica (dubito).
Se gradisci, siccome in qualche modo questo confluirà in una pubblicazione, mi piacerebbe poterti citare come fonte, nel caso fossi interessato, ti scrivo messaggio privato con i miei contati, non esitare se credi a contattarmi.
Cordialmente Giovanni Anzani.


segue codice AutoLisp che effettua il disegno in Autocad in base ai dati forniti per via grafica in fase di esecuzione, nel caso il codice da ;SOF a ;EOF va salvato in formato LSP e caricato in autocad
è ancora un po' grezzo ma per testarlo mi andava bene cosi. Se poi ti interessa la versione rifinita
chiaramente sono adisposizione.


;SOF
;---------------------------
(defun c:test ()
;---------------------------
(setq A (getpoint "\nPunto A:")) (command "_point" A)
(setq B (getpoint A "\nPunto B:")) (command "_point" B)
(setq C (getpoint B "\nPunto C (allineato AB):")) (command "_point" C) (command "_pline" A B C "_c")
(setq D (getpoint "\nCentro D circonferenza alfa):")) (command "_point" D)
(setq H (getpoint D "\nraggio r circonferenza alfa:"))
(setq r (distance D H)) (command "_circle" D r)
;---------------------------
(setq XA (car A) XB (car B) XC (car C) XD (car D))
(setq YA (cadr A) YB (cadr B) YC (cadr C) YD (cadr D))
;---------------------------
(setq UA (/ (- XA XD) r) UB (/ (- XB XD) r) UC (/ (- XC XD) r))
(setq VA (/ (- YA YD) r) VB (/ (- YB YD) r) VC (/ (- YC YD) r))
;---------------------------
(setq UAp (+ 1 UA) UBp (+ 1 UB) UCp (+ 1 UC))
(setq UAm (- 1 UA) UBm (- 1 UB) UCm (- 1 UC))
;---------------------------
(setq VBC (* VB VC))
(setq UBC (* UB UC) UAC (* UA UC) UAB (* UA UB))
;---------------------------
(setq a (+ (* VA (- (* UBp VC) (* UCp VB))) (* VBC UAp ) (* -1 UAp UBp UCm)))
(setq b (+ (* VA (- 1 (* UB UC) (* VBC ))) (* VB (- 1 UAC)) (* -1 VC (- 1 UAB))))
(setq c (+ (* VA (- (* UBm VC) (* UCm VB))) (* VBC UAm ) (* -1 UAm UBm UCp)))
(setq ac (* a c))
(setq bb (* b b))
;---------------------------
(setq e1 (/ (+ (* -1 b) (sqrt (- bb ac))) a) e2 (/ (- (* -1 b) (sqrt (- bb ac))) a))
(setq f1 (/ (+ UA (* e1 VA) -1) (- (* UAp e1) VA)) f2 (/ (+ UA (* e2 VA) -1) (- (* UAp e2) VA)))
(setq g1 (/ (+ UB (* e1 VB) -1) (- (* UBp e1) VB)) g2 (/ (+ UB (* e2 VB) -1) (- (* UBp e2) VB)))
;---------------------------
(setq e1q (expt e1 2) e2q (expt e2 2))
(setq f1q (expt f1 2) f2q (expt f2 2))
(setq g1q (expt g1 2) g2q (expt g2 2))
;---------------------------
(setq XE1 (+ XD (/ (* r (- 1 e1q)) (+ 1 e1q))) XE2 (+ XD (/ (* r (- 1 e2q)) (+ 1 e2q))))
(setq YE1 (+ YD (/ (* 2 r e1) (+ 1 e1q))) YE2 (+ YD (/ (* 2 r e2) (+ 1 e2q))))
(setq XF1 (+ XD (/ (* r (- 1 f1q)) (+ 1 f1q))) XF2 (+ XD (/ (* r (- 1 f2q)) (+ 1 f2q))))
(setq YF1 (+ YD (/ (* 2 r f1) (+ 1 f1q))) YF2 (+ YD (/ (* 2 r f2) (+ 1 f2q))))
(setq XG1 (+ XD (/ (* r (- 1 g1q)) (+ 1 g1q))) XG2 (+ XD (/ (* r (- 1 g2q)) (+ 1 g2q))))
(setq YG1 (+ YD (/ (* 2 r g1) (+ 1 g1q))) YG2 (+ YD (/ (* 2 r g2) (+ 1 g2q))))
;---------------------------
(setq PE1 (list XE1 YE1 0.0) PE2 (list XE2 YE2 0.0))
(setq PF1 (list XF1 YF1 0.0) PF2 (list XF2 YF2 0.0))
(setq PG1 (list XG1 YG1 0.0) PG2 (list XG2 YG2 0.0))
;---------------------------
(command "_pline" PE1 PF1 PG1 "_c")
(command "_pline" PE2 PF2 PG2 "_c"))
;---------------------------
;EOF

moccidentale
.

Ganzani
"sellacollesella":
[quote="Giovanni Anzani"]Devo ancora testarlo un po' per vedere se riesco a mandarlo in crisi, ma pare reggere.

Se A, B, C appartengono ad una retta esterna alla circonferenza di centro D e raggio r>0 non dovresti avere problemi. In caso contrario, le cose si fanno un po' più complicate e andrebbero aggiunti dei costrutti if-else.[/quote]

non avrei problemi ad aggiungerne, anzi posso già farlo per inscatolare l'algoritmo nel contesto in cui quanto hai predisposto funziona; già visto che funziona comunque in caso di tangenza (salvo che una delle due soluzioni degenera in un punto triplo di tangenza o in un triangolo di lati nulli) mentre se secante non funziona.

tutto sommato se hai modo e voglia di predisporre anche il caso secante o darmi indicazioni se si riesce a far funzionare la procedura anche nel caso in cui la retta ABC sia secante la circonferenza non mi dispiacerebbe ho casi anche di questo tipo come questo che riporto qua sotto.
[img]


[/img]


"sellacollesella":
[quote="Giovanni Anzani"]Cercavo una soluzione grafica ma anche così per via analitica mi è utilissimo.

Su questo non saprei proprio che dire, sia per studio che per lavoro non ne ho mai fatto uso. Seppur AutoCAD lo utilizzi in modo intensivo, è la parte di lavoro che odio più di tutte, ci ho passato troppe notti in bianco! :-D [/quote]

eh si AutoCAD fa quest'effetto ti metti li disegni e passano le ore, in questo periodo ci faccio le 3 fisso a fare sti disegni, ne ho una settantina da sistemare se riesco entro mercoledì.

Sono indiscreto se ti chiedo che tipo di lavori fai con AutoCAD? magari potrebbe risultarti utile implementare qualche macro AutoLisp per agevolarti nel tuo lavoro, ne ho diverse che ho fatto anche per alcune aziende per velocizzare il loro lavoro o che posso fare per ricambiare il tuo aiuto.


"sellacollesella":
[quote="Giovanni Anzani"]Se gradisci, siccome in qualche modo questo confluirà in una pubblicazione, mi piacerebbe poterti citare come fonte, nel caso fossi interessato, ti scrivo un messaggio privato.

D'accordo. Buona serata! :-)[/quote]

ok ti ho scritto i mei contatti, quando vuoi batti un colpo email whatsapp come preferisci.

moccidentale
.

Ganzani
Buonasera sellacollesella,
ti leggo ora, ancora grazie, ora implemento e faccio dei test.

se posso un paio di domande:

le tre condizioni ● ● ● hanno una corrispondenza geometrica
con le configurazioni disponibili dal punto di vista geometrico?

prima ipotesi di condizioni
la retta n è rispetto alla circonferenza alfa
● esterna
● secante
● tangente

seconda ipotesi di condizioni
● circonferenza esterna o tangente e raggio >0
● circonferenza secante e raggio > 0
● raggio 0

terza ipotesi non so farla se puoi dirmi tu... :-)

a sentimento, ma non so a calcolo avrei pensato che A B o C
interni alla circonferenza creasse differenziazioni, ma già mi
ero sbagliato sull'univocità della soluzione...

ad ogni modo la prima condizione mi pare quella già fatta e che
mi pare funzionare senza indugi per circonferenza esterna e mi
pare anche tangente (caso in cui uno dei due triangoli degenera
in un punto triplo)

la seconda condizione mi viene da pensare per la circonferenza secante,
da quanto hai postato mi pare dia solo una soluzione, corretto?

la terza condizione non da nulla, ma non e' che da una o due soluzioni
coincidenti con il centro della circonferenza che e' di raggio 0?
o e' una mia fantasia... :-)

comunque davvero grazie!
Cordialmente Giovanni Anzani

moccidentale
.

Ganzani
Gentilissimo sellacollesella,
grazie mille per le tue revisioni al testo, mi scuso per averci messo un po' a rispondere, l'algoritmo ancora non è finito, alla luce delle revisioni che hai fatto ho anch'io da revisionare ii codice.
Mi pareva brutto essere scomparso senza dare cenno di vita e ringraziarti eccomi quindi a scrivere. Parallelamente allo sviluppo dell'algoritmo sto riscrivendo il tutto in equation editor per metterlo in word.. aimè un lavoro terribile sperando di non scrivere castronerie. buone cose, come già scritto se vuoi hai i miei contatti.
Cordialmente Giovanni

Ganzani
"sellacollesella":
Ok, se vogliamo renderlo a prova d'uragano dobbiamo discutere tutti i casi che possono capitare. :D

[...]

Quindi, fissata una tolleranza del tipo \(\text{tol}=10^{-6}\), risulta necessario discriminare due casi:


    [*1] \(\text{if}\;|a|>\text{tol}\;\text{and}\;b^2-ac>-\text{tol}\;\text{then}\):
    [...]
    [*2] \(\text{if}\;|a|<\text{tol}\;\text{and}\;|b|>\text{tol}\;\text{then}\):
    [...]

    A valle di tutto ciò, è relativamente semplice distinguere i seguenti tre casi:


      [§1] se \(b^2-ac<0\) allora \(A,B,C\) o sono tutti interni o due sono esterni e uno è interno;

      [§2] se \(b^2-ac=0\) allora \(A\) o \(B\) o \(C\) appartengono alla circonferenza;

      [§3] se \(b^2-ac>0\) allora \(A,B,C\) o sono tutti esterni o due sono interni e uno è esterno.[/list:u:pg78938p][/list:u:pg78938p]


forse in base alle ipotesi iniziali e quindi forse volutamente da parte tua, mi pare che alcuni casi restano esclusi ho provato ad esempio un [§1] e resta escluso sia da [*1][*2]

riporto sotto i dati:
dei tre punti ABC allineati,
della circonferenza di centro D e raggio r
con AB esterni alla circonferenza
C interno alla circonferenza

Dati di partenza Punti e raggio
A X = -37.91660282 Y = 1600.90594205
B X = 711.19524008 Y = 2159.23107407
C X = 2099.31679740 Y = 3193.82044694
D X = 1815.15534932 Y = 4297.43909371
r 1186.90307088

da calcolo dell'algoritmo

a = -5.83545
b = -1.86749
c = -0.872355
s = (b*b - a*c) = -1.60306

se possibile sarebbe bello avere un algoritmo che prenda dentro anche [§1] e [§2] magari distinguendo da [§3] non so se e' troppo complicato

se è dipeso da me che non ho rimarcato che tutto sommato, capito il contesto non era male vedere tutte le casistiche distinguendole e rendendole operative, in tal caso mi scuso.

segue algoritmo ad ora

moccidentale
.

Ganzani
ah ok grazie mi era sfuggita la correlazione tra
b*b-a*c <-> 0 triangoli
lo stavo anche cercando amano... :-)

ora riguardo tutto grazie.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.