Size: a a a

Язык программирования Julia / Julia programming language

2021 April 29

НС

Николай Семенов... in Язык программирования Julia / Julia programming language
/ban
источник

НС

Николай Семенов... in Язык программирования Julia / Julia programming language
Коллеги, вопрос несколько не по теме чата, но я все же думаю, что могут найтись люди, которые что-то посоветуют.

Я хочу провести моделирование отражения направленного гауссового пучка от полигонального объекта, фиксируемого "камерой" (матрица с заданным размером пикселей). В чем собственно проблема? Излучение на миллиметровой длине волны. Расстояние от источника до объекта около полуметра. Аналогичное расстояние от объекта до "камеры" (можно где-то по центру поставить линзу).

Отсюда вопрос: какой инструментарий лучше подойдет для решения такой задачи? Формально к задаче можно подходить с двух сторон: либо сказать, что нас устроит геометрическая оптика и написать прямо таки честный рейтрейсер (уже частично реализовал на Rust'e по книге); либо думать в сторону принципа Гюйгенса-Френеля, но тут я натыкаюсь на огромную сетку!

Надо ли самостоятельно реализовывать каждую модель или можно как-то сократить путь? Может использовать готовые пакеты? Есть разница на чем такое писать? Есть ли в julia какие-то особо крутые библиотеки, которые могут помочь?
источник

AL

Anatoly Levenchuk in Язык программирования Julia / Julia programming language
Это сейчас стандартная опция (с библиотеками) для видеоускорителей, что-то типа https://www.nvidia.com/ru-ru/geforce/rtx/

И я не думаю, что длина волны тут имеет значение )))
источник

AK

Artem Korzhimanov in Язык программирования Julia / Julia programming language
чтобы сказать, нужен ли гюйгенс-френель, надо знать размер пучка в перетяжке
источник

НС

Николай Семенов... in Язык программирования Julia / Julia programming language
~10мм на выходе из волновода (на эксперименте это переходник-рупор с WR8).
источник

AK

Artem Korzhimanov in Язык программирования Julia / Julia programming language
ну то есть угол расходимости порядка 1/10 — не сильно мало, но наверное геомоптики должно хватать
источник

AK

Artem Korzhimanov in Язык программирования Julia / Julia programming language
и там ещё pi в знаменателе, так что даже 1/30 — ещё лучше
источник

НС

Николай Семенов... in Язык программирования Julia / Julia programming language
@ailevenchuk и @korzhimanov спасибо за ответы. Если таки остановиться на геометрической оптике, то следующий шаг -- это видимо какой-то библиотечный рейтрейсер (конечно, не уровня RTX, потому что запускать не на чем), или отрендерить сцену, например, в том же Blender? Можно ли выставлять количество пикселей условной камеры в готовых решениях?
источник

AK

Artem Korzhimanov in Язык программирования Julia / Julia programming language
у меня такого опыта нет, так что ничего посоветовать не могу
источник

НС

Николай Семенов... in Язык программирования Julia / Julia programming language
Как быть в случае, если хочется в перспективе восстанавливать трехмерный объект по набору изображений сделанных при вращении объекта?
источник

НС

Николай Семенов... in Язык программирования Julia / Julia programming language
Насколько я понимаю эта задача хорошо решена для 3D-принтеров. Там предлагается сделать 3D-модель объекта, походив вокруг него. Дальше из сета условно 100+ фотографий создается полигональная модель.
источник

НС

Николай Семенов... in Язык программирования Julia / Julia programming language
Я же хочу решить аналогичную задачу для других частот (как мы поняли, в первом приближении можно обойтись геометрической оптикой) и с сильно меньшим разрешением получающейся картинки на выходе.
источник

УМ

Убийца Мамонтов... in Язык программирования Julia / Julia programming language
а с объектами каких размеров имеем дело? очевидно, если сильно больше длины волны, особой разницы нет и можно использовать рейтрейсинг/реймарчинг которых на том же расте можно найти предостаточно
источник

УМ

Убийца Мамонтов... in Язык программирования Julia / Julia programming language
источник

УМ

Убийца Мамонтов... in Язык программирования Julia / Julia programming language
.
источник

НС

Николай Семенов... in Язык программирования Julia / Julia programming language
Пусть я освещаю нечто вроде статуэтки размером ~100 мм.
источник

УМ

Убийца Мамонтов... in Язык программирования Julia / Julia programming language
если же объекты маленькие (1мм и меньше) или радиусы кривизны маленькие, то начинаются всяческие дифракции
источник

НС

Николай Семенов... in Язык программирования Julia / Julia programming language
Да! Именно про это я говорил в контексте 3D-принтинга.
источник

AK

Artem Korzhimanov in Язык программирования Julia / Julia programming language
это вроде задача компьютерной томографии
источник

AK

Artem Korzhimanov in Язык программирования Julia / Julia programming language
для рентгена используют
источник