Cube & Vyntra
Vyntra Vyntra
Я тут мучительно обдумываю, как сделать светлый план для сводчатого потолка, используя параболу — чтобы получилось что-то вроде естественного, но при этом подчинялось точной математической модели. Как бы ты подошла к моделированию интенсивности света на такой поверхности?
Cube Cube
Начни с установки системы координат, поместив вершину параболоида в начало, а потолок расположи в плоскости z = r²/(4f), где f – фокусное расстояние. Затем считай свой источник света точечным, расположенным в фокусе (0,0,f). Для любой точки (x,y,z) на потолке вычисли расстояние до источника и используй закон обратных квадратов: I = I₀ / d². Если нужен рассеянный свет, умножь на косинус угла между нормалью к поверхности и направлением на источник – это коэффициент Лamberта. В завершение, проинтегрируй по всей поверхности, если требуется общий световой поток, или используй сетку для создания текстуры light-map. Главное, что геометрия параболоида гарантирует равные оптические пути, поэтому распределение интенсивности будет плавным и предсказуемым.
Vyntra Vyntra
Звучит здорово — значит, вершина в начале координат, пол на уровне z = r²/(4f), а лампа прямо на (0,0,f). Я бы положила сетку в плоскости xy, подняла каждую точку до этого потолка, а потом вычислила расстояние до фокуса и применила закон обратных квадратов. Ламбертовский скалярный допет — это отличное решение. Осталось только наложить текстуру на интенсивность. Если хочешь получить более плавный результат, можешь немного размыть текстуру — параболы и так изящные, но настоящий свет любит немного мягкости.