Мое приложение получает координаты x, y, z следующим образом:
х: -0,020941
у: -0,241276
z: 0,956
—————
х: 0,0782352
у: -0,159108
z: 0,923
—————
х: 0,0665857
у: -0,140757
z: 0,885
—————
х: 0,0485952
y: -0.0859762
z: 0,785
—————
х: 0,04494
y: -0.0477933
z: 0,749
—————
х: -0,183467
y: 0,0505905
z: 0,64
—————
х: -0,0519514
y: -0.0137343
z: 0,627
—————
х: -0,0630648
y: -0.0206495
z: 0,586
—————
х: -0,0774924
y: -0.0189667
z: 0,569
—————
х: 0,0100971
y: -0.0100971
z: 0,558
—————
х: 0,00456857
y: -0.0126905
z: 0,533
—————
х: 0,000491429
у: -0,00835429
z: 0,516
—————
х: -0,0227838
у: -0,01018
z: 0.509
—————
х: -0,0222133
у: -0,00589333
z: 0,476
—————
х: -0,10161
у: -0,00850476
z: 0,47
—————
х: -0,0775429
у: 0,0162095
z: 0,46
—————
х: -0,0897705
y: 0,0219057
z: 0,451
—————
Что я делаю, каждые 3 секунды я беру наименьшее значение z из этого потока и строю его положение в массиве 2d (используя его координаты x и y)
Мой вопрос заключается в том, как мне отобразить этот результат, так как я не знаю, какой может быть максимальная или минимальная оценка, и все они имеют двойной тип, а не int для индекса. Есть ли «хороший» способ построить это? Я также хотел бы иметь возможность манипулировать этими данными на основе индекса массива. например найти место кластеризации данных и т. д.
Кажется, что ваша проблема является результатом того, что ваше сердце настроено на использование массива. Использование вектора позволит вам динамически добавлять точки сетки, а также усреднять (и выполнять другие вычисления) всякий раз, когда вы захотите.
При этом, если вы действительно хотите использовать массив, то, как вы заметили, вы не можете использовать двойные и / или отрицательные значения в качестве индексов. Вы можете разработать систему, добавив смещение и умножив свои значения x, y, чтобы получить округленные целые числа и центр не в (0,0), а, возможно, в (2,2) или что-то в этом роде, но это было бы действительно громоздким и запутанным ,
Других решений пока нет …