import java.lang.Math;
public class Multilateration {
void calcCord(int sel) {
double ti = OrgData.getValue(sel), tk = OrgData.getValue(sel+1), tj = OrgData.getValue(sel+2), tl = OrgData.getValue(sel+3);
double xi = -8, xk = 15338349, xj = 0, xl = 2656680;
double yi = 21482069, yk = 15338349, yj = 6380000, yl = 0;
double zi = 3683495, zk = 15338349, zj = 25789348, zl=0;
double xji=xj-xi; double xki=xk-xi; double xjk=xj-xk; double xlk = xl-xk;
double xik=xi=xk; double yji=yj-yi; double yki=yk-yi; double yjk=yj-yk;
double ylk=yl-yk; double yik=yi-yk; double zji=zj-zi; double zki=zk-zi;
double zik=zi-zk; double zjk=zj-zk; double zlk=zk;
double rij=Math.abs((10*(ti-tj))/33); double rik=Math.abs((10*(ti-tk))/33);
double rkj=Math.abs((10*(tk-tj))/33); double rkl=Math.abs((10*(tk-tl))/33);
double s9=rik*xji-rij*xki; double s10=rij*yki-rik*yji; double s11=rik*zji-rij*zki;
double s12=(rik*(rij*rij+xi*xi-xj*xj+yi*yi-yi*yj+zi*zi-zj*zj)
-rij*(rik*rik+xi*xi-xk*xk+yi*yi-yk*yk+zi*zi-zk*zk))/2;
double s13=rkl*xjk-rkj*xlk; double s14=rkj*ylk-rkl*yjk; double s15=rkl*zjk-rkj*zlk;
double s16=(rkl*(rkj*rkj+xk*xk-xj*xj+yk*yk+zk*zk-zj*zj)
-rkj*(rkl*rkl+xk*xk-xl*xl+yk*yk-yl*yl+zk*zk-zl*zl))/2;
double a=s9/s10; double b=s11/s10; double c=s12/s10; double d=s13/s14;
double e=s15/s14; double f=s16/s14; double g=(e-b)/(a-d); double h=(f-c)/(a-d);
double i=(a*g)+b; double j=(a*h)+c;
double k=rik*rik+xi*xi-xk*xk+yi*yi-yk*yk+zi-zk*zk+2*j*yki;
double l=2*(g*xki+i*yki+zki);
double m=4*rik*rik*(g*g+i*i+l)-l*l;
double n=8*rik*rik*(g*(xi-h)+i*(yi-j)+zi)+2*l*k;
double o=4*rik*rik*((xi-h)*(xi-h)+(yi-j)*(yi-j)+zi*zi)-k*k;
double s28=n/(2*m); double s29=(o/m); double s30=(s28*s28)-s29;
double root=Math.sqrt(s30);
System.out.println();
int z1=(int)(s28+root); System.out.println("z = "+ z1 + "\n");
int z2=(int)(s28-root); // System.out.println("z1 = "+z2+"\n");
int x1=(int)(g*z1+h); System.out.println("x = "+x1+"\n");
int x2=(int)(g*z2+h); // System.out.println("x2 = "+x2 +"\n");
int y1=(int)(a*x1+b*z1+c); System.out.println("y = " + y1 + "\n");
int y2=(int)(a*x2+b*z2+c); // System.out.println("y2 = " +y2 + "\n");
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class OrgData {
int a, b;
final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
final String DATABASE_URL = "jdbc:mysql://localhost:3306/rfiddata";
Connection connection = null; // manages connection
int getValue(int rNum) {
try {
Class.forName(JDBC_DRIVER); // load database driver class
// establish connection to database
connection = DriverManager.getConnection(DATABASE_URL, "root", "");
// create Statement for querying database
Statement statement = connection.createStatement();
ResultSet rs1 = statement.executeQuery("select time from rfid where rnum=sel");
a = rs1.getInt("time");
return a;
} // end try
catch (SQLException sqlException) {
sqlException.printStackTrace();
System.exit(1);
} // end catch
catch (ClassNotFoundException classNotFound) {
classNotFound.printStackTrace();
System.exit(1);
} // end catch
finally // ensure statement and connection are closed properly
{
try {
connection.close();
} // end try
catch (Exception exception) {
exception.printStackTrace();
System.exit(1);
} // end catch
} // end finally
return 0;
} // end main
}// end class
Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.
”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.
Our community of experts have been thoroughly vetted for their expertise and industry experience.
The Distinguished Expert awards are presented to the top veteran and rookie experts to earn the most points in the top 50 topics.