Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.
Become a Premium Member and unlock a new, free course in leading technologies each month.
package DataCalculations;
import java.lang.Math;
public class Multilateration {
public double calcCord(int rNum, char cord) {
OrgData og = new OrgData();
double ti = og.getValue(rNum), tk = og.getValue(rNum + 1), tj = og
.getValue(rNum + 2), tl = og.getValue(rNum + 3); // invoke toa figures from database
System.out.println("\nti="+ti);
System.out.println("\ntk="+tk);
System.out.println("\ntj="+tj);
System.out.println("\ntl="+tl);
double xi = 1, xk = 0, xj = 10, xl =0;
double yi = 1, yk = 1, yj = 0, yl = 0;
double zi = 0, zk = 0, zj = 0, 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 = zl - 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 - yj * 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);
if (cord == 'x'){
int x;
x = this.getX(g, zl, h);
System.out.println("\nx="+x);
return x;
}
if (cord == 'y'){
int y;
y = this.getY(a, this.getX(g, zl, h), b, this.getZ(s28,root), c);
System.out.println("\ny="+y);
return y;
}
if (cord == 'z'){
int z;
z = this.getZ(s28,root);
System.out.println("\nz="+z);
return z;
}
return -1;
}
int getZ(double s28, double root) {
int z1 = (int) (s28 + root);
return z1;
}
// int z2=(int)(s28-root); //
int getX(double g, double z1, double h) {
int x1 = (int) (g * z1 + h);
return x1;
}
// int x2=(int)(g*z2+h); //
int getY(double a, double x1, double b, double z1, double c) {
int y1 = (int) (a * x1 + b * z1 + c);
return y1;
}
// int y2=(int)(a*x2+b*z2+c);
}
A-Synthesizable-VHDL-Model-of-th.pdf
Add your voice to the tech community where 5M+ people just like you are talking about what matters.
Your drawing has X1, X2, X3, X4
And your program has i, j, k, l
l (el) in indistinguishable from 1 (one) in this font.
And your values don't seem to match.
double xi = 1, xk = 0, xj = 10, xl =0;
double yi = 1, yk = 1, yj = 0, yl = 0;
double zi = 0, zk = 0, zj = 0, zl = 0;
Shouldn't all the values be 0 or 10. You have three 1's in there.
If you are experiencing a similar issue, please ask a related question
Join the community of 500,000 technology professionals and ask your questions.