C, PHP, VB, .NET

Дневникът на Филип Петров


* Разстояние между две точки върху хиперсфера?

Публикувано на 25 февруари 2012 в раздел Вероятности.

Задача 1: Дадена е окръжност с радиус 1. Изберете две произволни точки лежащи върху окръжността. Какво е очакваното разстояние (по права линия) между точките?

Решение: Всеки две точки от една окръжност лежат в една нейна полуокръжност. Без да ограничаваме общността можем да изберем координатна система такава, че едната точка да попадне в точката (1,0) и центъра на окръжността да бъде в точката (0,0). Нека другата точка е с координати (x,y). Следователно разстоянието между точките ще е:

[math]d = \sqrt{(1-x)^{2}+y^{2}}[/math]     (1)

За да решим задачата ни помага фактът, че втората точка лежи върху окръжността. Понеже окръжността е единична с център в (0,0), то тя ще има уравнение:

[math] x^2+y^2 = 1[/math]

тоест:

[math]y^2=1-x^2[/math]

Заместваме в (1):

[math]d = \sqrt{(1-x)^{2}+1-x^{2}}[/math]

тоест:

[math]d = \sqrt{2-2x}[/math]

Променливата „x“ се мени в интервала [-1, 1] – окръжността е единична. Следователно очакваното разстояние ще е:

[math]D = \frac{1}{2}\int_{-1}^{1}\sqrt{2-2x} \mathrm{d} x[/math]

Решението на което е:

[math]D = \frac{4}{3}[/math]

Задача 2. Дадена е сфера с радиус 1. Изберете две произволни точки лежащи върху сферата. Какво е очакваното разстояние (по права линия) между точките?

Решение: Аналогично на миналата задача избираме координатна система такава, че центъра на окръжността е в точката (0,0,0), а едната произволна точка е в (1,0,0) и другата точка приемаме за (x,y,z). Следователно разстоянието между тях ще е:

[math]d = \sqrt{(1-x)^{2}+y^{2}+z^2}[/math]

Уравнението на сферата е:

[math] x^2+y^2+z^2= 1[/math]

=>

[math] y^2+z^2= 1-x^2[/math]

=> заместваме

[math]d = \sqrt{(1-x)^{2}+1-x^{2}}[/math]

Виждаме, че разстоянието е същото, както в задача 1 и x се мени в същите граници. Така очакваното разстояние отново ще е:

[math]D = \frac{4}{3}[/math]

Задача 3. Дадена е n-мерна хиперсфера с радиус 1. Изберете две произволни точки лежащи върху хиперсферата. Какво е очакваното разстояние (по права линия) между точките?

Решение: Аналогично на предишната задача имаме:

[math]d = \sqrt{(1-x_{1})^{2}+\sum_{i=2}^{n}x_{i}^2 }[/math]

Уравнението на хиперсферата е:

[math]\sum_{i=1}^{n}x_{i}^2=1[/math]

=>

[math]\sum_{i=2}^{n}x_{i}^2 = 1-x_{1}^2[/math]

=> Заместваме

[math]d = \sqrt{(1-x_{1})^{2}+1-x_{1}^{2}}[/math]

Виждаме, че разстоянието е същото, както в задача 1 и x1 се мени в същите граници. Така то отново ще е:

[math]D = \frac{4}{3}[/math]

Задача 4. Дадена е окръжност с радиус R. Изберете две произволни точки лежащи върху окръжността. Какво е очакваното разстояние (по права линия) между точките?

Решение: Аналогично на предишната задача избираме окръжността с център (0,0) и едната точка с координати (R,0). Разстоянието между точките ще е:

[math]d = \sqrt{(R-x)^{2}+y^{2}}[/math]

А уравнението на окръжността тук ще е:

[math] x^2+y^2 = R^2[/math]

=>

[math]y^2=R^2-x^2[/math]

=>

[math]d = \sqrt{(R-x)^{2}+R^2-x^{2}}[/math]

=>

[math]d = \sqrt{2R^2-2Rx}[/math]

=>

[math]D = \frac{1}{2R}\int_{-R}^{R}\sqrt{2R^2-2Rx} \mathrm{d} x=\frac{4R}{3}[/math]

Допълнителна задача:

Проверете дали решението при хиперсфера с радиус R ще е същото както в задача 4

Продължение: Разсъждения върху задачата и други параметризации, даващи други решения, са разгледани на адрес: https://www.cphpvb.net/probability/8446-distance-between-two-points-on-hypersphere/

 



3 коментара


  1. Комитата каза:

    Не знам формули или картинки трябва да се виждат, но аз виждам само картинки със съобщения за грешка горе.

  2. Вероятно гледаш през някакъв RSS reader, а не самия сайт. Затова е така. Тези картинки се генерират автоматично и CGI скрипта е защитен на domain level, т.е. да не може да се използва от други хостове.

  3. Ned каза:

    Интересно!

    BTW Задачата за сфера се свежда до задачата за окръжност. През всеки 2 точки и център на сферата, може да построим окръжност, чиято равнина се определя от трите точки. След това, може да завъртим КС и да търсим разстоянието като между точки по окръжност. Разсъждението може да се разшири за N > 3.

Добави коментар

Адресът на електронната поща няма да се публикува


*