Допустим, у меня есть гудок и мой телефон. Я посмотрел на СЕВЕР и положил дрон на 4 метра на моем фронте. Я должен посмотреть на радар и посмотреть на гул в северном положении.Радиолокационная станция «Подводная лодка» Другое местоположение
Мой радар имеет размер 256x256 пикселей, а максимальное расстояние до беспилотника - 200 м. Приблизительно 0,002 лата/долгота.
Итак, ive сделал простой тестовый класс, чтобы проверить этот гудок на моем севере.
public static void main(String[] args) {
BigDecimal droneLat = new BigDecimal(-22.811468333334087077446383773349225521087646484375);
BigDecimal droneLong = new BigDecimal(-47.0474650000);
BigDecimal phoneLat = new BigDecimal(-22.81129370000000022855601855553686618804931640625);
BigDecimal phoneLong = new BigDecimal(-47.04832809999999909678081166930496692657470703125);
BigDecimal latDiff = phoneLat.subtract(droneLat);
BigDecimal longDiff = phoneLong.subtract(droneLong);
int pixelsLat = degreesToPixels265x265(latDiff.abs());
int pixelsLong = degreesToPixels265x265(longDiff.abs());
if (latDiff.compareTo(new BigDecimal(0)) < 0) { // drone > phone means phone is farther to north, phone lat will be lower, it will show lower in radar
pixelsLat = -pixelsLat;
}
if (longDiff.compareTo(new BigDecimal(0)) > 0) { // drone > phone means phone is farther to north, phone lat will be lower, it will show lower in radar
pixelsLong = -pixelsLong;
}
System.out.println("DiffLat "+latDiff);
System.out.println("DiffLong "+longDiff);
System.out.println("Pixels lat = "+pixelsLat);
System.out.println("Pixels long = "+pixelsLong);
}
public static int degreesToPixels265x265(BigDecimal n) {
BigDecimal p1 = n.multiply(new BigDecimal(256/2));
return p1.divide(new BigDecimal(0.002d),2,BigDecimal.ROUND_CEILING).intValue();
}
Pixels Lat будет суммировать до 128, чтобы нарисовать положение дронов, а также пикселей. Как беспилотник находится на моем севере, должны ли пиксели лат быть более положительными?
Я делаю неправильную математику здесь, чтобы обнаружить истинные координаты, чтобы нарисовать это?
Спасибо большое за внимание!