paparazzo Ну а если детектор не перепендикулярен оси Z? логично предположить что используется нормаль к плоскости детектора.
Где в таком случае находятся оси Х и У.
Если предположить что оси X Y Z, это все оси глобальной системы координат (в которой изначально строится вся оптическая схема и которые подрисованы в левом нижнем углу 3DLayout), то получается что приведенные формулы не зависят от угла под которым повернут детектор, а это не так. Таким образом несколько или все перечисленные оси не являются осями из глобальной системы координат. Я предполагаю что эти оси не ортогональны между собой и принадлежат разным системам координат. Например, ось Z это нормаль к детекторы, а оси Х и У лежат в глобальной системе координат луча.
Формулы x=R*cos(phi), y=R*sin(phi), это формулы преобразования полярной системы координат к декартовой, а X=Cz*cosPx Y=Cz*cosPy больше похожи на преобразование поворота системы координат, но какие то они неправильные
).
Собс-но извиняюсь за дичайшее занудство
) Но это основы без понимания которых мне тяжело работать в Zemaxe. В справке по Zemax я эти моменты не нашел (возможно из-за того что плохо искал
Спасибо.
Есть более прикладной вопрос:
Для языка ZPL есть команда NSTR которая выполняет трассировку лучей. В параметрах этой команды есть возможность указать базу лучей в которую будут сохраняться эти лучи и filter string для этой базы. В тоже время команда опроса детектора NSDD не содержит параметров загрузки базы лучей или применения filter string. Помимо прочего по умолчанию выставляет не использовать базу лучей. Можно ли как нибудь задать filter string для детектора из макроса?