Panoramica generale del software
1. Panoramica generale
Il software (Freeware) realizzato da Antonio Surdo è un’applicazione desktop per la progettazione e visualizzazione di meridiane verticali (muro declinante).
Scritto in Python con interfaccia Tkinter, utilizza matplotlib per i disegni e librerie scientifiche (numpy, skyfield opzionale).
Supporta calcoli astronomici, disegno in scala, simulazioni, esportazione di report e file per la produzione.
2. Interfaccia principale e gestione progetti
Finestra principale ridimensionabile, con barra dei menu e due pagine principali:
InputPage: inserimento parametri e calcoli.DrawingPage: visualizzazione dei disegni e strumenti di esportazione.
Gestione progetti (salvataggio/caricamento su file JSON):
Nuovo progetto, apri progetto, salva, salva con nome.
Memorizza tutti i parametri e le opzioni selezionate.
Menu Info:
Informazioni sull’autore, licenza/disclaimer completo, elenco librerie utilizzate con versioni.
Calcolatore autonomo della posizione del sole.
Link per donazione PayPal.
3. Pagina di input – Inserimento parametri
3.1 Parametri geometrici e astronomici
| Parametro | Descrizione | Intervallo/Note |
|---|---|---|
| Latitudine | Gradi decimali (N +, S -) | Default: Roma (41.9028) |
| Longitudine | Gradi decimali (E +, W -) | Default: 12.4964 |
| Declinazione muro | Angolo del muro rispetto al Sud geografico (+ verso Ovest, - verso Est) | Max ±89° |
| Stile fuori muro (L) | Lunghezza dello gnomone sporgente dal muro (cm) | Default 15 cm |
| Infissione (P) | Lunghezza dello gnomone dentro il muro (cm) | Default 5 cm |
Tooltip informativi su ogni campo.
Pulsante “Assistente declinazione muro” → apre una finestra con 5 metodi per misurare la declinazione (vedi sezione 8).
3.2 Correzione oraria (linee orarie)
Due modalità esclusive:
Calcolo automatico (basato su longitudine, fuso orario e ora legale):
Inserimento fuso UTC (combobox da -12 a +12).
Checkbox “Ora legale attiva” (DST).
L’offset in minuti viene calcolato come:
offset = (longitudine/15 - fuso) * 60 - (60 se DST attiva)Mostra l’offset calcolato in tempo reale.
Correzione manuale (minuti da aggiungere/sottrarre all’ora civile).
Il campo manuale è disabilitato se l’auto‑calcolo è attivo.
Checkbox “Applica correzione oraria” : se selezionata, le linee orarie vengono traslate dell’offset calcolato.
3.3 Opzioni di visualizzazione della meridiana
| Opzione | Effetto |
|---|---|
| Includi linee mezza ora | Disegna anche le linee per le ore .5 (es. 8:30) |
| Usa numeri romani | Etichette ore in numeri romani (I‑XII) |
| Mostra linee dei solstizi | Traccia le curve per solstizio d’estate, d’inverno ed equinozio |
| Mostra ore italiche | Linee curve per le ore contate dal tramonto (12‑23) |
| Mostra ore francesi | Linee curve per le ore contate dall’alba (1‑18) |
3.4 Pulsanti di azione
CALCOLA RISULTATI → esegue i calcoli gnomonici, abilita il pulsante “VAI AL DISEGNO”.
VAI AL DISEGNO → passa alla pagina di visualizzazione grafica.
Salva progetto / Carica progetto → gestione file JSON.
❤️ Dona all’autore → apre la pagina PayPal.
3.5 Pannello dei risultati (in tempo reale)
| Risultato | Descrizione |
|---|---|
| Inclinazione gnomone (β) | Angolo dello stile rispetto al piano del muro |
| Declinazione gnomone (α) | Angolo del sub‑stile rispetto alla verticale |
| Orientamento effettivo del muro | Es. “150° S‑E” |
| Lunghezza totale ferro | L + P |
| Profondità foro (perp. al muro) | P * sin(β) |
| Spostamento vert. punto foro | verso l’alto o il basso in base all’orientamento |
| Larghezza quadrante (ore 8‑16) | Larghezza stimata del quadrante per le ore 8‑16 (cm) |
| Altezza quadrante (ore 8‑16) | Altezza stimata (cm) |
| Ortostilo | Distanza punta‑muro = L * sin(β) |
4. Pagina di disegno – Visualizzazioni e strumenti
4.1 Tre pannelli grafici (matplotlib)
Meridiana – Vista del muro
Quadrante con linee orarie curve (attraversano tutti i giorni dell’anno).
Griglia leggera, assi verticale/orizzontale, sub‑stile con angolo α.
Linee dei solstizi (estate/inverno/equinozio) con legenda.
Etichette ore con tratti perpendicolari all’estremità.
Barra scala in centimetri, rosa dei venti, indicazione dell’orientamento del muro.
Punto di inserzione dello stilo evidenziato.
Sezione laterale – Montaggio
Rappresentazione in sezione del muro, dello stilo (assostilo), del sub‑stilo e dell’infissione.
Quote: sub‑stilo, ortostilo, profondità perpendicolare, spostamento verticale.
Indicazione “fuori muro” / “dentro”.
Vista frontale – Gnomone
Proiezione ortogonale dello stilo sul piano del muro.
Mostra l’angolo α (declinazione gnomone), la punta, il foro di infissione.
Box riassuntivo con β, L, sub‑stilo, ortostilo.
4.2 Barra degli strumenti (due righe)
Prima riga
Torna ai parametri
Salva Meridiana (singolo pannello)
Salva Montaggio
Salva Frontale
Salva tutti (i tre pannelli insieme)
Esporta DXF (linee orarie per CAD)
Seconda riga
Report PDF (documento tecnico completo)
Simula ombra (finestra interattiva)
Esporta CSV CNC (coordinate dei punti estremi delle linee orarie)
Dati Simulatore Analemma (esporta tabella per tracciamento laser)
Grafico analemma (mostra curva dell’equazione del tempo)
Zoom + / Zoom - / Reset Zoom (solo per il pannello meridiana)
Salva PDF Meridiana (1:1) – esporta in scala reale (1 cm = 1 cm) l’area corrente o l’intero quadrante.
4.3 Pulsanti interattivi sui disegni
Sotto ogni pannello è presente un pulsante “Ingrandisci …” che apre una finestra separata con il disegno ingrandito, dotata di barra degli strumenti di matplotlib (zoom, pan, home) e pulsanti aggiuntivi di zoom personalizzati.
5. Calcoli gnomonici e astronomici
5.1 Modulo utils/calculations.py
calcola_gnomone(lat, dec_muro) → restituisce β, α, azimuth del muro.
get_shadow_3d(H, δ, φ, dm) → coordinate (x, y) dell’ombra sulla meridiana (in unità Lout).
sun_position() :
Tenta di usare
skyfield(effemeridi DE421) per alta precisione.Fallback con algoritmo basato su formule astronomiche classiche (senza skyfield).
solar_declination(day_of_year) e equation_of_time_noaa(day) → algoritmi NOAA.
sunrise_time, sunset_time, solar_time_from_italian_hour, solar_time_from_french_hour → supporto per ore storiche.
export_dxf → genera file DXF (formato AutoCAD) con linee orarie e assi.
5.2 Curve delle linee orarie
A differenza di una meridiana tradizionale a linee rette, questo software traccia linee orarie curve calcolando l’ombra per una gamma di declinazioni solari (da -23.44° a +23.44°) e unendo i punti. Ciò permette di rappresentare correttamente il percorso dell’ombra durante l’anno e di includere le ore italiche/francesi.
6. Strumenti aggiuntivi (finestre indipendenti)
6.1 Calcolatore posizione del sole
Ingressi: latitudine, longitudine, data, ora locale, fuso orario.
Risultati:
Azimut e altezza del sole.
Declinazione solare.
Equazione del tempo.
Ora solare vera.
Angolo orario.
6.2 Simulatore interattivo dell’ombra
Slider per giorno dell’anno (1‑365) e ora (0‑24).
Visualizzazione della posizione dell’ombra sul quadrante (in tempo reale).
Mostra dati istantanei: azimut, altezza, declinazione, coordinate ombra.
Sfondo con le linee orarie di riferimento (equinozio).
6.3 Assistente declinazione muro (5 metodi)
Finestra con notebook a schede:
Tavoletta orizzontale (multipla)
Inserire data, ora, angolo ombra α (dalla verticale).
Aggiunge misurazioni in tabella e calcola la declinazione media del muro.
Filo verticale (manuale)
Inserire azimut e altezza del sole (ottenibili dal calcolatore) e l’angolo α misurato.
Calcola δ = Az – arcsin(tan(α)·tan(alt)) – 180°.
Due misurazioni (verticale)
Due coppie (ora, angolo α) nella stessa giornata.
Il programma calcola automaticamente la posizione del sole per ogni misura e restituisce la declinazione media.
Guida pratica
Testo descrittivo dei metodi.
Smartphone (bussola)
Inserire azimut magnetico letto dallo smartphone, lat/lon, anno e declinazione magnetica (manuale o stimata).
Calcola δ = azimut_geografico – 180° (dopo aver applicato la declinazione magnetica).
Ogni metodo permette di importare il valore calcolato direttamente nel campo “Declinazione muro” della pagina principale.
7. Esportazioni e report
| Tipo | Formato | Contenuto |
|---|---|---|
| Disegni singoli | PNG, PDF, SVG | Pannello selezionato (meridiana, montaggio, frontale) |
| Tutti i disegni | PNG, PDF, SVG | I tre pannelli insieme |
| Report tecnico | Copertina con parametri e risultati + i tre disegni a pagina intera | |
| DXF | .dxf | Linee orarie per CAD (base sul solstizio d’inverno) |
| CSV CNC | .csv | Coordinate (X, Y in cm) dei punti estremi delle linee orarie (ore intere e mezze) |
| Dati analemma | .txt / .csv | Tabella con declinazione e scostamento orario per ogni giorno (per tracciatura laser) |
Salva PDF Meridiana in scala 1:1
Calcola le dimensioni in cm del quadrante (in base allo zoom o all’intero quadrante) e genera un PDF con le stesse dimensioni reali, utile per stampare in scala e trasferire sul muro.
8. Aspetti tecnici e dipendenze
Python con librerie standard +
numpy,matplotlib,skyfield(opzionale).Tkinter per GUI, ttk per widget moderni.
Gestione percorsi per
PyInstaller(risorse incorporate).Tema scuro professionale (colori definiti in
config.py).Tooltip personalizzati (
utils/tooltip.py).Rilevazione automatica della presenza di
skyfielde fallback graceful.Compatibile con Windows, Linux, macOS.
9. Limitazioni e note di responsabilità
L’utente è l’unico responsabile della verifica dei risultati prima della realizzazione fisica.
Il software è fornito “così com’è”, senza garanzie di precisione assoluta.
Per calcoli astronomici ad alta precisione si consiglia di installare
skyfield(il programma scarica automaticamente il filede421.bsp).La declinazione del muro deve essere compresa tra -89° e +89° (valori pari a ±90° renderebbero il muro parallelo all’asse terrestre).
Commenti
Posta un commento