Calcolo Pothenot (Intersezione inversa) Si propone la soluzione del calcolo del problema di Snelluis – Pothenot. Questa proposta utilizza un insieme di formule adatto alla elaborazione con software. Sub Pothenot(ByRef X1 ByRef ByRef ByRef ByRef As Double, ByRef Y1 As Double, ByRef Z1 As Double, _ X2 As Double, ByRef Y2 As Double, ByRef Z2 As Double, _ X3 As Double, ByRef Y3 As Double, ByRef Z3 As Double, _ X5 As Double, ByRef Y5 As Double, ByRef Z5 As Double, _ Alfa As Double, ByRef Beta As Double, ByRef A0 As Integer) Dim TA As Double, TempT As Double, AZ As Double Dim TempL As Double, TempH As Double 'determina le coordinate della stazione caso per caso A0 = 1 TA = Math.Tan(Alfa * CR) If Math.Abs(TA) < 0.0000001 Then A0 = 8 : Exit Sub TempL = (X2 - X1) * (1 / TA) + (X1 - X3) * (1 / Math.Tan(Alfa * CR + Beta * CR)) + Y3 - Y2 TempH = (Y2 - Y1) * (1 / Math.Tan(Alfa * CR)) + (Y1 - Y3) * (1 / Math.Tan(Alfa * CR + Beta * CR)) + X2 - X3 'caso non determinabile If TempH = 0 Then A0 = 8 : Exit Sub 8220: If TempL = 0 And TempH >= 0 Then TempT = 0 : GoTo If TempL = 0 And TempH < 0 Then TempT = Math.PI : If TempH = 0 And TempL > 0 Then TempT = Math.PI / If TempH = 0 And TempL < 0 Then TempT = Math.PI / TempT = Math.Atan(TempL / TempH) If TempH < 0 Then TempT = Math.PI + TempT If TempT < 0 Then TempT = 2 * Math.PI + TempT AZ = TempT 8220 GoTo 8220 2 : GoTo 8220 2 * 3 : GoTo 8220 Y5 = (X2 - X1 + Y1 * TempL / TempH - Y2 * Math.Tan(AZ + Alfa * CR)) / (Math.Tan(AZ) Math.Tan(AZ + Alfa * CR)) X5 = X1 + (Y5 - Y1) * Math.Tan(AZ) Z5 = 0 End Sub Il programma propone una interfaccia minima, utilizzando per la scrittura e lettura dei dati due caselle di testo. Si è scelto di utilizzare la modalità di scrittura dei dati e risultati in analogia con la rappresentazione catastale Pregeo. Gli angoli rilevati sono rappresentati in una struttura tipo Libretto delle Misure con r1 riga 1 (stazione) e 3 righe 2 (Punto Battuto) e desunti dal libretto stesso. Questa interfaccia permette l’agevole digitazione dei dati o l’utilizzo dei comandi di editor testuale del Copia/Incolla. Chiaramente, a parte la formula di calcolo, tutto il resto non è assolutamente ottimizzato. Eseguibile Il file eseguibile potrà essere posizionato in qualsiasi PC con Vista, Win7,Win8 senza problemi o sistemi operativi precedenti nei quali sia installato Visual Basic Express 10 o il Framework relativo. Sorgente Il codice sorgente è presente in una apposita cartella e contiene tutto quanto serve per una eventuale modifica o adattamento da parte dell’utente. Consigli Saranno graditi consigli e dimostrazioni di approvazione Geom. Udino Ranzato