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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: За стенкой или нет?  (Прочитано 16672 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #15 : Январь 13, 2017, 15:14 »

Не очень понятно, от кого вы ждете помощи,
"Ждут помощи" студенты что хотят проскочить на халяву с лабой - ни или совсем уж глупые люди Улыбающийся Когда гуглюсь и встречаю ссылку на форум - я ее всегда пропускаю, хоть с виду она 100% подходит. Будет "много базара", но не ответ/решение. Мои темы по существу пинг - а вдруг есть люди которые этим/подобным занимались, а главное - хотят этим заниматься.   

Вы не пробовали задавать вопросы по 3д графике на форуме, связанных с 3д графикой?
Разумеется, но там успехи ничуть не лучше Улыбающийся Либо громадная масса нерадивых студентов ("ты, дай списать") , либо железячников с упором на OpenGL о котором здесь речь не идет. Напр хваленый gamedev страдает именно этим. А здесь Qt играет роль фильтра, по уровню профессионализма данный форум хорош.

Я в жизни работал с ней один раз - в универе.
Все эти "полигоны, вертексы, трассировка" для меня - пустой звук.
Возможно лучший способ привить человеку отвращение к предмету - это заставить его изучать. Напр после "Пушкина в школе" .. Плачущий  А ведь это действительно гениальный поэт

Нет, на самом деле, если грамотно поставить задачу, в категориях максимально отдалённых от предметной области (включая жаргон и т.п.) т.е. максимально абстрагироваться от этого всего, то почему бы и нет? Другое дело, что здесь как раз это, как правило, не работает) В процессе возникают новые условия, требования и т.д. и т.п.. В этом основная проблема, на мой взгляд) 
Знакомая песня  Улыбающийся Но это не научная работа где можно полностью абстрагироваться. В прикладных задачах это неизбежно. Позже напишу "новые условия"  Улыбающийся

Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #16 : Январь 13, 2017, 15:18 »

Разумеется, но там успехи ничуть не лучше Улыбающийся Либо громадная масса нерадивых студентов ("ты, дай списать") , либо железячников с упором на OpenGL о котором здесь речь не идет. Напр хваленый gamedev страдает именно этим. А здесь Qt играет роль фильтра, по уровню профессионализма данный форум хорош.

Забавно, спасибо, возможно я пересмотрю отношение к вашим темам:)
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #17 : Январь 13, 2017, 16:01 »

Я бы посмотрел на возможность использования методов Монте Карло, если затраты на определение принадлежности точки (фотона) нужной области не столь критичны.. Но это так, наивный взгляд со стороны) 
Совсем не понял Ваш острожный намек  Улыбающийся

Непонятно почему никто не предложил поанализировать "расклад" фотонов? Вот неск "паттернов" (аттач). Есть напр такой метод (встречал неск перепечаток)

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

Что Вы об этом думаете?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #18 : Январь 13, 2017, 17:38 »

Из условий задачи не ясно:
- надо посчитать освещение ТОЛЬКО в видимой части круга или же на ВСЕХ видимых объектах, включая стены?
- предполагается ли, что фотоны лежат "где угодно" в пространстве (не только на круге), а еще и "за стенами"?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #19 : Январь 14, 2017, 11:44 »

- надо посчитать освещение ТОЛЬКО в видимой части круга или же на ВСЕХ видимых объектах, включая стены?
На всех. Какие "запросные" точки будут считаться - это уже дело использующего фотонную карту. Возможен случай когда расчет должен выполняться для каждого (суб)пикселя что шейдится (хотя это редко, по скорости не вытянет). Чаще расчет только в вертексах (с последующей интерполяцией). При этом возможно большие полигоны должны автоматом разбиваться на более мелкие (что само по себе тоже задачка не слабая). Но по-любому все сводится к "оценке плотности в точке" как изложено в стартовом посте.

- предполагается ли, что фотоны лежат "где угодно" в пространстве (не только на круге), а еще и "за стенами"?
Ну конечно если есть один-единственный круг - смысла никакого. Но есть ли фотоны за стенкой или нет - хз. Есть сцена (напр комната) и есть источник (лампочка) - выбрасываем из него N фотонов (обычно миллионы). Вот они всяко-разно пере-отразились и в конце-концов "осели" на объектах комнаты. Может как-то и за стенку проникли (если для света есть путь), но может и нет. Затем и запускается симуляция чтобы это получить без (мучительной) аналитики. В любом случае "стенка" - это барьер который меняет освещенность скачком.

[OFF]Народная примета: за толковыми (как эти) вопросами обычно ничего не следует  Улыбающийся[/OFF]
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #20 : Январь 14, 2017, 12:23 »

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

Цитировать
Непонятно почему никто не предложил поанализировать "расклад" фотонов? Вот неск "паттернов" (аттач). Есть напр такой метод (встречал неск перепечаток)
Вообще, не совсем понятно, для чего? Что это вообще даёт?
Цитировать
- находим все фотоны в радиусе R и сортируем их по расстоянию от центра (целевой точки)
Хорошо, находим.. Зачем их сортировать?
Цитировать
- добавляя фотон за фотоном получаем ф-цию F(R). Напр для радиуса 1 имеем такую плотность, для R = 2 другую и.т.д.
Ну предположим.. И что? Вы уже сразу предполагаете, что распределение будет зависеть только от расстояния до центра, но вообще говоря, оно может быть и анизотропным..
Цитировать
- отлавливаем значение R когда ф-ция начинает "монотонно убывать/возрастать".  По-простому это как бы мы "зацепили" чужой свет/тень. Все, возвращаем значение плотности для пойманного R

С увеличением R, рано или поздно функция конечно будет сглаживаться всё больше и больше, если мы говорим о плотности F(R) = N/S, (S = pi R^2 - площадь). Чем больше R - тем более сильное усреднение мы получаем - более размазанное и сглаженное описание.  
Цитировать
По-простому это как бы мы "зацепили" чужой свет/тень. Все, возвращаем значение плотности для пойманного R
Как по интегральной, усреднённой величине мы делаем вывод о том, что мы там чего то зацепили?

    
Записан

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

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

Сообщений: 11445


Просмотр профиля
« Ответ #21 : Январь 14, 2017, 12:43 »

Как по интегральной, усреднённой величине мы делаем вывод о том, что мы там чего то зацепили?
Скорее наоборот, по дифференциальной (со всеми вытекающими). См последнюю (самую правую) картинку на аттаче выше. Здесь предложенный метод будет работать неплохо. Начинаем осредняться "от центра". До какого-то момента радиус растет, но плотность остается примерно постоянной. И вот наконец радиус захватывает полоски где нет фотонов. Плотность (монотонно) падает. Значит надо остановиться и вернуть плотность для радиуса где она была примерно постоянной
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #22 : Январь 14, 2017, 13:17 »

[OFF]Народная примета: за толковыми (как эти) вопросами обычно ничего не следует  Улыбающийся[/OFF]

Ну это смотря какая цель преследуется спрашивающим Улыбающийся

Я бы, скорее всего, начал решать задачу с определения видимых полигонов. Либо же видимых пикселей, с соответствующими им 3д-координатами (не знаю, как у Вас z-буфер организован и можно ли в него поместить для каждой видимой точки ее разположение в пространстве).
После этого отбросил бы те фотоны, которые заведомо не видны.
А дальше можно попытаться уже "освещать" полигоны исходя из оставшихся видимых точек. Как первый вариант, тупо смотрим, попали ли в конкретный полигон те или иные точки, и считаем суммарную интенсивность. А дальше по результату.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #23 : Январь 14, 2017, 14:19 »

После этого отбросил бы те фотоны, которые заведомо не видны.
Это противоречит идее фотонных карт, как раз они считаются once "для всего" и сохраняются на диске (чтобы потом напр при пролетах камеры королювать). И вообще, выбрасывание невидимого напрямую применяют только OpenGL-засранцы Улыбающийся При первом же отражении/преломлении это некорректно

А дальше можно попытаться уже "освещать" полигоны исходя из оставшихся видимых точек. Как первый вариант, тупо смотрим, попали ли в конкретный полигон те или иные точки, и считаем суммарную интенсивность. А дальше по результату.
Это реализуется очень просто, но чего мы добились? Вместо радиуса R теперь используем площадь полигона что гораздо менее удобно. Напр полигон может оказаться слишком мал или слишком велик, получим мусор/звон или "на душу населения". С др стороны ни одна проблема не решена, (у)течки все те же
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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