Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Программы для разработки, тестирования оптических систем

Модерирует : gyra, Maz

Maz (02-03-2017 13:42): Программы для разработки, тестирования оптических систем. Часть 3  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что есть нового в мире оптики?
рекламируем себя,
обсуждаем проблемы...предлагаем решения...
 
оптика обсуждается и на этих страничках:
http://physics.nad.ru/cgi-bin/forum.pl?forum=opt
http://groups.google.com/group/sci.optics/
 
Вопросы по варезу тут:
http://forum.ru-board.com/topic.cgi?forum=35&bm=1&topic=4999
По стандартам есть также специальная тема:
http://forum.ru-board.com/topic.cgi?forum=93&bm=1&topic=0348&start=1520#lt
 
Список имеющихся книг по оптической тематике http://optdesign.narod.ru/optic_book_.htm  обновлено 15.10.2014
Большинство из них можно найти на сайтах gigapedia.org, optdesign.narod.ru, poiskknig.ru,
optical-help.info, gen.lib.rus.ec
На книголюбе Подробнее... лежат все из списка. Постепенно список обновляется....  
 
На трекере
Подробнее...
 
Японский форум по Zemax
 
Optical Design with Zemax
 
Optical design with Zemax for PhD
 
Лекции по оптике и др.
 
Первая часть темы здесь
http://forum.ru-board.com/topic.cgi?forum=5&topic=14470&start=0#lt

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 11:19 23-11-2010 | Исправлено: Maz, 13:38 02-03-2017
A_P_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ждём источник!

Всего записей: 673 | Зарегистр. 23-06-2009 | Отправлено: 19:54 18-05-2012
Galina0701



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
в одной классической книге (к сожалению не помню название и автора) было написано что оптимизация с этими углами работает лучше чем с радиусами по причине...которую я тоже забыл)

Насколько я знаю, была в свое время статья, среди авторов которой был А.П.Грамматин. В статье, если мне не изменяет память, говорилось, что оптимизация углами первого параксиального луча идет заметно быстрее (это на тех машинах, в те годы), второе преимущество - что удобно сохранять некоторые условия: например, параллельный ход лучей между компонентами внутри системы, апланатичность поверхностей и т.п.  
Возможно, речь идет о справочнике "Вычислительная оптика", где главу об оптимизации писал как раз Грамматин.

Всего записей: 59 | Зарегистр. 09-10-2007 | Отправлено: 21:49 18-05-2012
Cano_J

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да похоже оттуда. стр 262 глава 22,4
"Непосредственное использование r_i в качестве коррекционных параметров нерационально, т.к. при r_i= бесконечности производные от корригируемых функций по r_i обращаются в 0, в результате чего данный радиус перестает изменяться, а следовательно быть коррекционным параметром."
 
"Однако на практике использование а_i в качестве коррекционных параметров является предпочтительным и дает лучшие результаты чем использование p_i."
 
как то так)
 

Цитата:
 я их пишу

paparazzo, а можете привести примеры ваших макросов?)

Всего записей: 253 | Зарегистр. 09-10-2010 | Отправлено: 00:28 19-05-2012 | Исправлено: Cano_J, 00:38 19-05-2012
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
paparazzo, а можете привести примеры ваших макросов?)

 
К сожалению нет...
Те что писал по заказу - запрещено показывать еще 3 года.
Те что для себя - для расчета осветителей и т.п., слишком специфичны.
 
Редактор - ConText Editor, он понимает команды zpl и выделяет разным цветом
 
Но могу лично для вас написать
 
Добавлено:
хотя вот, попроще
 

Код:
!
 
INPUT "Введите номер объекта ", obj
INPUT "Введите новое количество точек (от 3 до 40) ", Nnew
INPUT "Enter parameter # start", STRT_PAR
STRT_PAR=STRT_PAR-1
INPUT "Enter initial points number", Nold
dummy = NPRO(1, obj, 1, 0)
a$ = $buffer()
 
 
!Nold=NPAR(1,obj,4) #старые точки
length=NPAR(1,obj,6)  #длина
 
DECLARE  xa,DOUBLE,1,Nold+1
DECLARE bz, DOUBLE,1,40
 
FOR i,1,Nold,1
 xa(i)=NPAR(1,obj,i+STRT_PAR)
 PRINT xa(i)
NEXT i
PAUSE
 
IF (Nold == 3)
bz(1) = 1
bz(2) = 2
bz(3) = 1
ENDIF
 
IF (Nold == 4)
bz(1) = 1
bz(2) = 3
bz(3) = 3
bz(4) = 1
ENDIF
 
IF (Nold == 5)
bz(1) = 1
bz(2) = 4
bz(3) = 6
bz(4) = 4
bz(5) = 1
ENDIF
 
IF (Nold == 6)
bz(1) = 1
bz(2) = 5
bz(3) = 10
bz(4) = 10
bz(5) = 5  
bz(6) = 1  
ENDIF
 
IF (Nold == 7)
bz(1) = 1
bz(2) = 6  
bz(3) = 15  
bz(4) = 20  
bz(5) = 15  
bz(6) = 6  
bz(7) = 1  
ENDIF
 
IF (Nold == 8)
bz(1) = 1
bz(2) = 7  
bz(3) = 21  
bz(4) = 35  
bz(5) = 35  
bz(6) = 21  
bz(7) = 7
bz(8) = 1
ENDIF
 
IF (Nold == 9)
 
bz(1) = 1
bz(2) = 8
bz(3) = 28  
bz(4) = 56  
bz(5) = 70  
bz(6) = 56  
bz(7) = 28  
bz(8) = 8  
bz(9) = 1
ENDIF
 
IF (Nold == 10)
bz(1) = 1
bz(2) = 9  
bz(3) = 36  
bz(4) = 84  
bz(5) = 126  
bz(6) = 126  
bz(7) = 84  
bz(8) = 36  
bz(9) = 9  
bz(10) = 1  
ENDIF
 
IF (Nold == 11)
bz(1) = 1
bz(2) = 10  
bz(3) = 45  
bz(4) = 120  
bz(5) = 210  
bz(6) = 252  
bz(7) = 210  
bz(8) = 120  
bz(9) = 45  
bz(10) = 10  
bz(11) = 1  
ENDIF
 
IF (Nold == 12)
bz(1) = 1
bz(2) = 11  
bz(3) = 55  
bz(4) = 165  
bz(5) = 330  
bz(6) = 462  
bz(7) = 462  
bz(8) = 330  
bz(9) = 165  
bz(10) = 55  
bz(11) = 11 bz(12) = 1  
ENDIF
 
IF (Nold == 13)
bz(1) = 1
bz(2) = 12  
bz(3) = 66  
bz(4) = 220  
bz(5) = 495  
bz(6) = 792  
bz(7) = 924  
bz(8) = 792  
bz(9) = 495  
bz(10) = 220  
bz(11) = 66  
bz(12) = 12  
bz(13) = 1
ENDIF
 
IF (Nold == 14)
bz(1)=1
bz(2)=13  
bz(3)=78  
bz(4)=286  
bz(5)=715  
bz(6)=1287  
bz(7)=1716  
bz(14)=1  
bz(13)=13  
bz(12)=78  
bz(11)=286  
bz(10)=715  
bz(9)=1287  
bz(8)=1716
ENDIF
 
IF (Nold == 15)
bz(1)=1
bz(2)=14
bz(3)=91
bz(4)=364
bz(5)=1001
bz(6)=2002
bz(7)=3003
bz(15)=1  
bz(14)=14  
bz(13)=91  
bz(12)=364  
bz(11)=1001  
bz(10)=2002  
bz(9)=3003  
bz(8)=3432  
ENDIF
 
IF (Nold == 16)
bz(1)=1  
bz(2)=15  
bz(3)=105  
bz(4)=455  
bz(5)=1365  
bz(6)=3003  
bz(7)=5005  
bz(8)=6435  
bz(16)=1  
bz(15)=15  
bz(14)=105  
bz(13)=455  
bz(12)=1365  
bz(11)=3003  
bz(10)=5005
bz(9)=6435  
ENDIF
 
IF (Nold == 17)
bz(1)=1  
bz(2)=16  
bz(3)=120  
bz(4)=560  
bz(5)=1820  
bz(6)=4368  
bz(7)=8008  
bz(8)=11440  
bz(9)=12870  
bz(17)=1  
bz(16)=16  
bz(15)=120  
bz(14)=560  
bz(13)=1820  
bz(12)=4368  
bz(11)=8008  
bz(10)=11440  
ENDIF
 
IF (Nold == 18)
bz(1)=1  
bz(2)=17  
bz(3)=136  
bz(4)=680  
bz(5)=2380  
bz(6)=6188  
bz(7)=12376  
bz(8)=19448  
bz(9)=24310  
bz(18)=1  
bz(17)=17  
bz(16)=136  
bz(15)=680  
bz(14)=2380  
bz(13)=6188  
bz(12)=12376  
bz(11)=19448  
bz(10)=24310  
ENDIF
 
IF (Nold == 19)
bz(1)=1  
bz(2)=18  
bz(3)=153  
bz(4)=816  
bz(5)=3060  
bz(6)=8568  
bz(7)=18564  
bz(8)=31824  
bz(9)=43758  
bz(10)=48620  
bz(19)=1  
bz(18)=18  
bz(17)=153  
bz(16)=816  
bz(15)=3060  
bz(14)=8568  
bz(13)=18564  
bz(12)=31824  
bz(11)=43758  
ENDIF
 
IF (Nold == 20)
bz(1)=1  
bz(2)=19  
bz(3)=171  
bz(4)=969  
bz(5)=3876  
bz(6)=11628  
bz(7)=27132  
bz(8)=50388  
bz(9)=75582  
bz(10)=92378  
bz(20)=1
bz(19)=19
bz(18)=171  
bz(17)=969  
bz(16)=3876  
bz(15)=11628  
bz(14)=27132  
bz(13)=50388  
bz(12)=75582  
bz(11)=92378  
ENDIF
 
IF (Nold == 21)
bz(1)=1  
bz(2)=20  
bz(3)=190  
bz(4)=1140  
bz(5)=4845  
bz(6)=15504  
bz(7)=38760  
bz(8)=77520  
bz(9)=125970  
bz(10)=167960  
bz(21)=1  
bz(20)=20  
bz(19)=190  
bz(18)=1140  
bz(17)=4845  
bz(16)=15504  
bz(15)=38760  
bz(14)=77520  
bz(13)=125970  
bz(12)=167960  
bz(11)=184756  
ENDIF
PRINT "Pass 21"
IF (Nold == 22)
bz(1)=1  
bz(2)=21  
bz(3)=210  
bz(4)=1330  
bz(5)=5985  
bz(6)=20349  
bz(7)=54264  
bz(8)=116280  
bz(9)=203490  
bz(10)=293930  
bz(11)=352716  
bz(22)=1  
bz(21)=21  
bz(20)=210  
bz(19)=1330  
bz(18)=5985  
bz(17)=20349  
bz(16)=54264  
bz(15)=116280  
bz(14)=203490  
bz(13)=293930  
bz(12)=352716  
ENDIF
 
IF (Nold == 23)
bz(1)=1  
bz(2)=22  
bz(3)=231  
bz(4)=1540  
bz(5)=7315  
bz(6)=26334  
bz(7)=74613  
bz(8)=170544  
bz(9)=319770  
bz(10)=497420  
bz(11)=646646  
bz(23)=1  
bz(22)=22  
bz(21)=231  
bz(20)=1540  
bz(19)=7315  
bz(18)=26334  
bz(17)=74613  
bz(16)=170544  
bz(15)=319770  
bz(14)=497420  
bz(13)=646646  
bz(12)=705432  
ENDIF
 
IF (Nold == 24)
bz(1)=1  
bz(2)=23  
bz(3)=253  
bz(4)=1771  
bz(5)=8855  
bz(6)=33649  
bz(7)=100947  
bz(8)=245157  
bz(9)=490314  
bz(10)=817190  
bz(11)=1144066
bz(12)=1352078
bz(24)=1  
bz(23)=23  
bz(22)=253  
bz(21)=1771  
bz(20)=8855  
bz(19)=33649  
bz(18)=100947  
bz(17)=245157  
bz(16)=490314  
bz(15)=817190  
bz(14)=1144066  
bz(13)=1352078  
ENDIF
 
IF (Nold == 25)
bz(1)=1  
bz(2)=24  
bz(3)=276  
bz(4)=2024  
bz(5)=10626  
bz(6)=42504  
bz(7)=134596  
bz(8)=346104  
bz(9)=735471  
bz(10)=1307504  
bz(11)=1961256  
bz(12)=2496144  
bz(25)=1  
bz(24)=24  
bz(23)=276  
bz(22)=2024  
bz(21)=10626  
bz(20)=42504  
bz(19)=134596  
bz(18)=346104  
bz(17)=735471  
bz(16)=1307504  
bz(15)=1961256  
bz(14)=2496144  
bz(13)=2704156  
ENDIF
 
IF (Nold == 26)
bz(1)=1  
bz(2)=25  
bz(3)=300  
bz(4)=2300  
bz(5)=12650  
bz(6)=53130  
bz(7)=177100  
bz(8)=480700  
bz(9)=1081575  
bz(10)=2042975  
bz(11)=3268760  
bz(12)=4457400  
bz(13)=5200300  
bz(26)=1  
bz(25)=25  
bz(24)=300  
bz(23)=2300  
bz(22)=12560  
bz(21)=53130  
bz(20)=177100  
bz(19)=480700  
bz(18)=1081575  
bz(17)=2042975  
bz(16)=3268760  
bz(15)=4457400  
bz(14)=5200300  
ENDIF
 
IF (Nold == 27)
bz(1)=1  
bz(2)=26  
bz(3)=325  
bz(4)=2600  
bz(5)=14950  
bz(6)=65780  
bz(7)=230230  
bz(8)=657800  
bz(9)=1562275  
bz(10)=3124550  
bz(11)=5311735  
bz(12)=7726160  
bz(13)=9657700  
bz(27)=1  
bz(26)=26  
bz(25)=325  
bz(24)=2600  
bz(23)=14950  
bz(22)=65780  
bz(21)=230230  
bz(20)=657800  
bz(19)=1562275  
bz(18)=3124550  
bz(17)=5311735  
bz(16)=7726160  
bz(15)=9657700  
bz(14)=10400600  
ENDIF
 
IF (Nold == 28)
bz(1)=1  
bz(2)=27  
bz(3)=351  
bz(4)=2925  
bz(5)=17550  
bz(6)=80730  
bz(7)=296010  
bz(8)=888030  
bz(9)=2220075  
bz(10)=4686825  
bz(11)=8436285  
bz(12)=13037895  
bz(13)=17383860  
bz(14)=20058300  
bz(28)=1  
bz(27)=27  
bz(26)=351  
bz(25)=2925  
bz(24)=17550  
bz(23)=80730  
bz(22)=296010  
bz(21)=888030  
bz(20)=2220075  
bz(19)=4686825  
bz(18)=8436285  
bz(17)=13037895  
bz(16)=17383860  
bz(15)=20058300  
ENDIF
 
IF (Nold == 29)
bz(1)=1  
bz(2)=28  
bz(3)=378  
bz(4)=3276  
bz(5)=20475  
bz(6)=98280  
bz(7)=376740  
bz(8)=1184040  
bz(9)=3108105  
bz(10)=6906900  
bz(11)=13123110  
bz(12)=21474180  
bz(13)=30421755  
bz(14)=37442160  
bz(29)=1  
bz(28)=28  
bz(27)=378  
bz(26)=3276  
bz(25)=20475  
bz(24)=98280  
bz(23)=376740  
bz(22)=1184040  
bz(21)=3108105  
bz(20)=6906900  
bz(19)=13123110  
bz(18)=21474180  
bz(17)=30421755  
bz(16)=37442160  
bz(15)=40116600  
ENDIF
 
IF (Nold == 30)
bz(1)=1  
bz(2)=29  
bz(3)=406  
bz(4)=3654  
bz(5)=23751  
bz(6)=118755  
bz(7)=475020  
bz(8)=1560780  
bz(9)=4292145  
bz(10)=10015005  
bz(11)=20030010  
bz(12)=34597290  
bz(13)=51895935  
bz(14)=67863915  
bz(15)=77558760  
bz(30)=1  
bz(29)=29  
bz(28)=406  
bz(27)=3654  
bz(26)=23751  
bz(25)=118755  
bz(24)=475020  
bz(23)=1560780  
bz(22)=4292145
bz(21)=10015005  
bz(20)=20030010  
bz(19)=34597290  
bz(18)=51895935  
bz(17)=67863915  
bz(16)=77558760  
ENDIF
 
IF (Nold == 31)
bz(1) = 1
bz(2) = 30  
bz(3) = 435  
bz(4) = 4060  
bz(5) = 27405  
bz(6) = 142506  
bz(7) = 593775  
bz(8) = 2035800  
bz(9) = 5852925  
bz(10) = 14307150  
bz(11) = 30045015  
bz(12) = 54627300  
bz(13) = 86493225  
bz(14) = 119759850  
bz(15) = 145422675  
bz(16) = 155117520  
bz(17) = 145422675  
bz(18) = 119759850  
bz(19) = 86493225  
bz(20) = 54627300  
bz(21) = 30045015  
bz(22) = 14307150  
bz(23) = 5852925  
bz(24) = 2035800  
bz(25) = 593775  
bz(26) = 142506  
bz(27) = 27405  
bz(28) = 4060  
bz(29) = 435  
bz(30) = 30  
bz(31) = 1
ENDIF
 
IF (Nold == 32)
bz(1) = 1
bz(2) = 31  
bz(3) = 465  
bz(4) = 4495  
bz(5) = 31465  
bz(6) = 169911  
bz(7) = 736281  
bz(8) = 2629575  
bz(9) = 7888725  
bz(10) = 20160075  
bz(11) = 44352165  
bz(12) = 84672315  
bz(13) = 141120525  
bz(14) = 206253075  
bz(15) = 265182525  
bz(16) = 300540195  
bz(17) = 300540195  
bz(18) = 265182525  
bz(19) = 206253075  
bz(20) = 141120525  
bz(21) = 84672315  
bz(22) = 44352165  
bz(23) = 20160075  
bz(24) = 7888725  
bz(25) = 2629575  
bz(26) = 736281  
bz(27) = 169911  
bz(28) = 31465  
bz(29) = 4495  
bz(30) = 465  
bz(31) = 31  
bz(32) = 1
ENDIF
 
IF (Nold == 33)
bz(1) = 1
bz(2) = 32  
bz(3) = 496  
bz(4) = 4960  
bz(5) = 35960  
bz(6) = 201376  
bz(7) = 906192  
bz(8) = 3365856  
bz(9) = 10518300  
bz(10) = 28048800  
bz(11) = 64512240  
bz(12) = 129024480  
bz(13) = 225792840  
bz(14) = 347373600  
bz(15) = 471435600  
bz(16) = 565722720  
bz(17) = 601080390  
bz(18) = 565722720  
bz(19) = 471435600  
bz(20) = 347373600  
bz(21) = 225792840  
bz(22) = 129024480  
bz(23) = 64512240  
bz(24) = 28048800  
bz(25) = 10518300  
bz(26) = 3365856  
bz(27) = 906192  
bz(28) = 201376  
bz(29) = 35960  
bz(30) = 4960  
bz(31) = 496  
bz(32) = 32  
bz(33) = 1  
ENDIF
 
IF (Nold == 34)
bz(1) = 1
bz(2) = 33  
bz(3) = 528  
bz(4) = 5456  
bz(5) = 40920  
bz(6) = 237336  
bz(7) = 1107568  
bz(8) = 4272048  
bz(9) = 13884156  
bz(10) = 38567100  
bz(11) = 92561040  
bz(12) = 193536720  
bz(13) = 354817320  
bz(14) = 573166440  
bz(15) = 818809200  
bz(16) = 1037158320  
bz(17) = 1166803110  
bz(18) = 1166803110  
bz(19) = 1037158320  
bz(20) = 818809200  
bz(21) = 573166440  
bz(22) = 354817320  
bz(23) = 193536720  
bz(24) = 92561040  
bz(25) = 38567100  
bz(26) = 13884156  
bz(27) = 4272048  
bz(28) = 1107568  
bz(29) = 237336  
bz(30) = 40920  
bz(31) = 5456  
bz(32) = 528  
bz(33) = 33  
bz(34) = 1  
ENDIF
 
IF (Nold == 35)
bz(1) = 1
bz(2) = 34  
bz(3) = 561  
bz(4) = 5984  
bz(5) = 46376  
bz(6) = 278256  
bz(7) = 1344904  
bz(8) = 5379616  
bz(9) = 18156204  
bz(10) = 52451256  
bz(11) = 131128140  
bz(12) = 286097760  
bz(13) = 548354040  
bz(14) = 927983760  
bz(15) = 1391975640  
bz(16) = 1855967520  
bz(17) = 2203961430  
bz(18) = 2333606220  
bz(19) = 2203961430  
bz(20) = 1855967520  
bz(21) = 1391975640  
bz(22) = 927983760  
bz(23) = 548354040  
bz(24) = 286097760  
bz(25) = 131128140  
bz(26) = 52451256  
bz(27) = 18156204  
bz(28) = 5379616  
bz(29) = 1344904  
bz(30) = 278256  
bz(31) = 46376  
bz(32) = 5984  
bz(33) = 561  
bz(34) = 34  
bz(35) = 1  
ENDIF
 
IF (Nold == 36)
bz(1) = 1
bz(2) = 35  
bz(3) = 595  
bz(4) = 6545  
bz(5) = 52360  
bz(6) = 324632  
bz(7) = 1623160  
bz(8) = 6724520  
bz(9) = 23535820  
bz(10) = 70607460  
bz(11) = 183579396  
bz(12) = 417225900  
bz(13) = 834451800  
bz(14) = 1476337800  
bz(15) = 2319959400  
bz(16) = 3247943160  
bz(17) = 4059928950  
bz(18) = 4537567650  
bz(19) = 4537567650  
bz(20) = 4059928950  
bz(21) = 3247943160  
bz(22) = 2319959400  
bz(23) = 1476337800  
bz(24) = 834451800  
bz(25) = 417225900  
bz(26) = 183579396  
bz(27) = 70607460  
bz(28) = 23535820  
bz(29) = 6724520  
bz(30) = 1623160  
bz(31) = 324632  
bz(32) = 52360  
bz(33) = 6545  
bz(34) = 595  
bz(35) = 35  
bz(36) = 1  
ENDIF
 
IF (Nold == 37)
bz(1) = 1
bz(2) = 36  
bz(3) = 630  
bz(4) = 7140  
bz(5) = 58905  
bz(6) = 376992  
bz(7) = 1947792  
bz(8) = 8347680  
bz(9) = 30260340  
bz(10) = 94143280  
bz(11) = 254186856  
bz(12) = 600805296  
bz(13) = 1251677700  
bz(14) = 2310789600  
bz(15) = 3796297200  
bz(16) = 5567902560  
bz(17) = 7307872110  
bz(18) = 8597496600  
bz(19) = 9075135300  
bz(20) = 8597496600  
bz(21) = 7307872110  
bz(22) = 5567902560  
bz(23) = 3796297200  
bz(24) = 2310789600  
bz(25) = 1251677700  
bz(26) = 600805296  
bz(27) = 254186856  
bz(28) = 94143280  
bz(29) = 30260340  
bz(30) = 8347680  
bz(31) = 1947792  
bz(32) = 376992  
bz(33) = 58905  
bz(34) = 7140  
bz(35) = 630  
bz(36) = 36  
bz(37) = 1  
ENDIF
 
IF (Nold == 38)
bz(1) = 1
bz(2) = 37  
bz(3) = 666  
bz(4) = 7770  
bz(5) = 66045  
bz(6) = 435897  
bz(7) = 2324784  
bz(8) = 10295472  
bz(9) = 38608020  
bz(10) = 124403620  
bz(11) = 348330136  
bz(12) = 854992152  
bz(13) = 1852482996  
bz(14) = 3562467300  
bz(15) = 6107086800  
bz(16) = 9364199760  
bz(17) = 12875774670  
bz(18) = 15905368710  
bz(19) = 17672631900  
bz(20) = 17672631900  
bz(21) = 15905368710  
bz(22) = 12875774670  
bz(23) = 9364199760  
bz(24) = 6107086800  
bz(25) = 3562467300  
bz(26) = 1852482996  
bz(27) = 854992152  
bz(28) = 348330136  
bz(29) = 124403620  
bz(30) = 38608020  
bz(31) = 10295472  
bz(32) = 2324784  
bz(33) = 435897  
bz(34) = 66045  
bz(35) = 7770  
bz(36) = 666  
bz(37) = 37  
bz(38) = 1  
ENDIF
 
IF (Nold == 39)
bz(1) = 1
bz(2) = 38  
bz(3) = 703  
bz(4) = 8436  
bz(5) = 73815  
bz(6) = 501942  
bz(7) = 2760681  
bz(8) = 12620256  
bz(9) = 48903492  
bz(10) = 163011640  
bz(11) = 472733756  
bz(12) = 1203322288  
bz(13) = 2707475148  
bz(14) = 5414950296  
bz(15) = 9669554100  
bz(16) = 15471286560
bz(17) = 22239974430  
bz(18) = 28781143380  
bz(19) = 33578000610  
bz(20) = 35345263800  
bz(21) = 33578000610  
bz(22) = 28781143380  
bz(23) = 22239974430  
bz(24) = 15471286560  
bz(25) = 9669554100  
bz(26) = 5414950296  
bz(27) = 2707475148  
bz(28) = 1203322288  
bz(29) = 472733756  
bz(30) = 163011640  
bz(31) = 48903492  
bz(32) = 12620256  
bz(33) = 2760681  
bz(34) = 501942  
bz(35) = 73815  
bz(36) = 8436  
bz(37) = 703  
bz(38) = 38  
bz(39) = 1  
ENDIF
 
IF (Nold == 40)
bz(1) = 1
bz(2) = 39
bz(3) = 741
bz(4) = 9139
bz(5) = 82251
bz(6) = 575757
bz(7) = 3262623
bz(8) = 15380937
bz(9) = 61523748
bz(10) = 211915132
bz(11) = 635745396
bz(12) = 1676056044
bz(13) = 3910797436
bz(14) = 8122425444
bz(15) = 15084504396
bz(16) = 25140840660
bz(17) = 37711260990
bz(18) = 51021117810
bz(19) = 62359143990
bz(20) = 68923264410
bz(21) = 68923264410
bz(22) = 62359143990
bz(23) = 51021117810
bz(24) = 37711260990
bz(25) = 25140840660
bz(26) = 15084504396
bz(27) = 8122425444
bz(28) = 3910797436
bz(29) = 1676056044
bz(30) = 635745396
bz(31) = 211915132
bz(32) = 61523748
bz(33) = 15380937
bz(34) = 3262623
bz(35) = 575757
bz(36) = 82251
bz(37) = 9139
bz(38) = 741
bz(39) = 39
bz(40) = 1
ENDIF
 
interval=length/(Nnew-1)
FOR k,1,Nnew,1
 
   xv=0
   t=interval*(k-1)/length
   FOR j,0,Nold-1,1
      xv=xv+bz(j+1)*xa(j+1)*POWR(t,j)*POWR(1-t,Nold-j-1)
   NEXT j
 
   SETNSCPARAMETER 1, obj, STRT_PAR+k, xv
 
   PRINT "Новая точка  ", k, "  ", xv
NEXT k
SETNSCPARAMETER 1, obj, 4, Nnew
 
 
LABEL 1
 

Всего записей: 3775 | Зарегистр. 06-04-2003 | Отправлено: 10:26 19-05-2012 | Исправлено: paparazzo, 10:30 19-05-2012
Cano_J

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ого)
я имел ввиду для каких задач используете)
в данный момент плохо представить могу, чего земаксу не хватает)
 
т.е. у вас заказали один оптимизатор? без оптической системы? или вы при расчете его написали?

Всего записей: 253 | Зарегистр. 09-10-2010 | Отправлено: 10:44 19-05-2012
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
т.е. у вас заказали один оптимизатор? без оптической системы? или вы при расчете его написали?

 
Нет, оптимизатор не заказывали. Хотя можно реализовать, медленно считать будет.
 
Вообще есть функции не реализованные в Zemax, их хватает.
Но которые можно описать макросом.
 
Я пишу макросы для обслуживание своих UDO.

Всего записей: 3775 | Зарегистр. 06-04-2003 | Отправлено: 11:10 19-05-2012
Cano_J

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
оптимизатор не заказывали

ой, макрос хотел написать)
 
а на каких системах вы специализируетесь?

Всего записей: 253 | Зарегистр. 09-10-2010 | Отправлено: 11:22 19-05-2012 | Исправлено: Cano_J, 11:23 19-05-2012
yevogre



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Коллеги!
Застрял на проблеме, просто туплю.....
При проектировании афокальной зум-системы никак не могу определиться с положением диафрагмы.
Суть в том, что размер входного зрачка тоже должен меняться.
Пока делаю вручную, выставляя стопы на разных поверхностях, всё работает.
Но как задать чтобы менялось одновременно?
Что даст задание апертур не автоматически, а вручную?

Всего записей: 1128 | Зарегистр. 22-02-2008 | Отправлено: 14:43 19-05-2012
Barabek

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Коллеги!
Застрял на проблеме, просто туплю.....

 
Что мешает задать в multiconfig размер апертурной диафрагмы тоже переменным, т.е. сделать ирисовую диафрагму? Для определения положения диафрагмы я обычно ставлю ее первой поверхностью и делаю расстояние от диафрагмы до первой преломляющей поверхности системы как variable. После этого смотрю как изменяется положение входного зрачка, выставляю какое-то одно значение, провожу оптимизинг и если всё нормально - помещаю диафрагму внутрь системы, т.е. меняю местами зрачок и диафрагму. Вот примерно такой алгоритм
 

Цитата:
Что даст задание апертур не автоматически, а вручную?

 
Зачем задавать вручную то, что легко может быть посчитано автоматом?

Всего записей: 239 | Зарегистр. 27-04-2007 | Отправлено: 15:20 19-05-2012
ging



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

Отнюдь... Для непоследовательных систем можно спокойно писать - считать будет ничуть не медленнее.

Всего записей: 565 | Зарегистр. 18-09-2003 | Отправлено: 23:14 20-05-2012
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Отнюдь... Для непоследовательных систем можно спокойно писать - считать будет ничуть не медленнее.

 
Хм... Надо попробовать.
У меня просто ZPLM тормознуто работает. даже на простых операциях. В MeritFunction то же считается быстрееч

Всего записей: 3775 | Зарегистр. 06-04-2003 | Отправлено: 00:47 21-05-2012 | Исправлено: paparazzo, 00:48 21-05-2012
brodjagan

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день.
Нужна помощь.
Сейчас занимаюсь изучением литья полимерной оптики.
Для работы необходим пример  оптического элемента.
Желательно конечно еще и чертеж. Но пока хотя бы модель.
Нужен любой объектив с использованием полимерного асферического элемента расчет которого выполнен в CODE V.
И вторичный оптический элемент freeform светодиодного освещения  выполненный в lighttools.
Заранее благодарен

Всего записей: 2 | Зарегистр. 21-05-2012 | Отправлено: 14:38 21-05-2012
Paredam

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Aspirant_Levin
 
Вы же аспирант. У аспирантов задача думать и придумывать.
 
Практически алгоритм для расчета допусков использую следующий:
- грубый анализ, использование Invers Limit. Критерий, как правило - rms spot. Оптимизация - paraxial focus. Поля - X-Y symmetric
- полученные допуски округляются, выбирается критерий Sensitivity. Поля - User defined, критерий - spot. Оптимизация - по всем компенсаторам, только задавайте 5-7 циклов, а то не дождетесь результатов.
- Анализируем результат, допуски ужесточаем для тех параметров, которые сильно выбиваются. Повторяем при необходимости Sensitivity анализ
- Генерим Monte-Carlo файлы. Можно без оптимизации по компенсаторам, а можно с. Количество файлов - от системы, терпения и требований заказчика. Как правило от 50 до 100.  
- Запускаем макрос который оптимизирует или фокусирует каждуй из Monte Carlo файлов по нужному критерию. Например максимальная MTF для точки на оси.
- Запускаем макрос, которыйц анализипует все Monte Carlo файлы и сводит результаты в таблицу. проверяем и вычисляем yield (выход готовых изделий, удовлетворяющих критерию качества). Если мало - ужесточаем допуски, вводим дополнительную юстировку (компенсатор) и все повторяем.
 
По моему опыту, использование критериев типа геометрической MTF - то же самое, что средняя температура по больнице. Поэтому пользуюсь rms Spot - с большим самплингом, иногда - bore sight error, когда это надо.
 
Вопросы?
 
Добавлено:

Цитата:
У меня просто ZPLM тормознуто работает. даже на простых операциях. В MeritFunction то же считается быстрееч

 
Кстати, у меня такая-же штука. Как добавляется макрос в Merit Function - скорость оптимизации резко падает.
 
Как бороться?

Всего записей: 174 | Зарегистр. 06-01-2008 | Отправлено: 16:15 21-05-2012
yevogre



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
По моему опыту, использование критериев типа геометрической MTF - то же самое, что средняя температура по больнице.

Эт точно.
Я предпочитаю Штреля и RMS тоже.

Всего записей: 1128 | Зарегистр. 22-02-2008 | Отправлено: 16:34 21-05-2012
Galina0701



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
доброго времени суток!
Подскажите, пожалуйста :
Параболоид зеркальный, короткофокусный, радиус при вершине -1.5 мм, диаметр 10, предмет размером 1мм в фокусе параболоида, в последовательном режиме Zemax не считает, аберрации для внеосевых точек зашкаливают (кома огромнейшая). Либо надо делать очень небольшой предмет, чтобы увидеть. Оценить при этом, что будет хотя бы с пятном (поставив параксиальную линзу) не получилось.  
В непоследовательном - все более-менее нормально, источник ламбертовский в фокусе параболоида, трассировка идет. Ставлю линзу к такой системе, пятно получается размытым, но не запредельно, потери обозримы.
Вопрос: чему верить? где истина?
 

Всего записей: 59 | Зарегистр. 09-10-2007 | Отправлено: 17:49 21-05-2012
A_P_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Как правило от 50 до 100

Как-то мало. Где-то видел рекомендацию, что желательно N^2 систем

Всего записей: 673 | Зарегистр. 23-06-2009 | Отправлено: 17:54 21-05-2012
Paredam

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Как-то мало.  

 
Возможно. Дело вкуса. Пробовали и большее количество, разница не существенная.
Вопрос, по-моему, в количестве поверхностей в системе.

Всего записей: 174 | Зарегистр. 06-01-2008 | Отправлено: 19:17 21-05-2012
sikd

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Параболоид зеркальный, короткофокусный, радиус при вершине -1.5 мм, диаметр 10, предмет размером 1мм в фокусе параболоида, в последовательном режиме Zemax не считает, аберрации для внеосевых точек зашкаливают (кома огромнейшая). Либо надо делать очень небольшой предмет, чтобы увидеть. Оценить при этом, что будет хотя бы с пятном (поставив параксиальную линзу) не получилось.  
В непоследовательном - все более-менее нормально, источник ламбертовский в фокусе параболоида, трассировка идет. Ставлю линзу к такой системе, пятно получается размытым, но не запредельно, потери обозримы.  

 
Считать - считает. Вообще, мне кажется задавая подобные вопросы и надеясь получить ответ надо прикладывать zemax файлы. Так проще тем, кто готов тратить своё время чтобы помочь.

Всего записей: 298 | Зарегистр. 30-03-2005 | Отправлено: 23:02 21-05-2012
ging



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Кстати, у меня такая-же штука. Как добавляется макрос в Merit Function - скорость оптимизации резко падает.
 
Как бороться

Никак. Я говорил про алгоритмы оптимизации. Без проблем пишутся на ZPL и работают довольно-таки быстро. А вот макросы в MF - да, сплошные тормоза. Хотя иногда нет другого пути. Можно UDOP на С писать, работать будет побыстрее макросов.

Всего записей: 565 | Зарегистр. 18-09-2003 | Отправлено: 00:02 22-05-2012
Aspirant_Levin



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Paredam

Цитата:
- Запускаем макрос который оптимизирует или фокусирует каждуй из Monte Carlo файлов по нужному критерию. Например максимальная MTF для точки на оси.  
 - Запускаем макрос, которыйц анализипует все Monte Carlo файлы и сводит результаты в таблицу. проверяем и вычисляем yield (выход готовых изделий, удовлетворяющих критерию качества). Если мало - ужесточаем допуски, вводим дополнительную юстировку (компенсатор) и все повторяем.

 
Прежде, чем что-то запускать нужно что-то написать. В чём преимущество макроса для оптимизации файлов Monte Carlo перед Merit Function (время???). Ведь можно MF поставить как критерий при расчёте допусков. Не могли бы поделиться макросом для анализа Monte Carlo файлов (я подправлю для себя, заодно и получше разберусь в ZPL).

Всего записей: 160 | Зарегистр. 26-01-2011 | Отправлено: 13:44 22-05-2012 | Исправлено: Aspirant_Levin, 13:49 22-05-2012
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

Компьютерный форум Ru.Board » Компьютеры » Программы » Программы для разработки, тестирования оптических систем
Maz (02-03-2017 13:42): Программы для разработки, тестирования оптических систем. Часть 3


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru