/** * Constructor for tables with * * @param steps */ public FullTable(int steps) { super(steps); final double radstep = Math.toRadians(360. / steps); this.costable = new double[steps]; this.sintable = new double[steps]; double ang = 0.; final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine for (int i = 0; i < steps; i++, ang += radstep) { this.sintable[i] = FastMath.sinAndCos(ang, tmp); this.costable[i] = tmp.value; } }
/** * Constructor for tables with * * @param steps */ public FullTable(int steps) { super(steps); final double radstep = Math.toRadians(360. / steps); this.costable = new double[steps]; this.sintable = new double[steps]; double ang = 0.; final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine for (int i = 0; i < steps; i++, ang += radstep) { this.sintable[i] = FastMath.sinAndCos(ang, tmp); this.costable[i] = tmp.value; } }
@Override public double[] latLngRadToECEF(double lat, double lng, double h) { // Then to sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; return new double[] { (EARTH_RADIUS + h) * clat * clng, (EARTH_RADIUS + h) * clat * slng, (EARTH_RADIUS + h) * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng) { // Then to sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; return new double[] { EARTH_RADIUS * clat * clng, EARTH_RADIUS * clat * slng, EARTH_RADIUS * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng) { // Then to sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; return new double[] { EARTH_RADIUS * clat * clng, EARTH_RADIUS * clat * slng, EARTH_RADIUS * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng, double h) { // Then to sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; return new double[] { (EARTH_RADIUS + h) * clat * clng, (EARTH_RADIUS + h) * clat * slng, (EARTH_RADIUS + h) * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng, double h) { // Then to sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; return new double[] { (EARTH_RADIUS + h) * clat * clng, (EARTH_RADIUS + h) * clat * slng, (EARTH_RADIUS + h) * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng) { // Then to sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; return new double[] { EARTH_RADIUS * clat * clng, EARTH_RADIUS * clat * slng, EARTH_RADIUS * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng) { // Then to sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; return new double[] { EARTH_RADIUS * clat * clng, EARTH_RADIUS * clat * slng, EARTH_RADIUS * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng, double h) { // Then to sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; return new double[] { (EARTH_RADIUS + h) * clat * clng, (EARTH_RADIUS + h) * clat * slng, (EARTH_RADIUS + h) * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng, double h) { // Then to sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; return new double[] { (EARTH_RADIUS + h) * clat * clng, (EARTH_RADIUS + h) * clat * slng, (EARTH_RADIUS + h) * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng, double h) { // Then to sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; return new double[] { (EARTH_RADIUS + h) * clat * clng, (EARTH_RADIUS + h) * clat * slng, (EARTH_RADIUS + h) * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng) { // Then to sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; return new double[] { EARTH_RADIUS * clat * clng, EARTH_RADIUS * clat * slng, EARTH_RADIUS * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng) { // Then to sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; return new double[] { EARTH_RADIUS * clat * clng, EARTH_RADIUS * clat * slng, EARTH_RADIUS * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng, double h) { // Sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; final double v = a / FastMath.sqrt(1 - esq * slat * slat); return new double[] { (v + h) * clat * clng, (v + h) * clat * slng, ((1 - esq) * v + h) * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng) { // Sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; final double v = a / FastMath.sqrt(1 - esq * slat * slat); return new double[] { v * clat * clng, v * clat * slng, (1 - esq) * v * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng) { // Sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; final double v = a / FastMath.sqrt(1 - esq * slat * slat); return new double[] { v * clat * clng, v * clat * slng, (1 - esq) * v * slat }; }
@Override public double[] latLngRadToECEF(double lat, double lng, double h) { // Sine and cosines: final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine final double slat = FastMath.sinAndCos(lat, tmp), clat = tmp.value; final double slng = FastMath.sinAndCos(lng, tmp), clng = tmp.value; final double v = a / FastMath.sqrt(1 - esq * slat * slat); return new double[] { (v + h) * clat * clng, (v + h) * clat * slng, ((1 - esq) * v + h) * slat }; }
final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine double s = FastMath.sinAndCos(angle, tmp), c = tmp.value; ht[axis1][axis1] = +c;
final DoubleWrapper tmp = new DoubleWrapper(); // To return cosine double s = FastMath.sinAndCos(angle, tmp), c = tmp.value; ht[axis1][axis1] = +c;