Ray Tracing
Трассировщики лучей
Серия трассировщиков лучей — рендеринг реалистичных изображений на Python и Rust.A series of ray tracers — rendering realistic images in Python and Rust.Серія трасувальників променів — рендеринг реалістичних зображень на Python і Rust.
О проектеOverviewПро проєкт
Трассировка лучей — способ получить реалистичную картинку, моделируя сам путь света. Из камеры в сцену пускаются лучи, которые отражаются, преломляются, рассеиваются — ровно как ведут себя настоящие фотоны.
Я писал трассировщики несколько раз: на Python — ради наглядности, чтобы видеть алгоритм без шума, и на Rust — ради скорости, потому что рендеринг тяжёлый и каждый кадр требует миллионов вычислений.
Это та область, где математика, физика и программирование сходятся в красивый результат прямо на экране.
Ray tracing is a way to get a realistic image by simulating the path of light itself. Rays are cast from the camera into the scene, where they reflect, refract, scatter — exactly as real photons behave.
I've written ray tracers several times: in Python — for clarity, to see the algorithm without noise, and in Rust — for speed, because rendering is heavy and every frame demands millions of computations.
It's the area where maths, physics and programming converge into a beautiful result right on the screen.
Трасування променів — спосіб отримати реалістичну картинку, моделюючи сам шлях світла.
Я писав трасувальники кілька разів: на Python — для наочності, і на Rust — для швидкості.
Це та сфера, де математика, фізика й програмування сходяться в гарний результат.
ОсобенностиFeaturesОсобливості
- Рендеринг через моделирование пути света
- Отражения, преломления, рассеивание лучей
- Реализации на Python (наглядно) и Rust (быстро)
- Стык математики, физики и программирования
- Rendering by simulating the path of light
- Ray reflection, refraction, scattering
- Implementations in Python (clear) and Rust (fast)
- An intersection of maths, physics and programming
- Рендеринг через моделювання шляху світла
- Відбиття, заломлення, розсіювання променів
- Реалізації на Python (наочно) і Rust (швидко)
- Стик математики, фізики й програмування