Нужен алгоритм для пикселирования n-мерной гиперсферы

Я хотел бы, чтобы бин векторов в n-мерном пространстве. Это может быть сделано путем пикселизации поверхности n-мерной гиперсферы.

Кто-нибудь знает хорошие алгоритмы для пикселизации гиперсферы в C? Я хотел бы постоянные размеры бина. Мое пространство состоит только из натуральных чисел.

1 ответ

Решение

Вам нужны ваши бункеры, чтобы они были идеально ровными? Если нет, просто выбрасывайте точки наугад и измеряйте расстояние до ближайшего соседа. Вы можете немного убрать это, отбросив слишком близкие точки или выполнив несколько итераций взаимного отталкивания.

В противном случае, вы, вероятно, захотите преобразовать в обобщенные сферические координаты и скопировать в равные области вдоль каждого измерения. В частности, если вы знаете, что находитесь в ячейке 5 из 20 по долготе, ваши ячейки широты будут шире, чем они были бы на экваторе (примерно на квадрат (2) шире по углу, фактически, чтобы соответствовать тому же расстоянию на поверхность).

Другие вопросы по тегам