set DATA { 1 {Main Belt Asteroids} 1.66 4.95 2 Earth .98 1.1 3 Venus .718 .728 4 Mars 1.38 1.66 6 Jupiter 4.95 5.46 7 Saturn 9.05 10.12 10 Pluto 29.7 49.3 11 Mercury .307 .466 12 Uranus 18.4 20.1 13 Neptune 29.8 30.4 } set finished {} foreach {i A anear afar} $DATA { foreach {j B bnear bfar} $DATA { if {$j<=$i} continue if {$i ni {1 2} && $j ni {1 2}} continue if {$j ni {1 2} && $i ni {1 2}} continue set dist [expr {abs($anear-$bnear)}] if {$dist > 1.0} { set distint [expr {round($dist)}] } else { set distint [expr {round($dist*10)/10.0}] } if {![dict exists $finished $distint]} { dict set finished $distint [dict create a $A b $B note nearest dist $dist] } set dist [expr {abs($afar+$bfar)}] set distint [expr {round($dist)}] if {![dict exists $finished $distint]} { dict set finished $distint [dict create a $A b $B note farthest dist $dist] } } } set TAB [my tag table border 1] set r [$TAB row] $r column {Point A} $r column {Point B} $r column {} $r column {Distance AU} $r column {1 Day DeltaV} $r column {7 Day DeltaV} $r column {14 Day DeltaV} $r column {28 Day DeltaV} $r column {60 Day DeltaV} foreach {distint info} [lsort -stride 2 -index 0 -real $finished] { dict with info {} set distm [expr {$dist*149597900000}] set r [$TAB row] $r column $a $r column $b $r column $note $r column [expr {round($dist*1000)/1000.0}] #$r column [format %e $distm] foreach days {1 7 14 28 60} { set delta [expr {$distm/($days*24*3600)}] if {$delta > 3e8} { $r column {Exceeds speed of light} } else { $r column [expr {round($delta*1000)/1000}] } } }