Discussione:
Tipo di triangolo in base agli angoli - dati i lati
(troppo vecchio per rispondere)
r
2010-12-17 15:07:57 UTC
Permalink
Il problema è trovare una unica funzione che dati i lati diciamo in
B2:B4 restituisca il tipo di triangolo in base ai suoi angoli ...
rettangolo, acutangolo, ottusangolo

ho anche un secondo quesito
dati 2 lati e l'angolo compreso si vuole ricavare gli altri angoli
utilizzando il teorema dei seni ...

in fondo a questa pagina trovate il file su cui ho giocato io (non ci
sono le soluzioni a questi 2 problemi):
http://sites.google.com/site/e90e50/user/grafici-a-dispersione-excel

si trattava inizialmente di creare il grafico dati i lati ... poi l'ho
voluto abbellire ... così alla fine c'è un po' di tutto ...
nella parte relativa al secondo quesito ... usando il teorema dei
seni ... c'è un errore, vediamo se avete suggerimenti per risolverlo
(io sono diventato matto per una mezzora buona! solo a capire
qual'era ... :-)

saluti
r
Ignazio
2010-12-21 10:31:50 UTC
Permalink
Post by r
Il problema è trovare una unica funzione che dati i lati diciamo in
B2:B4 restituisca il tipo di triangolo in base ai suoi angoli ...
rettangolo, acutangolo, ottusangolo
Io avrei pensato di usare il Teorema di Pitagora ... facendo questo
ragionamento, che penso fili.
In B2:B4 ho 3 lati che in generale sono diversi tra loro (2 o 3 lati uguali
sono casi particolari che non pregiudicano il discorso).
Se il triangolo fosse rettangolo, il maggiore sarebbe l'ipotenusa, gli altri
2 i cateti.
Ma il triangolo "rettangolo" fa anche da spartiacque tra "acutangolo" (il
lato maggiore è inferiore all'ipotetica ipotenusa) e "ottusangolo" (il lato
maggiore è superiore all'ipotetica ipotenusa)

Se il ragionamento non fa acqua, una possibile formula potrebbe essere:
=SE(PICCOLO(B2:B4;3)^2=PICCOLO(B2:B4;1)^2+PICCOLO(B2:B4;2)^2;"Rettangolo";SE(PICCOLO(B2:B4;3)^2<PICCOLO(B2:B4;1)^2+PICCOLO(B2:B4;2)^2;"Acutangolo";"Ottusangolo"))

Una versione matriciale (più compatta) potrebbe essere:
=SE(SOMMA(B2:B4^2)/MAX(B2:B4^2)=2;"Rettangolo";SE(SOMMA(B2:B4^2)/MAX(B2:B4^2)>2;"Acutangolo";"Ottusangolo"))
(da confermare con Ctrl+Maiusc+Invio)
--
Ciao,
Ignazio
http://www.riolab.org
r
2010-12-22 00:39:43 UTC
Permalink
Post by Ignazio
Post by r
Il problema è trovare una unica funzione che dati i lati diciamo in
B2:B4 restituisca il tipo di triangolo in base ai suoi angoli ...
rettangolo, acutangolo, ottusangolo
Io avrei pensato di usare il Teorema di Pitagora ... facendo questo
ragionamento, che penso fili.
In B2:B4 ho 3 lati che in generale sono diversi tra loro (2 o 3 lati uguali
sono casi particolari che non pregiudicano il discorso).
Se il triangolo fosse rettangolo, il maggiore sarebbe l'ipotenusa, gli altri
2 i cateti.
Ma il triangolo "rettangolo" fa anche da spartiacque tra "acutangolo" (il
lato maggiore è inferiore all'ipotetica ipotenusa) e "ottusangolo" (il lato
maggiore è superiore all'ipotetica ipotenusa)
=SE(PICCOLO(B2:B4;3)^2=PICCOLO(B2:B4;1)^2+PICCOLO(B2:B4;2)^2;"Rettangolo";S­E(PICCOLO(B2:B4;3)^2<PICCOLO(B2:B4;1)^2+PICCOLO(B2:B4;2)^2;"Acutangolo";"Ot­tusangolo"))
=SE(SOMMA(B2:B4^2)/MAX(B2:B4^2)=2;"Rettangolo";SE(SOMMA(B2:B4^2)/MAX(B2:B4^­2)>2;"Acutangolo";"Ottusangolo"))
(da confermare con Ctrl+Maiusc+Invio)
--
Ciao,
Ignaziohttp://www.riolab.org
o caccchio! non avevo visto la tua risposta!
sembra funzionare egregiamente .... ci vorrebbe bruno per essere certi
sulla matematicità del ragionamento ... comunque ... questo è un gol
da centrocampo ... io nella mia sono andato sotto rete per essere
sicuro :-)

sul quesito 2 hai idee?

saluti
r
Ignazio
2010-12-22 10:19:02 UTC
Permalink
Post by r
sul quesito 2 hai idee?
Non ci ho ancora pensato su, ma sicuramente lo faccio nei prossimi giorni.
Intanto ho visto il file sul grafico dei triangoli ... complimenti!
--
Ciao,
Ignazio
http://www.riolab.org
r
2010-12-22 13:15:51 UTC
Permalink
Post by Ignazio
Post by r
sul quesito 2 hai idee?
Non ci ho ancora pensato su, ma sicuramente lo faccio nei prossimi giorni.
ok
aspetto fiducioso ...
Post by Ignazio
Intanto ho visto il file sul grafico dei triangoli ... complimenti!
oh grazie!
r

http://sites.google.com/site/e90e50/user/grafici-a-dispersione-excel#TOC-Sfere-in-movimento
Ignazio
2011-01-04 16:26:34 UTC
Permalink
Post by r
ho anche un secondo quesito
dati 2 lati e l'angolo compreso si vuole ricavare gli altri angoli
utilizzando il teorema dei seni ...
Io ho pensato questo ... anche se non so se è la risposta.
Posto che:
- i lati sono: a, b, c
- gli angoli sono; A, B, C
con angolo "A" opposto al lato "a", etc ...

Noti:
a, b, C
vogliamo calcolare:
A, B

Dal teorema dei seni sappiamo che:
a / senA = b / senB
e quindi:
a / b = senA / senB

Inoltre sappiamo che:
A + B + C = 180
quindi:
A = 180 - (B + C)
quindi:
sen A = sen [180 - (B + C)] = sen (B + C)

Sostituendola nel teorema dei seni, abbiamo:
a / b = sen (B + C) / senB
quindi:
a / b = (senB cosC + senC cosB) / senB
quindi:
a / b = cosC + (senC / tgB)
quindi:
senC / tgB = a / b - cosC
quindi:
tgB = senC / (a / b - cosC)
e quindi:
B = arctg [senC / (a / b - cosC)]

Analogamente:
A = arctg [senC / (b / a - cosC)]

Nel tuo file, ho provato le formule:
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))))
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))))
e pare funzionare.
--
Ciao,
Ignazio
http://www.riolab.org
r
2011-01-04 23:38:37 UTC
Permalink
Post by Ignazio
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))))
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))))
e pare funzionare.
prova con
AB 12
AC 30
BC 35

ti restituisce un dato corretto?
ciao
r
Ignazio
2011-01-05 16:05:27 UTC
Permalink
Post by r
Post by Ignazio
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))))
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))))
e pare funzionare.
prova con
AB 12
AC 30
BC 35
ti restituisce un dato corretto?
ciao
r
Infatti, no ... il risultato è sbagliato.
Viene fuori un'angolo negativo:
B=-75,44
Mentre a te (usando la formula del teorema dei seni) viene fuori lo stesso
valore, ma positivo
B=75,44
Evidentemente sono sbagliati entrambi.
Il valore corretto è:
180-75,44=104,56
Post by r
nella parte relativa al secondo quesito ... usando il teorema dei
seni ... c'è un errore, vediamo se avete suggerimenti per risolverlo
(io sono diventato matto per una mezzora buona! solo a capire
qual'era ... :-)
L'errore è dovuto al fatto che il seno (come anche il coseno o la tangente)
hanno 2 angoli come soluzione.
Per il seno:
senB = sen(180-B)
(con senB>0, come stabilire quindi se la soluzione reale è nel quadrante 1
del cerchio trigonometrico (B<90) o nel quadrante 2 (B>90)? Si può da 2 lati
e l'angolo compreso capire quale soluzione dobbiamo scartare?)

Per la tangente:
tgB = tg(B+180)

Io risolverei usando la tangente, dato che si potrebbero avere 2 casi:
1) tgB>0
le soluzioni sono nei quadranti 1 o 3 del cerchio trigonometrico, quindi la
soluzione è B (quadrante 1, che poi è il caso di B<90)
2) tgB<0
le soluzioni sono nei quadranti 2 o 4 del cerchio trigonometrico, quindi la
soluzione è B+180 (quadrante 2, che poi è il caso di B>90)

Le formule diventano:
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))))+180*(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))<0)
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))))+180*(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))<0)

Le ho provate e pare funzionano.
Mi sorge solo un dubbio.
E se B=90?
Va beh, mi tocca fare altre prove ;) ... magari si può risolvere solo non
usando la tangente ... e quindi bisognerebbe capire come correggere la
formula che c'è nel tuo file (teorema dei seni).
--
Ciao,
Ignazio
http://www.riolab.org
Ignazio
2011-01-05 16:22:45 UTC
Permalink
"Ignazio" <***@SeScriviAvirgilio.it> ha scritto nel messaggio news:4d2496d0$0$1366$***@reader2.news.tin.it...
[...]
Post by Ignazio
1) tgB>0
le soluzioni sono nei quadranti 1 o 3 del cerchio trigonometrico, quindi
la soluzione è B (quadrante 1, che poi è il caso di B<90)
2) tgB<0
le soluzioni sono nei quadranti 2 o 4 del cerchio trigonometrico, quindi
la soluzione è B+180 (quadrante 2, che poi è il caso di B>90)
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))))+180*(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))<0)
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))))+180*(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))<0)
Le ho provate e pare funzionano.
Mi sorge solo un dubbio.
E se B=90?
Va beh, mi tocca fare altre prove ;) ... magari si può risolvere solo non
usando la tangente ... e quindi bisognerebbe capire come correggere la
formula che c'è nel tuo file (teorema dei seni).
Ho provato con:
AB 3
AC 4
BC 5

La prima formula dà come risultato:
BAC = 90
Quindi funziona (la tangente tende ad infinito e l'angolo tende a 90)
Infatti la tangente risulta:
-7E+15
ossia tende a -infinito.
--
Ciao,
Ignazio
http://www.riolab.org
Ignazio
2011-01-05 16:35:42 UTC
Permalink
Post by Ignazio
[...]
Post by Ignazio
1) tgB>0
le soluzioni sono nei quadranti 1 o 3 del cerchio trigonometrico, quindi
la soluzione è B (quadrante 1, che poi è il caso di B<90)
2) tgB<0
le soluzioni sono nei quadranti 2 o 4 del cerchio trigonometrico, quindi
la soluzione è B+180 (quadrante 2, che poi è il caso di B>90)
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))))+180*(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))<0)
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))))+180*(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))<0)
Le ho provate e pare funzionano.
Mi sorge solo un dubbio.
E se B=90?
Va beh, mi tocca fare altre prove ;) ... magari si può risolvere solo non
usando la tangente ... e quindi bisognerebbe capire come correggere la
formula che c'è nel tuo file (teorema dei seni).
AB 3
AC 4
BC 5
BAC = 90
Quindi funziona (la tangente tende ad infinito e l'angolo tende a 90)
-7E+15
ossia tende a -infinito.
Altra prova:
AB 4
AC 3
BC 5

In questo caso la prima formula restituisce l'errore #DIV/0!
Dato che la tangente tende ad infinito, poteva accadere ...
Mi sa che bisogna cercare di sistemare la formula che propone Roberto nel
file e che usa il seno.
--
Ciao,
Ignazio
http://www.riolab.org
Ignazio
2011-01-07 08:56:15 UTC
Permalink
Post by Ignazio
Post by Ignazio
[...]
Post by Ignazio
1) tgB>0
le soluzioni sono nei quadranti 1 o 3 del cerchio trigonometrico, quindi
la soluzione è B (quadrante 1, che poi è il caso di B<90)
2) tgB<0
le soluzioni sono nei quadranti 2 o 4 del cerchio trigonometrico, quindi
la soluzione è B+180 (quadrante 2, che poi è il caso di B>90)
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))))+180*(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))<0)
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))))+180*(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))<0)
Le ho provate e pare funzionano.
Mi sorge solo un dubbio.
E se B=90?
Va beh, mi tocca fare altre prove ;) ... magari si può risolvere solo
non usando la tangente ... e quindi bisognerebbe capire come correggere
la formula che c'è nel tuo file (teorema dei seni).
AB 3
AC 4
BC 5
BAC = 90
Quindi funziona (la tangente tende ad infinito e l'angolo tende a 90)
-7E+15
ossia tende a -infinito.
AB 4
AC 3
BC 5
In questo caso la prima formula restituisce l'errore #DIV/0!
Dato che la tangente tende ad infinito, poteva accadere ...
Mi sa che bisogna cercare di sistemare la formula che propone Roberto nel
file e che usa il seno.
La prima cosa che mi viene in mente è di intercettare questa possibilità
verificando che il denominatore per il calcolo del Arcotangemte non sia
zero.
Le formule diventano:

=SE(B19/B20-COS(RADIANTI(B21))=0;90;GRADI(ARCTAN(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))))+180*(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))<0))
=SE(B20/B19-COS(RADIANTI(B21))=0;90;GRADI(ARCTAN(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))))+180*(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))<0))

Ora dovrebbero essere contemplati tutti i casi e le formule restituiscono i
2 angoli usando solo 2 lati e l'angolo compreso.
--
Ciao,
Ignazio
http://www.riolab.org
r
2011-01-07 10:58:35 UTC
Permalink
Post by Ignazio
Post by Ignazio
[...]
Post by Ignazio
1) tgB>0
le soluzioni sono nei quadranti 1 o 3 del cerchio trigonometrico, quindi
la soluzione B (quadrante 1, che poi il caso di B<90)
2) tgB<0
le soluzioni sono nei quadranti 2 o 4 del cerchio trigonometrico, quindi
la soluzione B+180 (quadrante 2, che poi il caso di B>90)
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))))+180*(SEN(RA­DIANTI(B21))/(B19/B20-COS(RADIANTI(B21)))<0)
=GRADI(ARCTAN(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))))+180*(SEN(RA­DIANTI(B21))/(B20/B19-COS(RADIANTI(B21)))<0)
Le ho provate e pare funzionano.
Mi sorge solo un dubbio.
E se B=90?
Va beh, mi tocca fare altre prove ;) ... magari si pu risolvere solo
non usando la tangente ... e quindi bisognerebbe capire come correggere
la formula che c' nel tuo file (teorema dei seni).
AB 3
AC 4
BC 5
BAC = 90
Quindi funziona (la tangente tende ad infinito e l'angolo tende a 90)
-7E+15
ossia tende a -infinito.
AB 4
AC 3
BC 5
In questo caso la prima formula restituisce l'errore #DIV/0!
Dato che la tangente tende ad infinito, poteva accadere ...
Mi sa che bisogna cercare di sistemare la formula che propone Roberto nel
file e che usa il seno.
La prima cosa che mi viene in mente di intercettare questa possibilit
verificando che il denominatore per il calcolo del Arcotangemte non sia
zero.
=SE(B19/B20-COS(RADIANTI(B21))=0;90;GRADI(ARCTAN(SEN(RADIANTI(B21))/(B19/B2­0-COS(RADIANTI(B21)))))+180*(SEN(RADIANTI(B21))/(B19/B20-COS(RADIANTI(B21))­)<0))
=SE(B20/B19-COS(RADIANTI(B21))=0;90;GRADI(ARCTAN(SEN(RADIANTI(B21))/(B20/B1­9-COS(RADIANTI(B21)))))+180*(SEN(RADIANTI(B21))/(B20/B19-COS(RADIANTI(B21))­)<0))
ok Ignazio, appena riesco la guardo meglio però così ad occhio e
leggendo gli altri post mi sembra che ci siamo.

grazie
ti faccio sapere
r

Loading...