Нужен алгоритм для пикселирования n-мерной гиперсферы
Я хотел бы, чтобы бин векторов в n-мерном пространстве. Это может быть сделано путем пикселизации поверхности n-мерной гиперсферы.
Кто-нибудь знает хорошие алгоритмы для пикселизации гиперсферы в C? Я хотел бы постоянные размеры бина. Мое пространство состоит только из натуральных чисел.
1 ответ
Вам нужны ваши бункеры, чтобы они были идеально ровными? Если нет, просто выбрасывайте точки наугад и измеряйте расстояние до ближайшего соседа. Вы можете немного убрать это, отбросив слишком близкие точки или выполнив несколько итераций взаимного отталкивания.
В противном случае, вы, вероятно, захотите преобразовать в обобщенные сферические координаты и скопировать в равные области вдоль каждого измерения. В частности, если вы знаете, что находитесь в ячейке 5 из 20 по долготе, ваши ячейки широты будут шире, чем они были бы на экваторе (примерно на квадрат (2) шире по углу, фактически, чтобы соответствовать тому же расстоянию на поверхность).