![]() | Misura (approssimativamente) l'area della figura a sinistra (indica la precisione della misura che hai effettuato) |
Vi sono varie strategie. Quella raffigurata sotto in A consiste nell'approssimare il contorno con una figura poligonale e nel valutare l'entità dell'errore considerando quanto le parti indebitamente incluse compensano quelle escluse: l'area del poligono è 35 quadretti, ma possiamo stimare meglio la parte centrale (13 invece di 14) e quella inferiore (10 invece di 10.5); l'errore si può stimare in al più un quadretto; quindi l'area sarebbe 33.5±1 quadretti; poichè un quadretto ha area 1/4, l'area è 8.375±0.25 (o, per una stima più sicura, 8.4±0.5). Il metodo illustrato in B è più semplice: l'area è compresa tra 20 e 45 quadretti, cioè tra 5 e 11.25 (non contrasta con la precedente valutazione: questo intervallo di misure include il precedente). Il metodo in C cerca di precisare le valutazioni per difetto ed eccesso fatte in B considerando e mettendo insieme anche frazioni di quadretto (la parte interna verrebbe 26 quadretti, cioè 6.5; anlogamente si può valutare l'area del poligono contenitore). |
![]() |
Ma avrei potuto anche triangolare la figura e ricavare le aree dei triangoli dalle lunghezze dei lati. Facendo i conti con R:
source("http://macosa.dima.unige.it/r.R")
AREAT(1.53,2.18,2.81)+AREAT(2.81,1.56,3.42)+AREAT(3.42,3.89,2.52)
# 8.067729
# Volendo stimare l'errore:
e=0.05; AREAT(1.53+e,2.18+e,2.81+e)+AREAT(2.81+e,1.56+e,3.42+e)+AREAT(3.42+e,3.89+e,2.52+e)
# 8.423158
e=-0.05; AREAT(1.53+e,2.18+e,2.81+e)+AREAT(2.81+e,1.56+e,3.42+e)+AREAT(3.42+e,3.89+e,2.52+e)
# 7.718371
# 8.1 ± 0.4
In alternativa, utilizzando R, potevo stimare le coordinate di un po' di punti e utilizzare le "spline" per approssimare il contorno e, quindi, valutare l'area (vedi):
x=c(0.5,0.75,1,1.5,2.5,3.62,3.9,3.5,3,2,1.5,1,0.7,0.51,0.5,0.5) y=c(0.5,0.65,0.8,1,1.35,2,2.62,3.4,3.8,4.29,4.29,3.9,3,1.5,1,0.75) PLANE(0, 4.3, 0, 4.3); gridh((0:4)+1/2); gridv((0:4)+1/2) Point(x,y,"red") polyl(splineCx(x,y),splineCy(x,y),"blue") areaPol(splineCx(x,y),splineCy(x,y)) # 8.443126 Prendo 8.4 come approssimazione
Senza ricorrere ad R si può ricorrere direttamente da rete allo script areaPol ottenendo (dopo aver aggiunto un paio di punti in corrispondenza delle parti più curve):
che arrontondo a 8.3 (±0.2).
Con lo script disegnare(4): vedi (leggi l'help) si può anche tracciare la figura:
, b"0"&50&a"5", &50&b"5"
,-&10&a &10&b vaaabbwi vaabwi v&5&abbwi v&10&a&4&bwi v&11&a&6&bwi vabwi vaabbbwi vbbwi v&4&c&8&bwi v&5&c&5&bwi v&10&c&4&bwi v&5&cbwi vcwi vcccddwi vcdddwi v&9&dcccwi v&15&dccwi &10&4i
, b"0"&50&a"5", &50&b"5"
, &10&a &10&b vaaabbw vaabw v&5&abbw v&10&a&4&bw v&11&a&6&bw vabw vaabbbw vbbw v&4&c&8&bw v&5&c&5&bw v&10&c&4&bw v&5&cbw vcw vcccddw vcdddw v&9&dcccw v&15&dccw &10&4
Per altri commenti: approssimazioni, calcolo approssimato e area neGli Oggetti Matematici.