#-------------------------------------------------------------------------
# Dati delle orbite dei pianeti del sistema solare
# https://nssdc.gsfc.nasa.gov/planetary/factsheet/planet_table_ratio.html
# semiasse maggiore in unità di quello terrestre
# 
# GdA marzo 2023
#--------------------------------------------------------------------------

pausa <- function() { cat ("\n >> press Enter to continue\n"); scan() }

# periodo di rivoluzione in unità dell'anno terrestre 
T <- c(0.241, 0.615, 1, 1.88, 11.9, 29.4, 83.7, 163.7)
# 'distanza' dal Sole (-> semiasse maggiore) in funzione dell'U.A.
d <- c(0.387, 0.723,  1 , 1.52, 5.20, 9.57, 19.17, 30.18)
n = length(T)

# limitiamo il nr di pianeti da analizzare (min 2, max 8)
n1 = as.integer(readline("Numero di pianeti (2-8; default 8): "))
if ( is.na(n1) ) n1 = 8
if (n1 > 1 && n1 <= 8) {
    n <- n1
    T <- T[1:n]
    d <- d[1:n]
    cat(sprintf(" => Consideriamo soli i primi %d pianeti \n", n))
} else {
    cat(sprintf(" %d non è valido \n", n1))
    stop()
}

# primo plot, d vs T
plot(T, d, pch=19, xlab='T (y)', ylab='d (R_T)',
     col='blue', main="Pianeti del sistema solare: 'distanza' vs periodo")
grid()
pausa()

# linearizzazione, confidando nella Terza Legge di Keplero
plot(T^2,d^3, pch=19, xlab='T^2 (y^2)', ylab='d^3 (R_T^3)', col='blue',
     main='Pianeti del sistema solare -- linearizzazione mediante Keplero')
grid()
abline(0, 1, col='cyan')
