La tabella delle coordinate deve essere tale che la poligonale sia chiusa, ciò significa che occorrerà informare l'utilizzatore che nella composizione della tabella faccia coincidere l'ultimo vertice col vertice iniziale. Lo faremo mettendo una nota da qualche parte sul foglio o una nota in una cella (4p docet)
Adesso ci si presentano i primi problemi.
Come calcolare l'area della sezione a partire dalle coordinate dei vertici della poligonale?
Stessa domanda vale per le coordinate del baricentro.
Sappiamo che esistono delle formule che ci danno tutte le caratteristiche geometriche di una sezione definita dalle cordinate dei suoi vertici che coinvolgono delle sommatorie.
Per esempio l'area della sezione è definita da:
A = somma [(x.i - x.(i-1))*(y.i + y.(i-1))/2
in cui la somma è estesa da 2 ad NV
Allora possiamo pensare di aggiungere alla tabella delle coordinate altre tre colonne in cui, a partire dalla seconda riga, riportiamo:
nella prima colonna aggiuntiva: la differenza della x con la x precedente,
nella seconda colonna aggiuntiva: la somma dellla y e la y precedente,
nella terza colonna aggiuntiva: il semiprodotto dei due valori delle due colonne precedenti
infine in coda all'ultima delle colonne aggiuntive eseguiamo la somma di tutti i termini della terza colonna aggiuntiva. Questo dovrebbe essere l'area del plinto. MA a questo punto, dato che avevamo gia dedicato una cella destinata a contenere l'area del poligono, potremmo mettere proprio lì questa somma.
Proverò ad aggiungere tutto ciò nel progetto del foglio anche se vi anticipo che, in vista delle operazioni necessarie per la determinazione delle coordinate del baricentro, è opportuno ricorrere a qualche codice che eviti di imbrattare il foglio con numeri che alla fine non interessa nemmeno presentare.
Ecco un primo passo:
Uploaded with
ImageShack.usCome potete vedere ho aggiunto le colonne che avevo descritto ed ho inserito una "geometria di lavoro" per poter controllare i risultati delle formule che via via inserisco.
qui annoto quanto segue:
- siamo solo agli inizi col semplice calcolo dell'area ed abbiamo gia una tabella con dati che tutto sommato sono praticamente inutili da presentare. A noi poco importano i calcoli intermedi ma importa solo l'area. Qui sarebbe pertanto utilissima una funzione che prenda in pasto quella tabella e che ci dia solo l'area (per adesso). Ma andiamo avanti. Aggiungo solamente che quando non conoscevo a fondo le potenzialita di excel o quando questo non era potente come adesso (e mi riferisco ai tempi in cui excel era dotato solo di un rudimentale linguaggio macro) non mi fermavo di certo di fronte alla mole di numeri che avrebbero accompagnato le mie relazioni. Poi risolvevo il problema facendo fare i conti in fogli diversi che poi non stampavo.
- abbiamo fornito una tabella di input, le coordinate certamente le abbiamo ricavate da uno schema grafico che magari abbiamo davanti, siamo anche certi di non aver commesso errori, tuttavia quella serie di numeri snocciolati in tabella sono aridi e nulla dicono della forma effettiva della poligonale. Sarebbe utile poter visualizzare la forma. Questo con scopi multipli tra cui il controllo in diretta di errori di digitazioni e la presentazione di un eleborato elegante. Farò questo inserendo un diagramma a dispersioni di punti.
- purtroppo l'area calcolata è errata. Questo è dovuto alla presenza di termini nelle colonne aggiuntive e nel primo rigo oltre l'ultima coppia di coordinate; basterebbe pertanto cancellare proprio questi elementi indesiderati per ottenere il risultato corretto. Ma questo cancellerebbe anche le formule ivi inserite e in un successivo uso dovremmo ricordarci di ripristinare le formule. Penso che questo sia poco accettabile e dovremo trovare una soluzione per superare questo problema.
Una soluzione sarebbe quella di imporre all'utilizzatore di posizionare il primo vertice della poligonale nell'origine del sistema di riferimento (il risultato sarebbe corretto, provare per credere). Questa soluzione non è poi tanto cattiva. In alternativa dovremo trovare una formula che dia risultato nullo se le coordinate o il numero sequenziale del vertice non sono dati.