Russian Qt Forum
Ноябрь 23, 2024, 18:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 3 4 [5] 6 7   Вниз
  Печать  
Автор Тема: псевдослучайные числа типа float  (Прочитано 39841 раз)
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #60 : Июль 02, 2011, 18:13 »

Пойду погуляю с собачкой)
Потом поделюсь своими соображениями по всему этому делу)
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #61 : Июль 02, 2011, 18:27 »

Я доверяю Mersenne Twister)) Как то давно приходилось его тестировать на случайность))  
Ну привет, а очевидное сгущение у полюсов Вас не смущает? Ведь в полярных координатах только phi (азимут) "белый" а theta (угол возвышения) - совсем нет. Как бум исправлять?  Улыбающийся

Решение никому не нужно, ты разве не понял?
Смысл всех постов - это вброс "потока сознания"
BRE я прошу Вас вести себя цивильно и на личности не переходить. Я никого не оскорбил и ничем не нарушил правила форума (если не так - поправьте). Если Вам тема неинтересна - спокойно промолчите, а не пытайтесь другим закрыть рот (все равно не получится).

а главное как это однозначно определить, (мы все тут уже 4 страницы пытаемся понять что же такое хочет Igors, и как это можно формализовать).
...
Что же он точно имел в виду и чего хочет я вот пока не знаю)
Учитель, давайте "по жизни". Есть "поверхность" которая может иметь много миллионов точек для визуализации. Честно считать каждую из них - ну это десятки и десятки часов расчетов. Поэтому давайте считать только "некоторые" точки (самплы), остальные - интерполировать.  Разумеется мы понимаем (и принимаем) правила игры - что наш расчет быстр но приблизителен, будут погрешности интерполяции и.т.п. - обо всем этом мы с заказчиком договоримся, это наша забота.

Очень быстро выясняется что задача сводится к тому что я изложил в посте #8, т.е. по-умному расставить точки. Иначе придется долго пыль глотать с ненужными расчетами.  Это абсолютно НОРМАЛЬНАЯ постановка реальной задачи, и Ваньку валять (мол, не понимаю, не формализовано) здесь нечего  Улыбающийся
Записан
ufna
Гость
« Ответ #62 : Июль 02, 2011, 18:35 »

Ну у Вас с инструментарием все Ок (не сомневался), но точки распределены как бык поссал - а надо аккуратно (attachment)

А можно то же самое, только:

 - с расстоянием между точками в 2 раза больше.
 - с расстоянием между точками в 2 раза меньше.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #63 : Июль 02, 2011, 19:11 »

Ну у Вас с инструментарием все Ок (не сомневался), но точки распределены как бык поссал - а надо аккуратно (attachment)

А можно то же самое, только:

 - с расстоянием между точками в 2 раза больше.
 - с расстоянием между точками в 2 раза меньше.
Расстояние не контролируется - просто можно изменить число самплов (тот же эффект)
« Последнее редактирование: Июль 02, 2011, 19:14 от Igors » Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #64 : Июль 02, 2011, 19:47 »

Как-то оно слишком упорядоченно для случайного.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #65 : Июль 02, 2011, 20:03 »

Как-то оно слишком упорядоченно для случайного.
Цель "поймать" все что под точками - желательно с наименьшим числом точек. А уж как (случайно или нет) - проблема разработчика   Улыбающийся
Записан
BRE
Гость
« Ответ #66 : Июль 02, 2011, 20:21 »

Цель "поймать" все что под точками - желательно с наименьшим числом точек. А уж как (случайно или нет) - проблема разработчика   Улыбающийся
Фух, пятая страница обсуждения - узнали цель...
Теперь, боюсь спросить, что подразумевать под "все что под точками"? Что это за объекты, как они организованы?
Что-то мне подсказывает, что случайно тыкать в пространство для поиска объектов не очень хорошая идея.

« Последнее редактирование: Июль 02, 2011, 20:37 от BRE » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #67 : Июль 02, 2011, 22:02 »

Фух, пятая страница обсуждения - узнали цель...
Теперь, боюсь спросить, что подразумевать под "все что под точками"? Что это за объекты, как они организованы?
Ну примерно с тем же успехом можно спросить "а что за QObject, зачем определять Q_OBJECT, связывать слоты/сигналы?". Просто в данном контексте "самплинг" примерно такая же базовая позиция. 

Что-то мне подсказывает, что случайно тыкать в пространство для поиска объектов не очень хорошая идея.
Та подсказывает правильно, за последние 15-20 лет (это только на моей памяти) было предпринято множество попыток придумать что-то получше (кстати я тоже пытался). Вот только ни одна из них пока успехом не увенчалась Улыбающийся  В каком-то частном случае (обычно games) удается - но это достигается за счет массы допущений/предрасчетов.  А в общем случае чтобы просчитать soft shadow (простейшее применение) - самллы и вперед. Так что ото носом не крутите - а делайте что говорят. Если можете  Улыбающийся
Записан
BRE
Гость
« Ответ #68 : Июль 02, 2011, 22:55 »

Та подсказывает правильно, за последние 15-20 лет (это только на моей памяти) было предпринято множество попыток придумать что-то получше
За это время только я (особо за этим не следя) помню: метод сетки, двоичные деревья, квадратные деревья, а вот "пальцем в небо" и что бы аккуратно... не помню. Что можно почитать про эту технологию, где использовалась?

(кстати я тоже пытался).
Строит глазки
Внутри у меня прямо гордость какая-то...

В каком-то частном случае (обычно games) удается - но это достигается за счет массы допущений/предрасчетов.
В программировании так со всем. Все время нужно балансировать между плюсами и минусами решения. Топик про идиальный контейнер помнишь? Я там несколько раз об этом писал.  Улыбающийся
« Последнее редактирование: Июль 02, 2011, 22:57 от BRE » Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #69 : Июль 03, 2011, 00:07 »

И так..
Во-первых, по поводу:
Цитировать
Ну привет, а очевидное сгущение у полюсов Вас не смущает? Ведь в полярных координатах только phi (азимут) "белый" а theta (угол возвышения) - совсем нет. Как бум исправлять?  Улыбающийся
Меня это не смущает) Почему так, разве, не очевидно?
На самом деле точки на сфере распределяются равномерно. А эффект такого их сгущения на полюсах и экваторе обязан тому, что это есть отображение трёхмерного объекта на плоскость. В данном случае, видны также и точки, которые находятся в "теневой" (обратная сторона поверхности) области сферы (т.е. те точки которые мы видеть не должны). И поскольку в окрестности полюсов угол между нормалью к поверхности и осью z мал, то визуально кажется, что плотностьточек там больше.

Те распределения, что привёл Igors даже чисто визуально нельзя назвать статистически случайным. На глаз уже видна корреляция в распределении точек, от чего так стремятся избавиться в алгоритмах случайных чисел. Поэтому я тож склоняюсь к
мнению BRE, что
Цитировать
Что-то мне подсказывает, что случайно тыкать в пространство для поиска объектов не очень хорошая идея.

ИМХО, но раз уж такой расклад, то нужно делать регулярную треугольную решётку (одинаковое растояние между точками), но для имитации случайности, вводить флуктуации (по средством того же генератора случайных чисел) в расположении узлов решётки.
И будет вам счастье)
Тема то тривиальная.. А развели тут битву сомолюбий на пять страниц..
Стыдно товарищи))
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #70 : Июль 03, 2011, 10:37 »

Меня это не смущает) Почему так, разве, не очевидно?
На самом деле точки на сфере распределяются равномерно. А эффект такого их сгущения на полюсах и экваторе обязан тому, что это есть отображение трёхмерного объекта на плоскость.
m_ax ну чего (неумело) заливать если Ваши же картинки показывают что это совсем не так? Улыбающийся Вы генерируете theta "белым" шумом но ведь для сферы это не соответствует равномерному распределению - просто возьмите определенный интеграл по объему - для Вас это семечки (если вся силенка не ушла в Ububtu и командную строку).

ИМХО, но раз уж такой расклад, то нужно делать регулярную треугольную решётку (одинаковое растояние между точками), но для имитации случайности, вводить флуктуации (по средством того же генератора случайных чисел) в расположении узлов решётки.
И будет вам счастье)
Тема то тривиальная..
Так, ну мысль работает - это уже хорошо. То о чем Вы говорите известно как "naive implementation". Где вы возьмете изначальные (равномерные) самплы? Как это сделать для той же сферы? Для модели из треугольников? Ну ладно, простейший случай - плоскость, вроде все хорошо, добавили (сместили) каждую точку. Но на деле такой самплер плох - даем мало шума - видна "решетка", даем  больше - получаем примерно то же что показал BRE

Мне кажется все беды происходят от недооценки задачи (мол, да я, да щас и.т.п). А задачка требует определенного внимания/уважения. Вы уж простите старика если что не так  Улыбающийся
Записан
BRE
Гость
« Ответ #71 : Июль 03, 2011, 13:37 »

Камрады, кто понял или считает что понял все эти требования. Объясните мне пожалуйста простым не "инженерным языком", что же нужно получить.

Итак, равномерная сетка не подходит потому, что "у него можно слона вынести". Исходя из этого (пост #43):
Цитировать
Ладно, то "лирика". А технически такой "самплер" никуда не годится - несмотря на якобы идеальное число точек у него под носом можно слона вынести. Уж лучше накидать абы-как случайно.
Следующий вопрос собственно, почему лучше "накидать абы-как случайно"? Кто это сказал? На основании чего сделан этот вывод? Как можно быть уверенным, что случайно попадешь во все объекты?

Ну и последний вопрос, нарисуйте же пожалуйста "аккуратную сетку" и выложите в теме. Что должны получить, к чему стремиться? Жаждю ее увидеть. Подмигивающий
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #72 : Июль 03, 2011, 14:10 »

Следующий вопрос собственно, почему лучше "накидать абы-как случайно"? Кто это сказал? На основании чего сделан этот вывод? Как можно быть уверенным, что случайно попадешь во все объекты?
Ага, пытаетесь соображать - welcome. Конечно всегда существует "достаточно мелкий" объект который  самплер не поймает. Это нормально, если мы разбросали напр 100 точек - ну так точность и будет невелика.  Вопрос в том насколько? И как поставить точки чтобы минимизировать потери? Очевидно что просто "регулярно" не катит (уже обсуждалось выше) - а тогда как?

Ну и последний вопрос, нарисуйте же пожалуйста "аккуратную сетку" и выложите в теме. Что должны получить, к чему стремиться? Жаждю ее увидеть. Подмигивающий
Та она давно предъявлена в посте #19 и др по просьбе ufna
Записан
BRE
Гость
« Ответ #73 : Июль 03, 2011, 14:33 »

Ага, пытаетесь соображать - welcome.
Да я и не заканчивал, все пытаюсь тебя уговорить этим заняться.

Я не буду спрашивать почему такое расположение точек ты считаешь лучшим по сравнению с равномерной сетки или полностью случайным расположением. Пока допустим, что это так.
Ну так вот, давай попробуем нормальными словами описать те необходимые для тебя свойства, которые есть в картинке из поста #19 и нет у картинке из поста #16. Чем эти картинки отличаются?
Ну только без "инженерных терминов".  Улыбающийся
« Последнее редактирование: Июль 03, 2011, 14:59 от BRE » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #74 : Июль 03, 2011, 17:40 »

Да я и не заканчивал,
Хмм...   Улыбающийся

Ну так вот, давай попробуем нормальными словами описать те необходимые для тебя свойства, которые есть в картинке из поста #19 и нет у картинке из поста #16. Чем эти картинки отличаются?
Ну только без "инженерных терминов".  Улыбающийся
Ну давайте "в популярной форме". Какую конвексную фигуру (по-простому говоря "выпуклый многоугольник") можно свободно разместить между Вашими точками (пост #16)? Довольно большую. А точек намолотили 20K. В посте #19 точек 1K а площадь примерно та же. Доступно излагаю?  Улыбающийся
Записан
Страниц: 1 ... 3 4 [5] 6 7   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.06 секунд. Запросов: 23.