Ru-Board.club
← Вернуться в раздел «Программы»

» Программы для разработки, тестирования, оптических систем

Автор: wyndyday
Дата сообщения: 09.07.2015 19:14
paparazzo

Цитата:
Т.е. значения, аналогичные Tilt About X, Tilt About Y, Tilt About Z непоследовательного режима.

Либо как перевести направляющие косинусы в поворот относительно осей.



The direction cosine value is the cosine of the angle the ray makes with respect to the specified axis (the x-direction cosine is the cosine of the angle the ray makes with respect to the x-axis, etc.)


Автор: ILILIL1971
Дата сообщения: 09.07.2015 21:34
paparazzo,
RAGA, RAGB, RAGC
Автор: paparazzo
Дата сообщения: 10.07.2015 10:52
Не совсем всё так просто....
Косинусы не есть косинусы углов поворота - Tilt about X и т.д.
В том то и дело, что косинусы у меня есть... это координаты вектора луча. Вопрос как их перевести в углы поворота "Tilt about X" и т.д.
Автор: Cano_J
Дата сообщения: 10.07.2015 14:35

Цитата:
Либо как перевести направляющие косинусы в поворот относительно осей.

Если я правильно Вас понял:
В руководстве на 38 странице дают формулы

к примеру w=2deg
m=y-cosine=0,0348, n = z-cosine=0,9994
tan(m/n)=1.996deg
Автор: wyndyday
Дата сообщения: 10.07.2015 16:34
" Tilt about X"это как бы трансформация луча. То ест имеем (хo, yo, zo) , после "tilt" будет (x, y, z). Формулы трансформаций я не скажу, надо искать в книгах по геометрий. А рисунок можно?
Автор: ILILIL1971
Дата сообщения: 11.07.2015 10:40
paparazzo,
Вы хотите знать наклон поверхности в глобальных координатах? Если "как в NSC", то выглядит так... Но никакой привязки к лучам. Поясните задачу точнее.
Автор: paparazzo
Дата сообщения: 11.07.2015 19:07
Есть главный луч в последовательном режиме, для какого-то заданного поля.
В непоследовательном режиме этот луч есть нормаль к пряиоугольному детектору. Как ориентировать детектор в непоследовательном режиме, зная направляющие косинусы луча.

Доступные параметры Tilt about x, tilt about y, tilt about z.
Автор: Cano_J
Дата сообщения: 11.07.2015 20:49

Цитата:
Можно ли узнать в Zemax угол поворота главного луча относительно осей координат? В последовательном режиме.

А если в совместном поставить датчик угла?

Подскажите пожалуйста, литературу по методам изготовления осветительной оптики. Какие формы могут изготовить, каким методом, с какой точностью, из каких материалов итд.
Делают ли точностные расчеты для линзовой и зеркальной осветительной оптики?

Использовали ли Вы программу LED Optics Designer?
Автор: DSoln
Дата сообщения: 16.07.2015 14:13
Коллеги,
не найдется ли у кого-то электронной версии книги:
Чуриловский Халилулин Теория и расчет призменных систем
На книголюбе, кажется, нет. увы
Автор: Cano_J
Дата сообщения: 16.07.2015 18:16

Цитата:
Чуриловский Халилулин Теория и расчет призменных систем

К сожалению книги не имею, но если Вы работаете на крупном предприятии, возможно присутствует возможность купить книгу (к примеру http://www.alib.ru/au-churilovskij/nm-teoriya_raschet_prizmennyh_sistem/) для большой конторы 800р не деньги. В моей конторе была возможность заказа через библиотеку предприятия.
Автор: wyndyday
Дата сообщения: 17.07.2015 19:27
DSoln

Цитата:
Теория и расчет призменных систем


Несколько книг про призмы здесь hoop://publ.lib.ru/ARCHIVES/B/''Biblioteka_priborostroitelya''/_''Biblioteka_priborostroitelya''.html
Автор: DSoln
Дата сообщения: 17.07.2015 22:13

Цитата:
Цитата:
Чуриловский Халилулин Теория и расчет призменных систем  

К сожалению книги не имею, но если Вы работаете на крупном предприятии, возможно присутствует возможность купить книгу (к примеру http://www.alib.ru/au-churilovskij/nm-teoriya_raschet_prizmennyh_sistem/) для большой конторы 800р не деньги. В моей конторе была возможность заказа через библиотеку предприятия.


Цитата:
Несколько книг про призмы здесь hoop://publ.lib.ru/ARCHIVES/B/''Biblioteka_priborostroitelya''/_''Biblioteka_priborostroitelya''.html

Спасибо. буду смотреть.
Автор: Cano_J
Дата сообщения: 21.07.2015 19:04
Подскажите пожалуйста, из-за чего при подстановке dll с текстом из примеров земакс, может быть сообщение "Cannot locate 'UserObjectDefinition'"? dll собиралась в microsoft visual c++ v6 и 2015. Ошибка была в 2015 версии "Не удается запустить программу (адрес dll) Неподдерживаемая операция. Неизвестная ошибка 0x800700c1".
В 6й версии ошибок не было, но dll не работает в zemax.
Автор: paparazzo
Дата сообщения: 22.07.2015 18:51

Цитата:
Подскажите пожалуйста, из-за чего при подстановке dll с текстом из примеров земакс, может быть сообщение "Cannot locate 'UserObjectDefinition'"? dll собиралась в microsoft visual c++ v6 и 2015. Ошибка была в 2015 версии "Не удается запустить программу (адрес dll) Неподдерживаемая операция. Неизвестная ошибка 0x800700c1".
В 6й версии ошибок не было, но dll не работает в zemax.


Вы как с или как с++ компилировали?

Если как с++ работать не будет. У С есть такие команды, что в C++ не проходят. Возможно компилятор и ругается...

Например strcpy которая служит для заполнения имён параметров объекта Zemax, её компилятор C++ не распознаёт.
Автор: ILILIL1971
Дата сообщения: 22.07.2015 20:48
В 16-ой версии вроде как добавили поддержку С++ и С#. Подробно еще не изучал...
Автор: Cano_J
Дата сообщения: 22.07.2015 21:13

Цитата:
Вы как с или как с++ компилировали?

Нашел закладку, компилировать как си и заменил расширение файла на с. Результат тот же.
Автор: Paredam
Дата сообщения: 23.07.2015 21:33

Цитата:
Как ориентировать детектор в непоследовательном режиме, зная направляющие косинусы луча.


Coordinate Break and solver - chief ray normal
или в оптимизаторе - RAID=0
Автор: ILILIL1971
Дата сообщения: 24.07.2015 09:47

Цитата:
Coordinate Break and solver - chief ray normal или в оптимизаторе - RAID=0

Речь о непоследовательном режиме.
Автор: paparazzo
Дата сообщения: 28.07.2015 13:12

Цитата:
Coordinate Break and solver - chief ray normal
или в оптимизаторе - RAID=0


Вообщем суть в том, что имея косинусы луча, искомые углы Tilt about X, Tilt about Y, Tilt about Z и матрицы поворота с этими углами, получаем систему трех уравнений, относительно Tilt about X, Tilt about Y, Tilt about Z.
Которую пока не удалось решить...
Система строится так матрица поворота вокруг X умножается на вектор (0,0,1), на полученный вектор умножается матрица поворота Y, потом матрица Z.
В итоге она равна вектору заданному косинусами лучей.
Вектор (0,0,1) из того, что это объект изначально вдоль оси Z ориентирован

Напомню задача - ориентировать объект в непоследовательном режиме, так же как главные лучи для определенных полей последовательной системы.
Ориентация только через углы поворота вокруг осей (Tilt about X, Tilt about Y, Tilt about Z), нету другого способа в Zemax..

Хотя может есть варианты?
Автор: Igorr
Дата сообщения: 28.07.2015 15:26
paparazzo
Попробуйте сформулировать задачу в математическом виде без привязки к земакс, а я попробую ее решить на этой неделе.
Автор: paparazzo
Дата сообщения: 28.07.2015 18:04
Математически всё просто.
Есть единичный вектор с координатами [0,0,1]. Далее мы поворачиваем его вокруг оси X на угол a, при этом поворачиваются оси Y и Z, потом вокруг новой оси оси Y на угол b, потом вокруг новой оси Z на угол с. В итоге имеем единичный вектор с координатами [l,m,n]

нужно найти углы a,b,c

Цитата из Zemax, как этот поворот осуществляется
"Zemax tilts about the local x axis (which rotates the y and z axes to new orientations), then tilts about the new y axis (which rotates the x and z axes), then finally tilts about the new z axis"

Может я что-то напутал и неверно понял.

Буду блаодарен за любую помощь, так как что-то подвис.

Автор: Igorr
Дата сообщения: 28.07.2015 18:46
При такой постановке задачи, вектор как ни крути, он будет иметь координаты [0,0,1]. Подразумеваю, что координаты вектора имеются ввиду не в системе координат XYZ, а в некоей неподвижной системе координат, так?

Добавлено:
Попробую так:

Дано:
1) неподвижная система координат (СК) (X0,Y0,Z0);
2) плоскость со связанной СК (X',Y',Z'): направление осей X' и Y' - произвольно, ось Z' имеет координаты [x0,y0,z0] в СК (X0,Y0,Z0);
3) плоскость последовательно поворачивается вокруг осей X', Y', Z' на соответствующие углы a,b,c ==> имеем координаты оси Z' в СК (X0,Y0,Z0), равные [l,m,n].

Найти: углы поворотов a,b,c.

Задача такая?
Автор: Cano_J
Дата сообщения: 28.07.2015 19:17

Цитата:
Есть единичный вектор с координатами [0,0,1]. Далее мы поворачиваем его вокруг оси X на угол a, при этом поворачиваются оси Y и Z,  потом вокруг новой оси оси Y на угол b, потом вокруг новой оси Z на угол с. В итоге имеем единичный вектор с координатами [l,m,n]

Возможно не понял вопрос. можно связать несколько объектов и последним будет излучатель которые находится внутри polar detector. Ориентировать его нужным образом.
Автор: paparazzo
Дата сообщения: 28.07.2015 20:29

Цитата:
Ориентировать его нужным образом.


Так в этом и проблема. Исходные данные взяты из последовательного режима, это направляющие косинусы или про простому вектор. Углы поворота для непоследовательного режима неизвестны, т.е. я должен найти их, это графы Tilt about X, Tilt about Y, tilt about Z.

Причем в последовательном фигурируют главные лучи, их косинусы, а не повороты объектов.

Добавлено:

Цитата:
При такой постановке задачи, вектор как ни крути, он будет иметь координаты [0,0,1]. Подразумеваю, что координаты вектора имеются ввиду не в системе координат XYZ, а в некоей неподвижной системе координат, так?
 
Добавлено:
Попробую так:
 
Дано:
1) неподвижная система координат (СК) (X0,Y0,Z0);
2) плоскость со связанной СК (X',Y',Z'): направление осей X' и Y' - произвольно, ось Z' имеет координаты [x0,y0,z0] в СК (X0,Y0,Z0);
3) плоскость последовательно поворачивается вокруг осей X', Y', Z' на соответствующие углы a,b,c  ==> имеем координаты оси Z' в СК (X0,Y0,Z0), равные [l,m,n].
 
Найти: углы поворотов a,b,c.
 
Задача такая?


Да, всё задается в исходной системе координат, координаты вектора так и есть в СК (X0, Y0, Z0). Просто вращение происходит хитрым образом, как описано выше. Я так понялсуть этого вращения из справки Zemax.
Т.е. если взять например объект луч в непоследовательном, и задать все повороты по 45 градусов, то луч не будет по центру соответвующего квадранта. Т.е. по сути это доказывает такие хитрые повороты.

Т.е. первый поворот есть поворот вокруг оси X0, но второй поворот вокруг оси Y1 которая повернута относительно X0, Z1 при этом есть повернутая Z0. Далее при вращении вокруг Y1 получаем ось Z2, последний поворот на угол c вокруг Z2 (Z2 это есть Z0 повернутая на углы a вокруг X0, и на b вокруг Y1).

Как я понял вращение происходит согласно матрице поворота http://dic.academic.ru/dic.nsf/ruwiki/1028815
Автор: Igorr
Дата сообщения: 28.07.2015 21:06
paparazzo, не запутывайте условие задачи
Цитата:
Т.е. первый поворот есть поворот вокруг оси X0, но второй поворот вокруг оси Y1 которая повернута относительно X0, Z1 при этом есть повернутая Z0
Вам нужен математический результат - так давайте и будем придерживаться математических формулировок, иначе можно много рассуждать "вокруг да около". Пункты 1),2),3), перечисленные мной, соответствуют действительности?

Ещё уточнения: координаты [x0,y0,z0] и [l,m,n] известны, а неизвестны только a,b,c; и думаю, направление оси Z' совпадает с нормалью к плоскости.

Если все так, то могу приступить к решению этой задачи. В каком виде желательно предоставить результат?
Автор: paparazzo
Дата сообщения: 28.07.2015 21:42

Цитата:
Пункты 1),2),3), перечисленные мной, соответствуют действительности?


По пунктам:
1) Да, есть неподвижная система координат в которой определены координаты векторов исходного [0,0,1] и повернутого [l,m,n]. Соответствует.
2.) Я не совсем понял вашу формулировку с плоскостью, думаю что не так. Поворачивается то вектор [x0,y0,z0], а не плоскость. Т.е. если есть плоскость со связанной системой координат X', Y',Z', то эта система координат совпадает с CK (X0,Y0,Z0) изначально, до всех поворотов. Оси X'=X0, Y'=Y0, Z'=Z0
3) При повороте на угол a получаем повёрнутую систему координат плоскости X',Y',Z'. При этом после поворота ось X' всё ещё совпадает с осью X0, оси Y' и Y0, Z' и Z0 не совпадают. Далее вращаем на угол b вокруг уже повернутой Y'.
Ну и вращение на угол с ничего не даёт, т.к. вектор изначально совпадает с осью Z, потом совпадает с осью Z'

Имеем координаты вектора [l,m,n] после всех этих поворотов в исходной системе координат (X0,Y0,Z0). Его длина при этом не изменилась.

И как я понял в вашей формулировке [x0,y0,z0] и есть вектор [0,0,1]


Цитата:
Если все так, то могу приступить к решению этой задачи. В каком виде желательно предоставить результат?


Желательно конечно иметь формулы связи a,b,c и l,m,n, либо систему уравнений с неизвестными a,b,c решаемую численно.

Добавлено:
При понимании поворотов я руководствовался разъяснением из справки Zemax:

Each object’s position is defined by 6 parameters: the x, y, and z coordinates, and the rotation about the x, y, and z axes. Zemax first decenters in x, y, and z (decenters are orthogonal so the order does not matter). Then Zemax tilts about the local x axis (which rotates the y and z axes to new orientations), then tilts about the new y axis (which rotates the x and z axes), then finally tilts about the new z axis.
Автор: Cano_J
Дата сообщения: 28.07.2015 21:56

Цитата:
Углы поворота для непоследовательного режима неизвестны, т.е. я должен найти их, это графы Tilt about X, Tilt about Y, tilt about Z.

на странице 38 руководства 10 года, случайно не искомая Вами связь?

во сколько бы времени Вы оценили разработку подобного объектива?
Zeiss 21mm f/2.8 ZM
Number of elements/groups 9/7
Angular field, diag./horiz./vert. 90°/80°/58°
Dimensions (with caps) ø 53 mm, length 75 mm
асферик нет
Автор: Igorr
Дата сообщения: 29.07.2015 02:10
paparazzo, понял; на этой неделе сделаю.

Добавлено:
paparazzo
Сделал.
При начальном совпадении CK (X0,Y0,Z0) и (X',Y',Z') (как требовалось) получилось это:
l = sin(b)
m = -sin(a)*cos(b)
n = cos(a)*cos(b)
Решать можно любые два ур-ия.
Если нужна зависимость [l,m,n] в общем виде при произвольной начальной ориентации (X',Y',Z') относительно (X0,Y0,Z0), то могу дать и ее.
Автор: paparazzo
Дата сообщения: 29.07.2015 07:49
Igorr

Спасибо! В общем виде тоже бы неплохо.

Добавлено:

Цитата:
на странице 38 руководства 10 года, случайно не искомая Вами связь?


Нет. на странице 38 совсем другие углы фигурируют.
Автор: Igorr
Дата сообщения: 29.07.2015 15:04
paparazzo

Цитата:
В общем виде тоже бы неплохо

Пусть начальные направляющие косинусы осей СК (X',Y',Z') в (X0,Y0,Z0) есть:
ось X' : Xx, Xy, Xz
ось Y' : Yx, Yy, Yz
ось Z' : Zx, Zy, Zz
Тогда направляющие косинусы Lx,Ly,Lz оси Z' после всех поворотов (вектор [l,m,n]):
Lv = Xv*sin(b) + (-Yv*sin(a)+Zv*cos(a))*cos(b)
v - индекс, равный x, y, z

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378

Предыдущая тема: Maxthon 3.x - быстрый и мощный браузер


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.