Russian Qt Forum
Ноябрь 22, 2024, 16:23
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
Алгоритмы
>
За стенкой или нет?
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: За стенкой или нет? (Прочитано 16681 раз)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: За стенкой или нет?
«
Ответ #15 :
Январь 13, 2017, 15:14 »
Цитата: Авварон от Январь 12, 2017, 18:20
Не очень понятно, от кого вы ждете помощи,
"Ждут помощи" студенты что хотят проскочить на халяву с лабой - ни или совсем уж глупые люди
Когда гуглюсь и встречаю ссылку на форум - я ее всегда пропускаю, хоть с виду она 100% подходит. Будет "много базара", но не ответ/решение. Мои темы по существу пинг - а вдруг есть люди которые этим/подобным занимались, а главное - хотят этим заниматься.
Цитата: Авварон от Январь 12, 2017, 18:20
Вы не пробовали задавать вопросы по 3д графике на форуме, связанных с 3д графикой?
Разумеется, но там успехи ничуть не лучше
Либо громадная масса нерадивых студентов ("ты, дай списать") , либо железячников с упором на OpenGL о котором здесь речь не идет. Напр хваленый gamedev страдает именно этим. А здесь Qt играет роль фильтра, по уровню профессионализма данный форум хорош.
Цитата: Авварон от Январь 12, 2017, 18:20
Я в жизни работал с ней один раз - в универе.
Все эти "полигоны, вертексы, трассировка" для меня - пустой звук.
Возможно лучший способ привить человеку отвращение к предмету - это заставить его изучать. Напр после "Пушкина в школе" ..
А ведь это действительно гениальный поэт
Цитата: m_ax от Январь 12, 2017, 18:21
Нет, на самом деле, если грамотно поставить задачу, в категориях максимально отдалённых от предметной области (включая жаргон и т.п.) т.е. максимально абстрагироваться от этого всего, то почему бы и нет? Другое дело, что здесь как раз это, как правило, не работает) В процессе возникают новые условия, требования и т.д. и т.п.. В этом основная проблема, на мой взгляд)
Знакомая песня
Но это не научная работа где можно полностью абстрагироваться. В прикладных задачах это неизбежно. Позже напишу "новые условия"
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: За стенкой или нет?
«
Ответ #16 :
Январь 13, 2017, 15:18 »
Цитата: Igors от Январь 13, 2017, 15:14
Разумеется, но там успехи ничуть не лучше
Либо громадная масса нерадивых студентов ("ты, дай списать") , либо железячников с упором на OpenGL о котором здесь речь не идет. Напр хваленый gamedev страдает именно этим. А здесь Qt играет роль фильтра, по уровню профессионализма данный форум хорош.
Забавно, спасибо, возможно я пересмотрю отношение к вашим темам:)
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: За стенкой или нет?
«
Ответ #17 :
Январь 13, 2017, 16:01 »
Цитата: m_ax от Январь 12, 2017, 18:05
Я бы посмотрел на возможность использования методов Монте Карло, если затраты на определение принадлежности точки (фотона) нужной области не столь критичны.. Но это так, наивный взгляд со стороны)
Совсем не понял Ваш острожный намек
Непонятно почему никто не предложил поанализировать "расклад" фотонов? Вот неск "паттернов" (аттач). Есть напр такой метод (встречал неск перепечаток)
- находим все фотоны в радиусе R и сортируем их по расстоянию от центра (целевой точки)
- добавляя фотон за фотоном получаем ф-цию F(R). Напр для радиуса 1 имеем такую плотность, для R = 2 другую и.т.д.
- отлавливаем значение R когда ф-ция начинает "монотонно убывать/возрастать". По-простому это как бы мы "зацепили" чужой свет/тень. Все, возвращаем значение плотности для пойманного R
Что Вы об этом думаете?
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: За стенкой или нет?
«
Ответ #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
Сообщений: 11445
Re: За стенкой или нет?
«
Ответ #19 :
Январь 14, 2017, 11:44 »
Цитата: Racheengel от Январь 13, 2017, 17:38
- надо посчитать освещение ТОЛЬКО в видимой части круга или же на ВСЕХ видимых объектах, включая стены?
На всех. Какие "запросные" точки будут считаться - это уже дело использующего фотонную карту. Возможен случай когда расчет должен выполняться для каждого (суб)пикселя что шейдится (хотя это редко, по скорости не вытянет). Чаще расчет только в вертексах (с последующей интерполяцией). При этом возможно большие полигоны должны автоматом разбиваться на более мелкие (что само по себе тоже задачка не слабая). Но по-любому все сводится к "оценке плотности в точке" как изложено в стартовом посте.
Цитата: Racheengel от Январь 13, 2017, 17:38
- предполагается ли, что фотоны лежат "где угодно" в пространстве (не только на круге), а еще и "за стенами"?
Ну конечно если есть один-единственный круг - смысла никакого. Но есть ли фотоны за стенкой или нет - хз. Есть сцена (напр комната) и есть источник (лампочка) - выбрасываем из него N фотонов (обычно миллионы). Вот они всяко-разно пере-отразились и в конце-концов "осели" на объектах комнаты. Может как-то и за стенку проникли (если для света есть путь), но может и нет. Затем и запускается симуляция чтобы это получить без (мучительной) аналитики. В любом случае "стенка" - это барьер который меняет освещенность скачком.
[OFF]Народная примета: за толковыми (как эти) вопросами обычно ничего не следует
[/OFF]
Записан
m_ax
Джедай : наставник для всех
Offline
Сообщений: 2095
Re: За стенкой или нет?
«
Ответ #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
Сообщений: 11445
Re: За стенкой или нет?
«
Ответ #21 :
Январь 14, 2017, 12:43 »
Цитата: m_ax от Январь 14, 2017, 12:23
Как по интегральной, усреднённой величине мы делаем вывод о том, что мы там чего то зацепили?
Скорее наоборот, по дифференциальной (со всеми вытекающими). См последнюю (самую правую) картинку на аттаче выше. Здесь предложенный метод будет работать неплохо. Начинаем осредняться "от центра". До какого-то момента радиус растет, но плотность остается примерно постоянной. И вот наконец радиус захватывает полоски где нет фотонов. Плотность (монотонно) падает. Значит надо остановиться и вернуть плотность для радиуса где она была примерно постоянной
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: За стенкой или нет?
«
Ответ #22 :
Январь 14, 2017, 13:17 »
Цитата: Igors от Январь 14, 2017, 11:44
[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
Сообщений: 11445
Re: За стенкой или нет?
«
Ответ #23 :
Январь 14, 2017, 14:19 »
Цитата: Racheengel от Январь 14, 2017, 13:17
После этого отбросил бы те фотоны, которые заведомо не видны.
Это противоречит идее фотонных карт, как раз они считаются once "для всего" и сохраняются на диске (чтобы потом напр при пролетах камеры королювать). И вообще, выбрасывание невидимого напрямую применяют только OpenGL-засранцы
При первом же отражении/преломлении это некорректно
Цитата: Racheengel от Январь 14, 2017, 13:17
А дальше можно попытаться уже "освещать" полигоны исходя из оставшихся видимых точек. Как первый вариант, тупо смотрим, попали ли в конкретный полигон те или иные точки, и считаем суммарную интенсивность. А дальше по результату.
Это реализуется очень просто, но чего мы добились? Вместо радиуса R теперь используем площадь полигона что гораздо менее удобно. Напр полигон может оказаться слишком мал или слишком велик, получим мусор/звон или "на душу населения". С др стороны ни одна проблема не решена, (у)течки все те же
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...