Задача экспромт
От: rus blood Россия  
Дата: 20.06.04 11:03
Оценка:
Задачка навеянная парадом самолетов
Автор: hemmul
Дата: 18.06.04
.

Дан круг с центром в начале координат, и радиуса R. Нужно заполнять его случайными точками, равномерно, но при этом используя полярные координаты. Т.е. нужно случайно выбирать угол f и расстояние от центра r так, чтобы точки заполняли круг равномерно.

1. Как это сделать?
2. Как это сделать, если в наличии имеется только ГСЧ с равномерным распределением (на заданном отрезке) ?

ЗЫ.
Просьба к тем, кто просто знает, как это делается, дать возможность подумать остальным.
Имею скафандр — готов путешествовать!
Re: Задача экспромт
От: Astaroth Россия  
Дата: 20.06.04 15:46
Оценка:
Здравствуйте, rus blood, Вы писали:

RB>1. Как это сделать?

RB>2. Как это сделать, если в наличии имеется только ГСЧ с равномерным распределением (на заданном отрезке) ?

Можно в лоб
Берём два случайных числа x и y, <=R. Переводим (x, y) в (r, fi). Если я не ошибаюсь, fi = arctg(y/x), r = sqrt(x^2+y^2) Если r>R, число отбрасываем. Если нет — плюём на экран

А вообще, нужно достать учебник по теорверу и посмотреть, как работать со случайными векторами...
Это не наезды, это вопросы. И вообще, над ламерами смеяться грешно.
http://livejournal.com/users/breqwas
Re[2]: Задача экспромт
От: rus blood Россия  
Дата: 20.06.04 16:26
Оценка:
A>Можно в лоб
A>Берём два случайных числа x и y, <=R. Переводим (x, y) в (r, fi). Если я не ошибаюсь, fi = arctg(y/x), r = sqrt(x^2+y^2) Если r>R, число отбрасываем. Если нет — плюём на экран

Нет, нужно случайно брать угол и расстояние от центра. Скажем так, способ с квадратом плох тем, что его КПД равно pi/4. Если использовать полярные координаты, то КПД будет 1.
Имею скафандр — готов путешествовать!
Re[3]: Задача экспромт
От: Astaroth Россия  
Дата: 20.06.04 17:21
Оценка:
Здравствуйте, rus blood, Вы писали:

RB>Нет, нужно случайно брать угол и расстояние от центра.


Это не наезды, это вопросы. И вообще, над ламерами смеяться грешно.
http://livejournal.com/users/breqwas
Re[3]: Задача экспромт
От: Neo09 Россия  
Дата: 20.06.04 18:33
Оценка: -1
Здравствуйте, rus blood, Вы писали:


A>>Можно в лоб

A>>Берём два случайных числа x и y, <=R. Переводим (x, y) в (r, fi). Если я не ошибаюсь, fi = arctg(y/x), r = sqrt(x^2+y^2) Если r>R, число отбрасываем. Если нет — плюём на экран

RB>Нет, нужно случайно брать угол и расстояние от центра. Скажем так, способ с квадратом плох тем, что его КПД равно pi/4. Если использовать полярные координаты, то КПД будет 1.


Это неправильно, т.к. в этом случае распределение не будет равномерным.
Наиболее лучшим здесь будет вот что:
Берем случайно x из отрезка [-R, R], а y из отрезка [-sqrt(R^2 — x^2), sqrt(R^2 — x^2)].
А далее, как уже было сказано, переходим в полярные координаты.
Re[4]: Задача экспромт
От: rus blood Россия  
Дата: 21.06.04 06:37
Оценка:
N>Берем случайно x из отрезка [-R, R], а y из отрезка [-sqrt(R^2 — x^2), sqrt(R^2 — x^2)].
N>А далее, как уже было сказано, переходим в полярные координаты.

Вот это точно неправильно...
Имею скафандр — готов путешествовать!
Re: Задача экспромт
От: Аноним  
Дата: 21.06.04 08:21
Оценка:
Здравствуйте, rus blood, Вы писали:

RB>Задачка навеянная парадом самолетов
Автор: hemmul
Дата: 18.06.04
.


RB>Дан круг с центром в начале координат, и радиуса R. Нужно заполнять его случайными точками, равномерно, но при этом используя полярные координаты. Т.е. нужно случайно выбирать угол f и расстояние от центра r так, чтобы точки заполняли круг равномерно.


RB>1. Как это сделать?

RB>2. Как это сделать, если в наличии имеется только ГСЧ с равномерным распределением (на заданном отрезке) ?

RB>ЗЫ.

RB>Просьба к тем, кто просто знает, как это делается, дать возможность подумать остальным.

Что-то я не понял в чем проблема...

Я бы делал так :

0) Так как круг в полярных коорд есть квадрат, то задача сводится к выбору случайной точки на квадрате [0, R]x[0, 2*Pi]

Тогда :

1) Берем

х1 ~ U[0, R]
x2 ~ U[0, 2*Pi]

2) x = (x1, x2) — искомая случ. величина.

Можно делать методом исключения(Неймана) :

строим случ величину по правилу :
1)
y1 ~ U[-R, R]
y2 ~ U[-R, R]

2) если точка y = (y1, y2) удалена от точки (0, 0) более чем на R, то переходим к 1) иначе 3)

3) полагаем x = y, x — искомая случ величина..
Re[2]: Задача экспромт
От: rus blood Россия  
Дата: 21.06.04 08:42
Оценка:
А>0) Так как круг в полярных коорд есть квадрат, то задача сводится к выбору случайной точки на квадрате [0, R]x[0, 2*Pi]

А>Тогда :


А>1) Берем


А>х1 ~ U[0, R]

А>x2 ~ U[0, 2*Pi]

А>2) x = (x1, x2) — искомая случ. величина.


Это неверно... Двойка...


А>Можно делать методом исключения(Неймана) :


А>строим случ величину по правилу :

А>1)
А>y1 ~ U[-R, R]
А>y2 ~ U[-R, R]

А>2) если точка y = (y1, y2) удалена от точки (0, 0) более чем на R, то переходим к 1) иначе 3)


А>3) полагаем x = y, x — искомая случ величина..


Это тот же вариант с квадратом
Автор: Astaroth
Дата: 20.06.04
.
Имею скафандр — готов путешествовать!
Re[3]: Задача экспромт
От: Аноним  
Дата: 21.06.04 08:48
Оценка:
Здравствуйте, rus blood, Вы писали:


А>>0) Так как круг в полярных коорд есть квадрат, то задача сводится к выбору случайной точки на квадрате [0, R]x[0, 2*Pi]


А>>Тогда :


А>>1) Берем


А>>х1 ~ U[0, R]

А>>x2 ~ U[0, 2*Pi]

А>>2) x = (x1, x2) — искомая случ. величина.


RB>Это неверно... Двойка...


С чего это ?

P(dS) = dF*dR = dS


А>>Можно делать методом исключения(Неймана) :



RB>Это тот же вариант с квадратом
Автор: Astaroth
Дата: 20.06.04
.


Согласен.
Re[4]: Задача экспромт
От: Аноним  
Дата: 21.06.04 08:54
Оценка:
А>>>0) Так как круг в полярных коорд есть квадрат, то задача сводится к выбору случайной точки на квадрате [0, R]x[0, 2*Pi]

А>>>Тогда :


А>>>1) Берем


А>>>х1 ~ U[0, R]

А>>>x2 ~ U[0, 2*Pi]

А>>>2) x = (x1, x2) — искомая случ. величина.


RB>>Это неверно... Двойка...


А>С чего это ?


А>P(dS) = dF*dR = dS



Наверное непонятно...

Ну вот смотри...
если
Fх — функция распределения величины x,
P — вероятность
то
Fx( dS ) = P( x из dS ) = P( x1 из dS1, x2 из dS2 ) = P(x1 из dS1)*P(x2 из dS2) = dS1*dS2 = dS
то есть распредление равномерно.

Где неправ ?
Re[5]: Задача экспромт
От: rus blood Россия  
Дата: 21.06.04 09:09
Оценка:
А>Наверное непонятно...

А>Ну вот смотри...

А>если
А>Fх — функция распределения величины x,
А>P — вероятность
А>то
А>Fx( dS ) = P( x из dS ) = P( x1 из dS1, x2 из dS2 ) = P(x1 из dS1)*P(x2 из dS2) = dS1*dS2 = dS
А>то есть распредление равномерно.

А>Где неправ ?


Неправ во время замены координат (с полярной на прямоугольную).
Площадь сегмента уже не равна произведению ds1*ds2...
Имею скафандр — готов путешествовать!
Re[6]: Задача экспромт
От: Аноним  
Дата: 21.06.04 09:29
Оценка:
А>>Ну вот смотри...
А>>если
А>>Fх — функция распределения величины x,
А>>P — вероятность
А>>то
А>>Fx( dS ) = P( x из dS ) = P( x1 из dS1, x2 из dS2 ) = P(x1 из dS1)*P(x2 из dS2) = dS1*dS2 = dS
А>>то есть распредление равномерно.

А>>Где неправ ?


RB>Неправ во время замены координат (с полярной на прямоугольную).

RB>Площадь сегмента уже не равна произведению ds1*ds2...

Бр-р-р-р... Я нигде никаких коорд не заменял.

Ну да ладно...

Что значит, что случ величина x распределна равномерно в круге ?
Значит что P( x из dS ) = dS, где dS — элемент круга. так ?

Что такое dS ?

dS = dR*dFi, где dR — есть радиус, dFi — есть угол. Почему так ?
Так как площадь сегмента круга есть радиус*длина_дуги, отсюда площадь элемента круга = изменение_радиуса*длина_дуги и равно с учетом малости угла = dR*dFi. Так ? (чувствую что твоя загвоздка здесь)

Тогда строим случ величину x(см. выше) и получаем, что она равномерно распределена в круге. Естественно необходимо заменить dS1 на dR и dS2 на dFi...

Нигде ни откаких коорд ни к какими я не переходил...

Опять не прав ? где ?
Re[7]: Задача экспромт
От: rus blood Россия  
Дата: 21.06.04 09:43
Оценка:
А>Так как площадь сегмента круга есть радиус*длина_дуги, отсюда площадь элемента круга = изменение_радиуса*длина_дуги и равно с учетом малости угла = dR*dFi. Так ? (чувствую что твоя загвоздка здесь)

Угу, примерно здесь ты и не прав.

Посчитай, например, площадь круга по твоей формуле dS = dR*dFi ...
Имею скафандр — готов путешествовать!
Re[7]: Задача экспромт
От: hemmul США  
Дата: 21.06.04 09:44
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Что такое dS ?


А>dS = dR*dFi, где dR — есть радиус, dFi — есть угол. Почему так ?

А>Так как площадь сегмента круга есть радиус*длина_дуги, отсюда площадь элемента круга = изменение_радиуса*длина_дуги и равно с учетом малости угла = dR*dFi. Так ? (чувствую что твоя загвоздка здесь)
нууу... либо ты описАлся дваждвы, либо здесь твоя загвоздка
хоть по размерности не чувствуешь что формула для площади не верна?

vox clamantis in deserto
Re[6]: Задача экспромт
От: Аноним  
Дата: 21.06.04 09:45
Оценка:
RB>Неправ во время замены координат (с полярной на прямоугольную).
RB>Площадь сегмента уже не равна произведению ds1*ds2...

Кстати еще вот вспомнил... Если что напутал сильно не бить

1)
Чтобы получить случайное напрвление в пространстве необходимо брать вектор с нормальными компонентами. Тогда в нашем случае компонент всего две и следовательно необходимо получить пару нормально распределнных сл. величин, имея лишь равномерно рапсредленные.

2) а это делается используя формулы какого-то двольно известного мужика.. что-то типа

эх... не помню...
что-то типа так :
a1 = 2*r1 — 1
a2 = 2*Pi*r2
x1 = cos(a2)*sqrt( 1 — a1*a1 )
x2 = sin(a2)*sqrt( 1 — a1*a1 )

ага точно так... то есть x1 и x2 есть пара нормально распределнных случ величин, где r1 r2 — равномерно распределнные с.в.

Ну вот типа тогда за искомую величину можно положить x = ( x1, x2 )

Опять не прав ?
Re[8]: Задача экспромт
От: Аноним  
Дата: 21.06.04 10:12
Оценка:
А>>Что такое dS ?

А>>dS = dR*dFi, где dR — есть радиус, dFi — есть угол. Почему так ?

А>>Так как площадь сегмента круга есть радиус*длина_дуги, отсюда площадь элемента круга = изменение_радиуса*длина_дуги и равно с учетом малости угла = dR*dFi. Так ? (чувствую что твоя загвоздка здесь)
H>нууу... либо ты описАлся дваждвы, либо здесь твоя загвоздка
H>хоть по размерности не чувствуешь что формула для площади не верна?

цыц (надо было где-то положить что r=1, эх... ) уели...

но не сильно, так как я работал в полярных коорд и никуда не переходил... моя точка x=(x1, x2) — это точка в поляр коорд. и давайте вспомним задачу : "Т.е. нужно случайно выбирать угол f и расстояние от центра r так, чтобы точки заполняли круг равномерно"

Тогда :

Если брать
f ~ U[0, 2*Pi]
r ~ U[-R, R]

и ставить точку с полярными коорд (r, f), то она будет распределена равномерно в круге.
Это кстати согласуется с теми формулами которые я привел
здесь
Автор:
Дата: 21.06.04
только надо еще на R домножить Опять про него забыл...

И пусть первый кто скажет что это не так бросит в меня камень !
Re[9]: Задача экспромт
От: Аноним  
Дата: 21.06.04 10:17
Оценка:
А>r ~ U[-R, R]
r ~ U[ 0, R]
Пардон
Re[7]: Задача экспромт
От: Satrapp Россия  
Дата: 21.06.04 11:00
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Что такое dS ?

А>dS = dR*dFi, где dR — есть радиус, dFi — есть угол. Почему так ?
А>Так как площадь сегмента круга есть радиус*длина_дуги, отсюда площадь элемента круга = изменение_радиуса*длина_дуги и равно с учетом малости угла = dR*dFi. Так ? (чувствую что твоя загвоздка здесь)
dS = r dr dFi. И r здесь НЕ равно R. r меняется от 0 до R. Чем ближе к центру, тем этот элемент имеет меньшую площадь.
... << RSDN@Home 1.1.0 stable >>
Re[9]: Задача экспромт
От: Eugene Sh Россия  
Дата: 21.06.04 12:44
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Если брать

А>f ~ U[0, 2*Pi]
А>r ~ U[0, R]

А>и ставить точку с полярными коорд (r, f), то она будет распределена равномерно в круге.

Давайте посмотрим. В круг с центром в начале координат и радиусом r = R / 100 мы попадём с вероятностью 1/100 (достаточно того, что r < R/100, f — любое). Теперь рассмотрим такой же маленький круг, но возле границы исходного. Посчитать вероятность попадания точки в этот круг не могу, но явно видно, что она меньше 1/100. Т.к. для этого должно выполниться 2 условия:
R * 98 / 100 < r < R (вероятность 2/100)
f_1 < f < f_2, где f_2 — f_1 меньше какого-то числа, которое явно меньше чем Pi/2, т.е. вероятность этого меньше 1/4.
P(попадания в круг у границы) < 2/100 * 1/4 < 1/100 = P(попадания в круг того же радиуса, но в центре), т.е. распределение не будет равномерным.
Re: Задача экспромт
От: IO Украина  
Дата: 21.06.04 17:17
Оценка:
Здравствуйте, rus blood, Вы писали:

RB>Задачка навеянная парадом самолетов
Автор: hemmul
Дата: 18.06.04
.


RB>Дан круг с центром в начале координат, и радиуса R. Нужно заполнять его случайными точками, равномерно, но при этом используя полярные координаты. Т.е. нужно случайно выбирать угол f и расстояние от центра r так, чтобы точки заполняли круг равномерно.


RB>1. Как это сделать?

RB>2. Как это сделать, если в наличии имеется только ГСЧ с равномерным распределением (на заданном отрезке) ?

Я конечно извиняюсь, но почему просто не выбрать случайные координаты и если они попадают в круг, то посчитать угол и расстояние от центра. Получим функцию генерации f & r что удовлетворяет условию.
Re[10]: Задача экспромт
От: Аноним  
Дата: 21.06.04 17:19
Оценка:
Здравствуйте, Eugene Sh, Вы писали:

ES>Здравствуйте, Аноним, Вы писали:


А>>Если брать

А>>f ~ U[0, 2*Pi]
А>>r ~ U[0, R]

А>>и ставить точку с полярными коорд (r, f), то она будет распределена равномерно в круге.

ES>Давайте посмотрим. В круг с центром в начале координат и радиусом r = R / 100 мы попадём с вероятностью 1/100 (достаточно того, что r < R/100, f — любое). Теперь рассмотрим такой же маленький круг, но возле границы исходного. Посчитать вероятность попадания точки в этот круг не могу, но явно видно, что она меньше 1/100. Т.к. для этого должно выполниться 2 условия:
ES>R * 98 / 100 < r < R (вероятность 2/100)
ES>f_1 < f < f_2, где f_2 — f_1 меньше какого-то числа, которое явно меньше чем Pi/2, т.е. вероятность этого меньше 1/4.
ES>P(попадания в круг у границы) < 2/100 * 1/4 < 1/100 = P(попадания в круг того же радиуса, но в центре), т.е. распределение не будет равномерным.

А ? О чем это ? Что-то ты путаешь... как и я впрочем(в предыдущих постах )

1) Если рассматривать круг в пол. коорд., то он выглядит как прям-ик и верояность попасть в этот кружок с радиусом r=R/100, который предсатвляет их себя полосу, равна 1/100.

Так как : Плотность распределения в этом случае равна 1/2PiR и интеграл по этой полосе даст как раз 1/100.

2) То что ты пытаешся нарисовать такой же кружок в декартовых коорд. смещенный от центра и тем самым подловить меня, тебе не поможет. Так как в случае декартовых коорд. вероятность попасть в круг радиуса r=R/100 c центром в нуле не равна 1/100, а равна она 1/10000.

Так как : Плотность распределения в этом случае равна 1/PiR^2 и интеграл по этому кругу даст 1/10000. Аналогично и для смещенного от центра кружка получим такую же вероятность.

3) Собсно на этом я и подскользнулся а именно на том, что вероятность есть интеграл плотности по множеству, а при переходе от одной системы к другой подыинтегральное выражение претерпевает изменения. Нетрудно показать, что якобиан преобразования равен r, то есть dx1*dx2 = r*dr*df.
Это я конечно сглупил, притом очччень сильно ((( Эх... старею...

4) Ответ же есть такой :

А>>Если брать

А>>f ~ U[0, 2*Pi]
А>>r ~ U[0, R]

А>>и ставить точку с полярными коорд (r, f), то она будет распределена равномерно в круге.


в декартовых коорд. выглядит как :
x1 = r*cos(f)
x2 = r*sin(f)
Re[11]: Задача экспромт
От: Аноним  
Дата: 21.06.04 17:31
Оценка:
Немного добавлю :

Я с самого начала все правильно сказал
здесь
Автор:
Дата: 21.06.04

но вот rus blood смутил меня своими размышлениями с системами коорд., о которых я и не помышлял в начале...

И хотя сама задача требовала ответа именно в полярных коорд., почему то rus blood ответ пытался услышать в декартовой.

А вообще спасибо ему и всем остальным кто меня лажал за то, что помогли что-то вспомнить...
Re[11]: Задача экспромт
От: Neo09 Россия  
Дата: 22.06.04 00:53
Оценка: 5 (1)
Здравствуйте, Аноним, Вы писали:

А>4) Ответ же есть такой :


А>Если брать

А>f ~ U[0, 2*Pi]
А>r ~ U[0, R]

А>и ставить точку с полярными коорд (r, f), то она будет распределена равномерно в круге.




Ну вот посмотрите.
Распределение равномерное, если взяв любые две площади отношение p1/S1 = p2/S2 (а точнее p1*S2 = p2*S1),
где p1 и p2 — вероятности попадания произвольной точки в площадь S1 и S2 соответсвенно.
Ну хорошо, возьмем вот такие плошади, как на рисунки. И что же мы видим: вероятности попадания в площадь S1 и S2 одинаковы (т.к. r ~ U[0, R]), но площади то не одинаковые!!!
То есть получаем, что распределение неравномерное.
Re: Задача экспромт
От: Neo09 Россия  
Дата: 22.06.04 01:16
Оценка: 28 (3)
Здравствуйте, rus blood, Вы писали:

RB>Задачка навеянная парадом самолетов
Автор: hemmul
Дата: 18.06.04
.


RB>Дан круг с центром в начале координат, и радиуса R. Нужно заполнять его случайными точками, равномерно, но при этом используя полярные координаты. Т.е. нужно случайно выбирать угол f и расстояние от центра r так, чтобы точки заполняли круг равномерно.


RB>1. Как это сделать?

RB>2. Как это сделать, если в наличии имеется только ГСЧ с равномерным распределением (на заданном отрезке) ?

RB>ЗЫ.

RB>Просьба к тем, кто просто знает, как это делается, дать возможность подумать остальным.

А по-моему вот это точно будет правильно.

Нам нужно выбирать случайную точку (r, f) для круга радиуса R в полярных координатах следующим образом:

r = sqrt(ГСЧ[0, R^2]);
f = ГСЧ[0, 2*Pi].

По моим расчетам при этом получается равномерное распределение.
Re[12]: Задача экспромт
От: Аноним  
Дата: 22.06.04 02:25
Оценка:
N>

N>Ну вот посмотрите.

N>Распределение равномерное, если взяв любые две площади отношение p1/S1 = p2/S2 (а точнее p1*S2 = p2*S1),
N>где p1 и p2 — вероятности попадания произвольной точки в площадь S1 и S2 соответсвенно.
N>Ну хорошо, возьмем вот такие плошади, как на рисунки. И что же мы видим: вероятности попадания в площадь S1 и S2 одинаковы (т.к. r ~ U[0, R]), но площади то не одинаковые!!!

Ты определись у тебя круг в декартовых коорд или в полярных.
А то ты считаешь площадь(считай что вероятность) в пол. коорд., а потом сравниваешь её с площадью в дек. коорд.
Это не есть правильно.

Так как площадь S есть ингерал единицы(1) по элементу dS, а при переходе от одной системы коорд к другой dS меняется.

Пример на пальцах :

Поверхность сферы можно отобразить на плоскость("ставим" сферу на плоскость и из верхнего полюса испускаем лучи, проходящие через сферу. Точка пересечения луча с плоскостью — образ, точка пересечения луча с поверхностью сферы — прообраз). Переход от сферических коорд. к дек.

Площадь сферы какая ?
А площадь плоскости ?
А сравнивать их смысл есть ?

Вот и ты сравниваешь на сфере площади двух, скажем, полусфер, говоришь вот они равны. А потом смотришь на плоскость и говоришь, во а там они не равны...

Понятно, нет ?

N>То есть получаем, что распределение неравномерное.


равномерное-равномерное
Re[13]: Задача экспромт
От: Аноним  
Дата: 22.06.04 02:33
Оценка:
А>Так как площадь S есть интеграл по S от единицы(1) на элемент dS, а при переходе от одной системы коорд к другой dS меняется.

Пардон.
Re[12]: Задача экспромт
От: rus blood Россия  
Дата: 22.06.04 08:48
Оценка:
А>., о которых я и не помышлял в начале...


Процедура "развертывания" круга в прямоугольник и есть замена координат.
В декартовых координатах круг — это круг , в полярных — прямоугольник...
Вот это и есть замена координат, которую ты делаешь.
Имею скафандр — готов путешествовать!
Re[11]: Задача экспромт
От: rus blood Россия  
Дата: 22.06.04 08:48
Оценка:
А>4) Ответ же есть такой :

А>>>Если брать

А>>>f ~ U[0, 2*Pi]
А>>>r ~ U[0, R]

А>>>и ставить точку с полярными коорд (r, f), то она будет распределена равномерно в круге.


А>в декартовых коорд. выглядит как :

А>x1 = r*cos(f)
А>x2 = r*sin(f)

По-прежнему неверно...
Имею скафандр — готов путешествовать!
Re[13]: Задача экспромт
От: rus blood Россия  
Дата: 22.06.04 08:49
Оценка:
N>>То есть получаем, что распределение неравномерное.

А>равномерное-равномерное


Может быть тебе программку составить, и посмотреть, все таки?
Имею скафандр — готов путешествовать!
Re[2]: Задача экспромт
От: rus blood Россия  
Дата: 22.06.04 08:50
Оценка:
IO>Я конечно извиняюсь, но почему просто не выбрать случайные координаты и если они попадают в круг, то посчитать угол и расстояние от центра. Получим функцию генерации f & r что удовлетворяет условию.

здесь
Автор: rus blood
Дата: 20.06.04
Имею скафандр — готов путешествовать!
Re[2]: Задача экспромт
От: rus blood Россия  
Дата: 22.06.04 08:52
Оценка:
N>Нам нужно выбирать случайную точку (r, f) для круга радиуса R в полярных координатах следующим образом:

N>r = sqrt(ГСЧ[0, R^2]);

N>f = ГСЧ[0, 2*Pi].

N>По моим расчетам при этом получается равномерное распределение.


Правильно. Решение, плз...
Имею скафандр — готов путешествовать!
Re[13]: Задача экспромт
От: Neo09 Россия  
Дата: 22.06.04 09:59
Оценка: 5 (1)
Здравствуйте, Аноним, Вы писали:

А>Ты определись у тебя круг в декартовых коорд или в полярных.

А>А то ты считаешь площадь(считай что вероятность) в пол. коорд., а потом сравниваешь её с площадью в дек. коорд.
А>Это не есть правильно.

Это есть правильно!
Площадь в полярной и декартовой системах координат будет одинаковой.
А то что вы говорите, что круг в полярных координатах — прямоугольник, еще не значит, что его площадь нужно считать так же, как площадь прямоугольника в декартовых.

А>Так как площадь S есть ингерал единицы(1) по элементу dS, а при переходе от одной системы коорд к другой dS меняется.


А>Пример на пальцах :


А>Поверхность сферы можно отобразить на плоскость("ставим" сферу на плоскость и из верхнего полюса испускаем лучи, проходящие через сферу. Точка пересечения луча с плоскостью — образ, точка пересечения луча с поверхностью сферы — прообраз). Переход от сферических коорд. к дек.


А>Площадь сферы какая ?

А>А площадь плоскости ?
А>А сравнивать их смысл есть ?

А>Вот и ты сравниваешь на сфере площади двух, скажем, полусфер, говоришь вот они равны. А потом смотришь на плоскость и говоришь, во а там они не равны...


Неудачный пример. Приведите другой.
1) Здесь произведен грубый переход и неправильный конечно же. Вы переходите из системы координат с тремя степенями свободы в систему координат с двумя с.с. При этом у нас конечно же потеряется часть информации, и говорить о каком-то там равенстве или неравенстве уже бессмысленно.
2) И все же даже на плоскости проекции полусфер равны, если вы имеете в виду провести через центр сферы какую-то плоскость и разделить сферу на две.

А>Понятно, нет ?


Нет!

N>>То есть получаем, что распределение неравномерное.
Re: Задача экспромт
От: Кодт Россия  
Дата: 22.06.04 10:34
Оценка:
Здравствуйте, rus blood, Вы писали:

RB>Дан круг с центром в начале координат, и радиуса R. Нужно заполнять его случайными точками, равномерно, но при этом используя полярные координаты. Т.е. нужно случайно выбирать угол f и расстояние от центра r так, чтобы точки заполняли круг равномерно.


RB>1. Как это сделать?

RB>2. Как это сделать, если в наличии имеется только ГСЧ с равномерным распределением (на заданном отрезке) ?

Чем-то напоминает задачку про одуванчик http://rsdn.ru/Forum/?mid=365356
Автор:
Дата: 26.08.03
Перекуём баги на фичи!
Re[3]: Задача экспромт
От: Neo09 Россия  
Дата: 22.06.04 10:37
Оценка:
Здравствуйте, rus blood, Вы писали:


N>>Нам нужно выбирать случайную точку (r, f) для круга радиуса R в полярных координатах следующим образом:


N>>r = sqrt(ГСЧ[0, R^2]);

N>>f = ГСЧ[0, 2*Pi].

N>>По моим расчетам при этом получается равномерное распределение.


RB>Правильно. Решение, плз...


Нам нужно доказать что при таком выборе точек распределение получается равномерным.
Распределение по углам равномерно (т.к. f = ГСЧ[0, 2*Pi]), т.е для любой окружности с центром в начале координат вероятности любых точек на этой окружности равны.
Теперь нужно доказать, что для любых двух окружностей вероятности точек на них одинаковы.
Выберем произвольное число 0 < r < R

p1 и p2 — вероятности попадания случайной точки в площадь S1 и S2 соответственно.
Re[4]: Задача экспромт
От: rus blood Россия  
Дата: 22.06.04 10:44
Оценка:
N>Нам нужно доказать что при таком выборе точек распределение получается равномерным.
N>Распределение по углам равномерно (т.к. f = ГСЧ[0, 2*Pi]), т.е для любой окружности с центром в начале координат вероятности любых точек на этой окружности равны.
N>Теперь нужно доказать, что для любых двух окружностей вероятности точек на них одинаковы.
N>Выберем произвольное число 0 < r < R
[skipped]
N>p1 и p2 — вероятности попадания случайной точки в площадь S1 и S2 соответственно.

Это конечно верно, но это просто проверка, что полученное решение верное.

А как само решение было получено?
Имею скафандр — готов путешествовать!
Re[5]: Задача экспромт
От: Neo09 Россия  
Дата: 22.06.04 10:57
Оценка:
Здравствуйте, rus blood, Вы писали:

RB>Это конечно верно, но это просто проверка, что полученное решение верное.


RB>А как само решение было получено?


А решение было получено из простого предположения, а точнее когда я доказывал Анониму, что его решение неправильное, я подумал, как сделать так, чтобы все срослось.
А по-моему какое-то предположение с доказательством его правильности и является решением.
Re[6]: Задача экспромт
От: rus blood Россия  
Дата: 22.06.04 11:24
Оценка:
N>А по-моему какое-то предположение с доказательством его правильности и является решением.

Нет, решения способом божественного откровения не засчитывется...

ЗЫ.
Случай был как-то у нас на семинаре по алгебре. Задавал препод задачки на дом, а потом ищет того, кто решил, и кто не решил. Тот, кто решил идет к доске рассказывать, и тот, кто не решил встает и начинает пересказывать, типа что и как он понял.

Была у нас девушка одна. Однажды перед семинаром просит решение одной задачки. Ну, ессно, дал списать. Как назло вызывают ее идти к доске. Чувак, который пересказывает, начинает задавать дополнительные вопросы, девушка, ясный пень, не в теме...

В итоге звучит вопрос препода: "Ну, как Вы решали?".
Та выдает: "Ну, я вообще-то с помощью Руслана решала".

Препод в осадке — "Я", говорит, "много всяких способов знаю, как решать эту задачу, но про такой слышу впервые..."
Имею скафандр — готов путешествовать!
Re[6]: Задача экспромт
От: Grelkin  
Дата: 22.06.04 11:28
Оценка:
Это... а не эквивалетно ли это тому что писал Аноним ?

Он типа написал что
x1=r*sin(f)
x2=r*cos(f)

Если взять sqrt(x1^2 + x2^2) = sqrt(r^2) = ваш r (то есть тот r который ты моделируешь)
гы-гы..

Мне кажется, что вы(Neo и Аноним) оба правы...Причем решение Анонима выглядит проще и по-моему убедительнее. Доказывать что-то лень. Может Аноним что-то докажет, а то как видно ему делать нечего
Re[7]: Задача экспромт
От: Neo09 Россия  
Дата: 22.06.04 11:42
Оценка:
Здравствуйте, Grelkin, Вы писали:

G>Это... а не эквивалетно ли это тому что писал Аноним ?


G>Он типа написал что

G>x1=r*sin(f)
G>x2=r*cos(f)

Нет, конечно же, это неэквивалентно, сравните:
I)
f ~ U[0, 2*Pi]
r ~ U[0, R]
II)
f = ГСЧ[0, 2*Pi]
r = sqrt(ГСЧ[0, R^2])
Re[12]: Задача экспромт
От: Eugene Sh Россия  
Дата: 22.06.04 12:30
Оценка:
Здравствуйте, Аноним, Вы писали:

А>И хотя сама задача требовала ответа именно в полярных коорд., почему то rus blood ответ пытался услышать в декартовой.

Если бы смысл задачи был в том, чтобы найти "равномерное распределение в полярных координатах", то, я думаю, такая задача даже не появилась бы в этом форуме.
Если убрать в условии словосочетание "полярные координаты", которое вызывает споры, то задачу стоило бы читать так:

Дан круг с центром в начале координат, и радиуса R. Нужно заполнять его случайными точками, равномерно. При этом можно лишь случайно выбирать угол f и расстояние от центра r.

1. Как это сделать?
2. Как это сделать, если в наличии имеется только ГСЧ с равномерным распределением (на заданном отрезке) ?

Re: Задача экспромт
От: Sir Wiz Россия  
Дата: 25.06.04 08:59
Оценка:
Здравствуйте, rus blood, Вы писали:

RB>Дан круг с центром в начале координат, и радиуса R. Нужно заполнять его случайными точками, равномерно, но при этом используя полярные координаты. Т.е. нужно случайно выбирать угол f и расстояние от центра r так, чтобы точки заполняли круг равномерно.


RB>1. Как это сделать?

RB>2. Как это сделать, если в наличии имеется только ГСЧ с равномерным распределением (на заданном отрезке) ?

Давно головой не думал, всё руками. Надо попробовать.

Генерим угол f с помошью ГСЧ с равномерным распределением на отрезке [0, 2PI)

Далее, если мы возьмём растояние r с помошью ГСЧ с равномерным распределением на отрезке [0, R] (или [0, R), круг замкнутый, или нет? Впрочем, не важно), то точки будут заполнять круг не равномерно. Плотность точек будет одинакова на одинаковом растоянии от центра — по окружностям, и иметь обратную пропорциональную зависить от растояния до центра.

То есть, для расномерного заполения круга нам нужно генерить r на отрезке [0, R] с вероятностью, квадратично возрастающей на этом отрезке. (Как называется такое распределение?)

Для этого возмём случайную величину x с равномерным распределением на [0, 1], и получим искомую r = R * (1 — x*x). Всё. круг заполнится точками равномерно. Пользовались только равномерным распределением.

Я прав?
Re[2]: Задача экспромт
От: rus blood Россия  
Дата: 25.06.04 11:01
Оценка:
SW>Для этого возмём случайную величину x с равномерным распределением на [0, 1], и получим искомую r = R * (1 — x*x). Всё. круг заполнится точками равномерно. Пользовались только равномерным распределением.

SW>Я прав?

Нет, не прав. Например, если брать х случайно на отрезке [0,1], то половина точек должны быть меньше 1/2, а половина — больше. Это значит, что у половины точек радиус будет больше 3/4 * R, а другой половины — меньше. Но площадь круга с радиусом 3/4*R составляет 9/16 от площади всего круга. Т.е. распределение точек неравномерное.
Имею скафандр — готов путешествовать!
Re[3]: Задача экспромт
От: Sir Wiz Россия  
Дата: 25.06.04 11:47
Оценка: 5 (2) +2
Здравствуйте, rus blood, Вы писали:

SW>>Для этого возмём случайную величину x с равномерным распределением на [0, 1], и получим искомую r = R * (1 — x*x). Всё. круг заполнится точками равномерно. Пользовались только равномерным распределением.


SW>>Я прав?

RB>Нет, не прав. Например, если брать х случайно на отрезке [0,1], то половина точек должны быть меньше 1/2, а половина — больше. Это значит, что у половины точек радиус будет больше 3/4 * R, а другой половины — меньше. Но площадь круга с радиусом 3/4*R составляет 9/16 от площади всего круга. Т.е. распределение точек неравномерное.

Ну вот, точно давно головой не думал. Два мне.

Действительно, (1 — x*x) нельзя назвать обратной функцией к x*x, а вот sqrt(x) можно Поэтому:

Оставляем все размышления в силе, но правильная формула будет r = R * sqrt(x), где sqrt(x) — квадратный корень x.

Хм, может я опять не прав, но проверку с делением пополам это проходит.
Re[4]: Задача экспромт
От: Sir Wiz Россия  
Дата: 25.06.04 11:52
Оценка: :)
Здравствуйте, Sir Wiz, Вы писали:


SW>Хм, может я опять не прав, но проверку с делением пополам это проходит.


Хм, перечитал ветку форума, это решение уже было. И оно, очевидно, верное. Сорри за невнимательность. Зато сам решил. Всё, ушёл гордиться собой.
Re[4]: Задача экспромт
От: Brother_2  
Дата: 16.05.05 14:46
Оценка:
Обращаюсь за помощью ко всем, кто меня сейчас читает
Есть задачка, аналогичная рассматриваемой в данной теме: круг надо равномерно забросать точками, но уже в декартовой системе. Как это сделать? В теории вероятностей я пока плохо шарю, а решение нужно срочно.
Заранее всем благодарен!
Re[5]: Задача экспромт
От: Кодт Россия  
Дата: 16.05.05 22:05
Оценка:
Здравствуйте, Brother_2, Вы писали:

B_>Есть задачка, аналогичная рассматриваемой в данной теме: круг надо равномерно забросать точками, но уже в декартовой системе. Как это сделать? В теории вероятностей я пока плохо шарю, а решение нужно срочно.


А какая разница? Получаешь полярные координаты и пересчитываешь в декартовы.

И вообще, такая задача имеет стандартное решение.
Пусть длина вертикального среза фигуры — это функция h(x).
Для круга, очевидно, x^2+(h/2)^2 = r^2, то есть h = sqrt(r^2-x^2)*2
Интеграл H(x) = I(xmin,x) h(x)dx — это что-то вроде arctg, сейчас навскидку не скажу.
H(xmin)=0, H(xmax)=S — площадь фигуры.

x распределён так, что Н распределён равномерно.

Находим обратную функцию, x(H)
Диапазону значений H = [0;S] соответствует интегральная функция вероятности, P=[0;1]
Получив случайное значение H, находим x(H).

Теперь осталось найти y — он должен быть равномерно распределён на [ymin(x),ymax(x)], где ymax(x)-ymin(x)=h(x).

Вот и все дела.
Перекуём баги на фичи!
Re[5]: Задача экспромт
От: o.kostya  
Дата: 17.05.05 08:24
Оценка:
Здравствуйте, Brother_2, Вы писали:

B_>Есть задачка, аналогичная рассматриваемой в данной теме: круг надо равномерно забросать точками, но уже в декартовой системе.


Генеришь 2 случайных числа — Х и У координаты точки — если попала в круг — рисуешь, иначе выбрасываешь...
Т.е. заполняешь квадрат случайными точками равномерными, а потом вписываешь в квадрат окружность.
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.