Академический Документы
Профессиональный Документы
Культура Документы
import TerminalIO.KeyboardReader;
import java.text.DecimalFormat;
class Calculations {
double HomeLattoDeg(int homelatdeg, int homelatmin) {
double homelat = 0;
homelat = homelatdeg*1. + (homelatmin/60.);
return homelat;
}
double HomeLongtoDeg(int homelongdeg, int homelongmin) {
double homelong = 0;
homelong = homelongdeg*1. + (homelongmin/60.);
return homelong;
}
double Lat1toDeg(int latdeg1, int latmin1) {
double lat1 = 0;
lat1 = latdeg1*1. + (latmin1/60.);
return lat1;
}
double Long1toDeg(int longdeg1, int longmin1) {
double lon1 = 0;
lon1 = longdeg1*1. + (longmin1/60.);
return lon1;
}
double Lat2toDeg(int latdeg2, int latmin2) {
double lat2 = 0;
lat2 = latdeg2*1. + (latmin2/60.);
return lat2;
}
double Long2toDeg(int longdeg2, int longmin2) {
double lon2 = 0;
lon2 = longdeg2*1. + (longmin2/60.);
return lon2;
}
double Lat3toDeg(int latdeg3, int latmin3) {
double lat3 = 0;
lat3 = latdeg3*1. + (latmin3/60.);
return lat3;
}
double Long3toDeg(int longdeg3, int longmin3) {
double lon3 = 0;
lon3 = longdeg3*1. + (longmin3/60.);
return lon3;
}
double A1(double homelat){
double aDeg, a;
aDeg = 90. - homelat;
a = Math.toRadians(aDeg);
return a;
}
double B1(double lat1) {
double bDeg, b;
bDeg = 90. - lat1;
b = Math.toRadians(bDeg);
return b;
}
double N1(double homelong, double long1) {
double nDeg, n;
nDeg = homelong - long1;
n = Math.toRadians(nDeg);
return n;
}
double A2(double lat1){
double aDeg, a;
aDeg = 90. - lat1;
a = Math.toRadians(aDeg);
return a;
}
double B2(double lat2) {
double bDeg, b;
bDeg = 90. - lat2;
b = Math.toRadians(bDeg);
return b;
}
double N2(double long1, double long2) {
double nDeg, n;
nDeg = long1 - long2;
n = Math.toRadians(nDeg);
return n;
}
double A3(double lat2){
double aDeg, a;
aDeg = 90. - lat2;
a = Math.toRadians(aDeg);
return a;
}
double B3(double lat3) {
double bDeg, b;
bDeg = 90. - lat3;
b = Math.toRadians(bDeg);
return b;
}
double N3(double long2, double long3) {
double nDeg, n;
nDeg = long2 - long3;
n = Math.toRadians(nDeg);
return n;
}
double A4(double lat3){
double aDeg, a;
aDeg = 90. - lat3;
a = Math.toRadians(aDeg);
return a;
}
double B4(double homelat) {
double bDeg, b;
bDeg = 90. - homelat;
b = Math.toRadians(bDeg);
return b;
}
double N4(double long3, double homelong) {
double nDeg, n;
nDeg = long3 - homelong;
n = Math.toRadians(nDeg);
return n;
}
double Dist1(double a1, double b1, double N1) {
double nRad1, n1, distance1;
nRad1 = Math.acos(((Math.cos(b1))*(Math.cos(a1)))+
((Math.sin(b1))*(Math.sin(a1))*(Math.cos(N1))));
n1 = Math.toDegrees(nRad1);
distance1 = (n1/360.)*2*3.14159*3960;
return distance1;
}
double Dist2(double a2, double b2, double N2) {
double nRad2, n2, distance2;
nRad2 = Math.acos(((Math.cos(b2))*(Math.cos(a2)))+
((Math.sin(b2))*(Math.sin(a2))*(Math.cos(N2))));
n2 = Math.toDegrees(nRad2);
distance2 = (n2/360.)*2*3.14159*3960;
return distance2;
}
double Dist3(double a3, double b3, double N3) {
double nRad3, n3, distance3;
nRad3 = Math.acos(((Math.cos(b3))*(Math.cos(a3)))+
((Math.sin(b3))*(Math.sin(a3))*(Math.cos(N3))));
n3 = Math.toDegrees(nRad3);
distance3 = (n3/360.)*2*3.14159*3960;
return distance3;
}
double Dist4(double a4, double b4, double N4) {
double nRad4, n4, distance4;
nRad4 = Math.acos(((Math.cos(b4))*(Math.cos(a4)))+
((Math.sin(b4))*(Math.sin(a4))*(Math.cos(N4))));
n4 = Math.toDegrees(nRad4);
distance4 = (n4/360.)*2*3.14159*3960;
return distance4;
}
}
class SphericalLawofCosines {
public static void main(String args[]) {
KeyboardReader reader = new KeyboardReader();
DecimalFormat twoDec = new DecimalFormat("0.00");
Calculations calc = new Calculations();
//first distance= Home to Dest1
double a1, b1, N1, nRad1, n1;
//second distance= Dest1 to Dest2
double a2, b2, N2, nRad2, n2;
//third distance= Dest2 to Dest3
}
if(homeew == 'W') {
homelongdeg = homelongdeg*-1;
homelongmin = homelongmin*-1;
}
if(longew1 == 'W') {
longdeg1 = longdeg1*-1;
longmin1 = longmin1*-1;
}
if(longew2 == 'W') {
longdeg2 = longdeg2*-1;
longmin2 = longmin2*-1;
}
if(longew3 == 'W') {
longdeg3 = longdeg3*-1;
longmin3 = longmin3*-1;
}
homelat = calc.HomeLattoDeg(homelatdeg, homelatmin);
homelong = calc.HomeLongtoDeg(homelongdeg, homelongmin);
lat1 = calc.Lat1toDeg(latdeg1, latmin1);
lat2 = calc.Lat2toDeg(latdeg2, latmin2);
lat3 = calc.Lat3toDeg(latdeg3, latmin3);
long1 = calc.Long1toDeg(longdeg1, longmin1);
long2 = calc.Long2toDeg(longdeg2, longmin2);
long3 = calc.Long3toDeg(longdeg3, longmin3);
a1 = calc.A2(homelat);
b1 = calc.B2(lat1);
N1 = calc.N2(homelong, long1);
a2 = calc.A2(lat1);
b2 = calc.B2(lat2);
N2 = calc.N2(long1, long2);
a3 = calc.A2(lat2);
b3 = calc.B2(lat3);
N3 = calc.N2(long2, long3);
a4 = calc.A2(lat3);
b4 = calc.B2(homelat);
N4 = calc.N2(long3, homelong);
distance1 = calc.Dist1(a1, b1, N1);
distance2 = calc.Dist2(a2, b2, N2);
distance3 = calc.Dist3(a3, b3, N3);