WaveFront - программа для расчета CGH

Технический отчет о разработке: Создание программной оболочки (PC) для расчета CGH (компьютерно синтезированных голограмм) с использованием в качестве объектов 2d транспарантов и 3d моделей.

Client Project rus 02

Научно-исследовательская часть

Разработка данного ПО представляла собой междисциплинарный проект на стыке прикладной оптики и программирования. Работа над алгоритмической частью включала:

  • Теоретический анализ: Глубокое изучение научных статей и классических формул расчета CGH как результата интерференции опорного пучка и множества светящихся точек объекта.
  • Трансляция моделей: Перевод физических формул из теоретического вида в дискретный математический алгоритм для компьютерных вычислений на языке C#.
  • Экспериментальная проверка ядра: Проведение тестов на эталонных моделях для подтверждения того, что программная реализация в Unity математически эквивалентна физическим процессам.
Функциональные возможности системы (Базовый модуль)

На основе верифицированного алгоритма была создана программная среда в Unity со следующим функционалом:

  • 001.jpg
  • 002.jpg
  • 003.jpg
  • 004.jpg
  • 005.jpg
  • 007.jpg
  • 008.jpg

Конфигурация оборудования
  • Параметры SLM: Разрешение матрицы (пиксели) и физический размер пикселя (мкм).
  • Параметры лазера: Длины волн для трех каналов (RGB).
Работа с исходными данными
  • Многослойность: Возможность загрузки до 6 независимых ч/б 2d изображений в качестве слоев объекта.
  • Геометрические настройки: Для каждого изображения задаются физические размеры (x, y в мкм), точное расстояние от плоскости голограммы (z) и число точек расчета.
  • Экспорт: Автоматизированное сохранение результата в формате PNG без сжатия и цветовых искажений.
Управление процессом расчета
  • Выбор конкретной длины волны для генерации маски (одной или RGB).
  • Ввод угла падения опорного пучка.
  • Выбор предельного угла дифрации. Для сепарации точек которые не могут быть физически сформированы из-за разрешения дифракционной решетки. 
  • Визуальный мониторинг: общее количество точек в сцене и общее расчетное время (ETA).
 
Дополнительный модуль: Работа с 3D-геометрией

Для автоматизации создания  голограмм 3d объектов, был разработан внутренний инструмент «Виртуального сканирования» объектов в среде Unity:

  • 001.jpg
  • 002.jpg
  • 003.jpg
  • 004.jpg
  • 005.jpg

  • Импорт 3D-моделей: Использование стандартных мешей с настройкой освещения.
  • Объемная дискретизация: Алгоритм сканирует пространство размещения модели с определенным шагом, фиксируя координаты (x, y, z) и цвет каждой точки поверхности.
  • Интеграция: Данные передаются в основное ядро для синтеза голограммы объемного объекта.
Заключение и верификация

  • Исходная 3d модель
    Исходная 3d модель
  • Облако просчитанных точек
    Облако просчитанных точек
  • Облако точек - вид сбоку
    Облако точек - вид сбоку
  • Облако точек - крупный план
    Облако точек - крупный план
  • Меню просчета - число точек
    Меню просчета - число точек
  • Результат расчета (PNG)
    Результат расчета (PNG)
  • Восстановленное CGH изображение
    Восстановленное CGH изображение

В ходе финальных испытаний PNG распределения (сгенерированные по цветной 3d модели) выводились на амплитудный SLM. Оптическое восстановление изображения достаточно точно совпало с расчетными данными, что подтвердило точность алгоритма и работоспособность программной оболочки.

Платформа: PC
Год выпуска: 2024
Заказчик: "Continuum" г. Новосибирск
Разработка: E140Games