Re: Applicazione (forse) del teorema di Menelao

Messaggioda sellacollesella » 28/01/2024, 01:36

La risposta di cui sopra aveva il solo scopo di illustrare i singoli passaggi algebrici che portano alla soluzione desiderata. D'altro canto, non è strettamente necessario riprodurla1, basta copia-incollare i risultati riportati.

In sintesi, se tu sei già in possesso dei dati in ingresso che rispettano tutti i vincoli: \[
(x_A,y_A), \quad \quad (x_B,y_B), \quad \quad (x_C,y_C), \quad \quad (x_D,y_D), \quad \quad r
\] ti basta schiaffare il seguente muro di assegnazioni in un qualsiasi foglio di calcolo: \[
\begin{aligned}
&u_A=(x_A-x_D)/r\\
&v_A=(y_A-y_D)/r\\
\\
&u_B=(x_B-x_D)/r\\
&v_B=(y_B-y_D)/r\\
\\
&u_C=(x_C-x_D)/r\\
&v_C=(y_C-y_D)/r\\
\\
&a=((1+u_B)v_C-(1+u_C)v_B)v_A+(1+u_A)v_Bv_C-(1+u_A)(1+u_B)(1-u_C)\\
&b=(1-u_Bu_C-v_Bv_C)v_A+(1-u_Au_C)v_B-(1-u_Au_B)v_C\\
&c=((1-u_B)v_C-(1-u_C)v_B)v_A+(1-u_A)v_Bv_C-(1-u_A)(1-u_B)(1+u_C)\\
\\
&e_1=(-b+\sqrt{b^2-ac}\,)/a\\
&f_1=(u_A+e_1v_A-1)/((1+u_A)e_1-v_A)\\
&g_1=(u_B+e_1v_B-1)/((1+u_B)e_1-v_B)\\
\\
&x_{E1}=x_D+r(1-e_1^2)/(1+e_1^2)\\
&y_{E1}=y_D+r(2e_1)/(1+e_1^2)\\
\\
&x_{F1}=x_D+r(1-f_1^2)/(1+f_1^2)\\
&y_{F1}=y_D+r(2f_1)/(1+f_1^2)\\
\\
&x_{G1}=x_D+r(1-g_1^2)/(1+g_1^2)\\
&y_{G1}=y_D+r(2g_1)/(1+g_1^2)\\
\\
&e_2=(-b-\sqrt{b^2-ac}\,)/a\\
&f_2=(u_A+e_2v_A-1)/((1+u_A)e_2-v_A)\\
&g_2=(u_B+e_2v_B-1)/((1+u_B)e_2-v_B)\\
\\
&x_{E2}=x_D+r(1-e_2^2)/(1+e_2^2)\\
&y_{E2}=y_D+r(2e_2)/(1+e_2^2)\\
\\
&x_{F2}=x_D+r(1-f_2^2)/(1+f_2^2)\\
&y_{F2}=y_D+r(2f_2)/(1+f_2^2)\\
\\
&x_{G2}=x_D+r(1-g_2^2)/(1+g_2^2)\\
&y_{G2}=y_D+r(2g_2)/(1+g_2^2)\\
\end{aligned}
\] per ottenere le coordinate esatte sia di \(\color{red}{E_1F_1G_1}\) che di \(\color{blue}{E_2F_2G_2}\). Circa l'immagine allegata, l'ho ottenuta proprio nel modo qui illustrato in Wolfram Mathematica, ma Microsoft Excel andava ugualmente bene. :-)

Note

  1. Seppur sia l'unica maniera che ti permette di dominare i calcoli e non il contrario.
sellacollesella
Average Member
Average Member
 
Messaggio: 725 di 959
Iscritto il: 08/04/2022, 12:43

Re: Applicazione (forse) del teorema di Menelao

Messaggioda Giovanni Anzani » 28/01/2024, 18:21

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
Giovanni Anzani
Starting Member
Starting Member
 
Messaggio: 5 di 12
Iscritto il: 26/01/2024, 23:16

Re: Applicazione (forse) del teorema di Menelao

Messaggioda sellacollesella » 28/01/2024, 23:05

Giovanni Anzani ha scritto: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.

Giovanni Anzani ha scritto: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

Giovanni Anzani ha scritto: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! :-)
sellacollesella
Average Member
Average Member
 
Messaggio: 729 di 959
Iscritto il: 08/04/2022, 12:43

Re: Applicazione (forse) del teorema di Menelao

Messaggioda Giovanni Anzani » 29/01/2024, 01:08

sellacollesella ha scritto:
Giovanni Anzani ha scritto: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.


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]

Immagine
[/img]


sellacollesella ha scritto:
Giovanni Anzani ha scritto: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


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 ha scritto:
Giovanni Anzani ha scritto: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! :-)


ok ti ho scritto i mei contatti, quando vuoi batti un colpo email whatsapp come preferisci.
Giovanni Anzani
Starting Member
Starting Member
 
Messaggio: 6 di 12
Iscritto il: 26/01/2024, 23:16

Re: Applicazione (forse) del teorema di Menelao

Messaggioda sellacollesella » 29/01/2024, 20:00

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

Nota la retta su cui giacciono \(A,B,C\) e nota la circonferenza di centro \(D\) e raggio \(r>0\), calcoliamo: \[
\begin{aligned}
&u_A=(x_A-x_D)/r\\
&v_A=(y_A-y_D)/r\\
\\
&u_B=(x_B-x_D)/r\\
&v_B=(y_B-y_D)/r\\
\\
&u_C=(x_C-x_D)/r\\
&v_C=(y_C-y_D)/r\\
\\
&a=((1+u_B)v_C-(1+u_C)v_B)v_A+(1+u_A)v_Bv_C-(1+u_A)(1+u_B)(1-u_C)\\
&b=(1-u_Bu_C-v_Bv_C)v_A+(1-u_Au_C)v_B-(1-u_Au_B)v_C\\
&c=((1-u_B)v_C-(1-u_C)v_B)v_A+(1-u_A)v_Bv_C-(1-u_A)(1-u_B)(1+u_C)\\
\end{aligned}
\] Quindi, fissata una tolleranza del tipo \(\text{tol}=10^{-6}\), risulta necessario discriminare tre casi:

  • \(\text{if}\;b^2-ac<\text{tol}\;\text{then}\): \[
    \begin{aligned}
    &a=(u_B-u_A)^2+(v_B-v_A)^2\\
    &b=(u_B-u_A)u_A+(v_B-v_A)v_A\\
    &c=u_A^2+v_A^2-1\\
    \\
    &t_1=(-b+\sqrt{b^2-ac}\,)/a\\
    &t_2=(-b-\sqrt{b^2-ac}\,)/a\\
    \\
    &x_{E1}=x_D+r(u_A+(u_B-u_A)t_1)\\
    &y_{E1}=y_D+r(v_A+(v_B-v_A)t_1)\\
    \\
    &x_{F1}=x_D+r(u_A+(u_B-u_A)t_2)\\
    &y_{F1}=y_D+r(v_A+(v_B-v_A)t_2)\\
    \\
    &x_{G1}=x_{F1}\\
    &y_{G1}=y_{F1}\\
    \\
    &x_{E2}=x_{E1}\\
    &y_{E2}=y_{E1}\\
    \\
    &x_{F2}=x_{F1}\\
    &y_{F2}=y_{F1}\\
    \\
    &x_{G2}=x_{G1}\\
    &y_{G2}=y_{G1}\\
    \end{aligned}
    \]
  • \(\text{else if}\;|a|>\text{tol}\;\text{then}\): \[
    \begin{aligned}
    &e_1=(-b+\sqrt{b^2-ac}\,)/a\\
    &f_1=(u_A+e_1v_A-1)/((1+u_A)e_1-v_A)\\
    &g_1=(u_B+e_1v_B-1)/((1+u_B)e_1-v_B)\\
    \\
    &x_{E1}=x_D+r(1-e_1^2)/(1+e_1^2)\\
    &y_{E1}=y_D+r(2e_1)/(1+e_1^2)\\
    \\
    &x_{F1}=x_D+r(1-f_1^2)/(1+f_1^2)\\
    &y_{F1}=y_D+r(2f_1)/(1+f_1^2)\\
    \\
    &x_{G1}=x_D+r(1-g_1^2)/(1+g_1^2)\\
    &y_{G1}=y_D+r(2g_1)/(1+g_1^2)\\
    \\
    &e_2=(-b-\sqrt{b^2-ac}\,)/a\\
    &f_2=(u_A+e_2v_A-1)/((1+u_A)e_2-v_A)\\
    &g_2=(u_B+e_2v_B-1)/((1+u_B)e_2-v_B)\\
    \\
    &x_{E2}=x_D+r(1-e_2^2)/(1+e_2^2)\\
    &y_{E2}=y_D+r(2e_2)/(1+e_2^2)\\
    \\
    &x_{F2}=x_D+r(1-f_2^2)/(1+f_2^2)\\
    &y_{F2}=y_D+r(2f_2)/(1+f_2^2)\\
    \\
    &x_{G2}=x_D+r(1-g_2^2)/(1+g_2^2)\\
    &y_{G2}=y_D+r(2g_2)/(1+g_2^2)\\
    \end{aligned}
    \]
  • \(\text{else if}\;|a|<\text{tol}\;\text{then}\): \[
    \begin{aligned}
    &e_1=-c/(2b)\\
    &f_1=(u_A+e_1v_A-1)/((1+u_A)e_1-v_A)\\
    &g_1=(u_B+e_1v_B-1)/((1+u_B)e_1-v_B)\\
    \\
    &x_{E1}=x_D+r(1-e_1^2)/(1+e_1^2)\\
    &y_{E1}=y_D+r(2e_1)/(1+e_1^2)\\
    \\
    &x_{F1}=x_D+r(1-f_1^2)/(1+f_1^2)\\
    &y_{F1}=y_D+r(2f_1)/(1+f_1^2)\\
    \\
    &x_{G1}=x_D+r(1-g_1^2)/(1+g_1^2)\\
    &y_{G1}=y_D+r(2g_1)/(1+g_1^2)\\
    \\
    &f_2=v_A/(1+u_A)\\
    &g_2=v_B/(1+u_B)\\
    \\
    &x_{E2}=x_D-r\\
    &y_{E2}=y_D\\
    \\
    &x_{F2}=x_D+r(1-f_2^2)/(1+f_2^2)\\
    &y_{F2}=y_D+r(2f_2)/(1+f_2^2)\\
    \\
    &x_{G2}=x_D+r(1-g_2^2)/(1+g_2^2)\\
    &y_{G2}=y_D+r(2g_2)/(1+g_2^2)\\
    \end{aligned}
    \]
Dulcis in fundo, non rimane che stampare a video i triangoli \(\color{red}{E_1F_1G_1}\), \(\color{blue}{E_2F_2G_2}\).


A valle di tutto ciò, è relativamente semplice distinguere quest'altri tre casi:

  • se \(b^2-ac<0\) allora \(A,B,C\) o sono tutti interni o due sono esterni e uno è interno; questo si
    verifica nel primo caso in cui i triangoli \(EFG\) sono degeneri e i rispettivi vertici coincidono con i
    punti d'intersezione retta-circonferenza;

  • se \(b^2-ac=0\) allora \(A\) o \(B\) o \(C\) appartengono alla circonferenza; questo si verifica nel primo
    caso in cui i triangoli \(EFG\) sono degeneri e i rispettivi vertici coincidono con i punti d'intersezione
    retta-circonferenza;

  • se \(b^2-ac>0\) allora \(A,B,C\) o sono tutti esterni o due sono interni e uno è esterno; questo si
    verifica nel secondo e nel terzo caso in cui i triangoli \(EFG\) non sono degeneri, eccetto il caso in
    cui la retta è tangente la circonferenza e uno dei due triangoli degenera nel punto di tangenza.

Spero sia sufficientemente chiaro. Buon lavoro, ciao! :-)
Ultima modifica di sellacollesella il 02/02/2024, 20:00, modificato 6 volte in totale.
sellacollesella
Average Member
Average Member
 
Messaggio: 730 di 959
Iscritto il: 08/04/2022, 12:43

Re: Applicazione (forse) del teorema di Menelao

Messaggioda Giovanni Anzani » 29/01/2024, 22:27

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
Giovanni Anzani
Starting Member
Starting Member
 
Messaggio: 7 di 12
Iscritto il: 26/01/2024, 23:16

Re: Applicazione (forse) del teorema di Menelao

Messaggioda sellacollesella » 30/01/2024, 18:28

Dunque, la precedente risposta si basa esclusivamente su considerazioni di carattere algebrico. In particolare, nella fase preliminare si esegue una trasformazione di coordinate, dove essenzialmente si trasla il sistema di riferimento affinché l'origine sia il centro D e si scalano gli assi in modo tale che la circonferenza sia unitaria.

In tal modo i punti della circonferenza si possono parametrizzare in modo naturale come: \[
(u,v)=(\cos\theta,\sin\theta),\quad\quad\theta\in[0,2\pi)
\] ma per via della difficoltà intrinseca di risolvere equazioni goniometriche, la si può parametrizzare come: \[
(u,v)=\left(\frac{1-t^2}{1+t^2},\frac{2t}{1+t^2}\right),\quad\quad t\in\mathbb{R}.
\] D'altro canto, quest'ultima scelta ha un prezzo, dato che vi è una singolarità, ossia un punto che non è ottenibile per alcun \(t\in\mathbb{R}\) e questo punto è \((-1,0)\). Proprio per via di questo fatto, occorre tenerne conto
a posteri e diciamo che era proprio il tassello che ci mancava nel "secondo caso" che tanto strideva! :evil:

Pertanto, ora l'algoritmo è stato corretto e inoltre ho aggiunto le rispettive configurazioni geometriche.
sellacollesella
Average Member
Average Member
 
Messaggio: 731 di 959
Iscritto il: 08/04/2022, 12:43

Re: Applicazione (forse) del teorema di Menelao

Messaggioda Giovanni Anzani » 01/02/2024, 23:07

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
Giovanni Anzani
Starting Member
Starting Member
 
Messaggio: 8 di 12
Iscritto il: 26/01/2024, 23:16

Re: Applicazione (forse) del teorema di Menelao

Messaggioda Giovanni Anzani » 02/02/2024, 16:20

sellacollesella ha scritto: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.


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
Giovanni Anzani
Starting Member
Starting Member
 
Messaggio: 9 di 12
Iscritto il: 26/01/2024, 23:16

Re: Applicazione (forse) del teorema di Menelao

Messaggioda sellacollesella » 02/02/2024, 20:03

Il caso \(b^2-ac<0\) l'avevo ignorato perché non porta a dei triangoli. In ogni modo, ora sopra trovi integrata anche questa evenienza. Mi raccomando, ricontrolla pure tutto il resto, perché ho dovuto ritoccare qualcosa.
sellacollesella
Average Member
Average Member
 
Messaggio: 736 di 959
Iscritto il: 08/04/2022, 12:43

PrecedenteProssimo

Torna a Geometria e algebra lineare

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite