Вычислительный выбор случайной точки на n-сфереPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Вычислительный выбор случайной точки на n-сфере

Сообщение Anonymous »

Мне нужно случайным образом выбрать n-мерный вектор длиной 1. Лучше всего выбрать случайную точку на сфере и нормализовать ее:

Код: Выделить всё

import random

def point(n):
sq = 0
v = []
while len(v) < n:
x = 1 - 2*random.random()
v.append(x)
sq = sq + x*x
if sq > 1:
sq = 0
v = []
l = sq**(0.5)
return [x / l for x in v]
Единственная проблема заключается в том, что объем n-шара уменьшается с увеличением размера, поэтому использование равномерного распределения из random.random занимает очень много времени даже для небольшого n, например 17. Есть ли лучший (более быстрый) способ получить случайную точку на n-сфере?

Подробнее здесь: https://stackoverflow.com/questions/380 ... a-n-sphere
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Рассчитайте вращение точки вокруг другой точки на Земле (или сфере)
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Рассчитайте вращение точки вокруг другой точки на Земле (или сфере)
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Рассчитайте вращение точки вокруг другой точки на Земле (или сфере)
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Рассчитайте вращение точки вокруг другой точки на Земле (или сфере)
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Рассчитайте вращение точки вокруг другой точки на Земле (или сфере)
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»