TMASAP Primer 入門指南 學習ASAP 光學設計軟體的基本課程,光學分析功能最強的工具 Breault Research Organization, Inc.
與BRO聯繫 TM這本 Primer 入門指南是配合ASAP 使用。其內容所參考的其他資料及文獻,目前暫不提供。 對這本操作手冊的意見可以與電子信箱support@聯繫。 對於技術支援,對本文件附加的複製品的資訊或BRO其他產品的技術資訊,請聯繫: Breault Research Organization, Inc. 6400 East Grant Road, Suite 350 uTcson, A Z 51758 SUaC/naad : 5805-288-008-1Outside US/Canada: +1-520-721-0500 Fax: +1-520-721-9630 E-Mail: eTchnical Support: suopprtb@ General Information: info@ eWb Site: Breault Research Organization, Inc., (BRO) 提供這個文件沒有任何形式的保證,既不表示也不蘊含,包括,但不限制,對一特殊的目的蘊含商業保證或合適性。美國有一些州不允許在一些交易中的一個棄權表示或蘊含的保證;因此,這個陳述可能無法應用到你身上。當這個文件上的資訊變動時,不會通知消費者。 智慧財產權©2002-2003 Breault Research Organization, Inc. 保留所有權利。 本產品及相關文件由著作權保護,同時在限制使用、影印、拆版及編輯許可情況下發行。在事前沒有BRO當局及其授權人,如果有授權人的話,的書面授權,本產品的任何部分或相關元件不可以被以任何形式、任何工具複製。違反美國法律的變更是被禁止的。 BRO-0925-54(12/11/03)/primer*.fm ASAP Primer 入門指南 /接觸BRO與著作權資訊 3
英文版編撰者:Rob Hubbard 這本書歸功於Rob Hubbard,他接受託付來分享其令人激賞的程式能力,及以其已被證實的寫作技巧使他創作了這本ASAP Primer入門指南給例如你的使用者。 Rob的內容根據他指導ASAP初學者許多班次的簡介教程,及以客戶支援工程師為角色幫助過無數多使用者的經驗為基礎。 中文版翻譯者:林世穆 應用光學碩士,應用光學博士,畢業於英國 倫敦大學 帝國理工學院 物理系 應用光學組 及英國 雷丁大學 物理系。現為台灣 國立台北科技大學 光電工程研究所 副教授。講授“近代光學”、“光學系統設計”等課程。希望此書的翻譯對台灣的光電產業在理論的模擬與實務的應用能有棉薄的貢獻。電子郵件信箱:smlin@ 中文版檢閱者:林群益 光學工程學士,光學科學碩士,畢業於美國亞利桑那州州立大學光學科學中心光學科學系。曾任職於美國國家科學研究院及美國州立大學。現為光學專業顧問,電子郵件信箱住址:opticsua@ 4 ASAP Primer 入門指南 /接觸BRO與著作權資訊
άᏃ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!UNBTBQ!Qsjnfsʣ۞ݾܒ 1 與BRO的接觸 3 目錄 5 ӕՐ 17 入門指南的使用 17 排版上的習慣 18 其他ASAP資源 19 有關光學的書籍 19 2ణ!!ᕏ˭ 21 ASAP是什麼? 21 ASAP與傳統透鏡設計軟體之不同 23 模擬照明系統之ASAP 25 精確度的問題 31 四步驟的過程 32 3ణ!!Ӥఀዲᛔ 33 概述 33 ASAP的工具列 34 使用者自訂工具列 36 動態選項列 36 狀態列 36 ASAP工作區 37 物件特性工具列 38 使用者工作區 39 命令輸出視窗 39 命令輸入視窗 40 4ణ!!ݚఅዢ̅ಁѤϑ܉ລర 41 工作目錄的設定 42 基本步驟 43 ASAP Primer 入門指南 / 目錄內容 5
建立幾何形狀的選項 43 建造器介紹及其基礎 44 單位 47 波長 48 介質 49 鍍層 50 儲存你的工作檔 51 摘要 52 第3章的程式集 55 程式3-1 55 程式3-2 55 程式3-3 55 程式3-4 56 5ణ!!ݚγ̅ྱගಁѤӜڑ 57 "殼層"的概念 57 曲面實體型態 60 三種ASAP的實體型態 62 球面曲面 63 在BRO 3D Viewer中的預覽 66 介面命令 72 ASAP如何知道? 74 透鏡背面 75 管狀物表面 75 管狀物的界限及介面的增加 77 摘要 82 練習1︰完成Cooke三片組 83 第4章的ASAP程式集 85 程式4-1 85 程式4-2 85 程式4-3 86 程式4-4 86 程式4-5 86 6 ASAP Primer 入門指南 / 目錄內容
6ణ!!ઈї̅ሂჯಁѤӜڑ 87 ASAP 建造器及其計算引擎 87 執行建造器Builder 87 輪廓剖面命令 89 繪製Viewer視窗 91 向量檔及3D Viewer 95 繪製刻面Facets 97 有多少個刻面? 100 多重的圖式的管理 102 摘要 105 系統資料庫 107 第5章ASAP程式集 109 程式5-1 109 程式5-2 109 7ణ!!షᕡिٓଖᄉᘢ 111 什麼是凱薩格林望遠鏡? 112 平面表面 113 光學表面 114 圓錐的數學 116 摘要 119 練習2︰凱薩格林望遠鏡 120 8ణ!!અΏώሣਡཬ؈ 123 光線與光源 123 ASAP光線 125 光線屬於物件 127 光線與物件以物理上的正確次序接觸 128 光源只能被追跡一次 129 摘要 129 ASAP的光線細節 131 9ణ!!ि˅ώປ 133 定義一個光源的步驟 133 ASAP Primer 入門指南 / 目錄內容 7
平行光線的長方形格子光源 135 橢圓格子光源 139 極坐標格子光源 142 離軸的平行光線 145 光源位置 147 光源焦點 149 設定光線的光通量 149 摘要 152 方向餘弦 154 第8章的程式集 155 程式8-1 155 程式8-2 155 程式8-3 155 程式8-4 156 程式8-5 156 :ణ!!ᘌဂώປ 157 繪製光線2D位置圖及檢視光線3D位置圖 158 繪製2D光線及檢視3D光線 160 結合光線與幾何形狀 162 數值光線資訊 166 摘要 168 練習三︰Cooke三片式相機鏡頭之光源 170 第9章的程式集 173 程式9-1 173 程式9-2 173 程式9-3 174 程式9-4 174 程式9-5 174 程式9-6 175 程式9-7 175 21ణ!!ਡཬώሣ 177 基本概念 177 8 ASAP Primer 入門指南 / 目錄內容
追跡對話框 179 消失的光線 183 曲面的前表面與後表面 184 自曲面表面開始的光線 188 重複的表面 189 摘要 191 練習四︰凱薩格林望遠鏡的光線追跡 193 第10章的程式集 195 程式10-1 195 程式10-2 195 程式10-3 195 22ణ!!અᕃ˷ٙ 197 分析的基礎概念 197 產生一個系統及光源 199 光線的定位 201 分析用光線之選擇 202 點陣圖 206 光線統計 208 尋找最佳焦點 209 摘要 214 練習5︰球面反射鏡的最佳焦點 216 第11章的程式集 217 程式 11-1 217 程式 11-2 217 23ణ!!BTBQཥਉऱ 219 使用ASAP工作區 220 設立一個ASAP計畫 221 檔案選項 222 自動執行 224 計畫的優先設定 225 自訂資訊框 227 錨定與非錨定 227 ASAP Primer 入門指南 / 目錄內容 9
記憶其他視窗的位置 229 使用者定義的工具列 230 摘要 230 24ణ !ᘞሢ 231 什麼是邊緣? 232 從邊緣製造物件 234 橢圓邊緣的範例 235 擠壓的邊緣物件 236 線條的掃過面 241 刻面 242 其他邊緣物件 245 直線連結的點 247 除直線之外的連結因子 251 邊緣物件的輸入及輸出 254 摘要 255 練習六︰使用邊緣物件產生Fresnel透鏡 258 物件vs. Entity實體 259 第13章的程式集 261 程式13-1 261 程式13-2 261 程式13-3 262 程式13-4 262 程式13-5 262 程式13-6 263 程式13-7 263 25ణ!!ఆᘢဂ 265 透鏡實體是什麼? 265 單片透鏡 267 玻璃目錄的使用 270 雙膠合透鏡 272 將透鏡轉換為曲面為基礎的物件 273 其他透鏡實體 275 10 ASAP Primer 入門指南 / 目錄內容
定義一個透鏡序列 277 理想透鏡 280 摘要 282 練習7︰Cooke三片組為一透鏡序列 284 主面與矩陣光學 286 第14章的程式集 287 程式14-1 287 程式14-2 287 程式14-3 288 程式14-4 289 程式14-5 290 26ణ!!ࡧסѝಁѤӜڑ̅ώሣ 291 放置幾何形狀-絕對平移 292 平移幾何形狀-相對移動 293 旋轉幾何形狀 295 族群化幾何形狀物件 298 平移及旋轉光線 300 移動光線 301 在Builder中使用變數及數學表示式 307 變數及數學表示式的基本規則 309 摘要 310 練習8︰單片透鏡的最佳焦點 312 決定參考點 314 第15章的程式集 317 程式15-1 317 程式15-2 318 程式15-3 318 程式15-4 319 程式15-5 319 程式15-6 320 程式15-7 320 程式15-8 323 程式15-9 323 ASAP Primer 入門指南 / 目錄內容 11
程式15-10 324 程式15-11 324 程式15-12 324 程式15-13 325 程式15-14 326 27ణ!!ᔗࣤώປ 327 發光的圓盤及長方形 328 Lambertian與均向性光強度分布 332 發光球體334 其他體積發光體 335 螺旋線發光體 337 發光物件 340 進階光源模型化 343 摘要 344 亂數產生器 346 第16章的程式集 347 程式16-1 347 程式16-2 347 程式16-3 348 程式16-4 348 28ణ!!ώሣڟ˛̥ů྆О̥ڟώሣ 349 光線中止表 350 後來消失光線的警告 351 多次反射的警告 351 錯誤邊的警告 353 低光通量的警告 353 衰逝波(全反射)的警告 355 錯誤方向的警告 356 吸收後的警告 356 在波動光學中的光線中止 359 摘要 360 錯誤邊問題的追蹤 362 12 ASAP Primer 入門指南 / 目錄內容
Bare玻璃及Fresnel方程式 363 第17章的程式集 365 程式17-1 365 程式17-2 365 程式17-3 365 29ణ!!અΏᎭݙደ̅ώݙደ؈ 367 基本定義 368 光功率(通量) 370 單位面積上的光通量 371 單位立體角的光功率 373 單位面積單位立體角的光功率 375 摘要 377 2:ణ!!˷ٙᒂώු̅ώුڟѝ༊˷ 379 複習基本分析 379 總光通量-根據光學元件分類 380 光通量vs. 位置-由位置坐標分類 382 分布的檔案 387 結果的檢視 387 摘要 389 練習9︰簡單閃光燈模型 390 在傾斜的檢光器上的分布 394 31ణ!!ΰˎ֎ 397 分佈檔案的細節 397 顯示工具的回顧 399 檔案操作 401 圖式工具 404 數據處理工具 420 摘要 440 多少光線及多少像素? 444 產生你自己的分布數據 446 第20章的程式集 449 ASAP Primer 入門指南 / 目錄內容 13
程式20-1 449 程式20-2 449 程式20-3 449 程式20-4 449 程式20-5 450 程式20-6 450 程式20-7 450 程式20-8 450 程式20-9 450 程式20-10 450 程式20-11 451 程式20-12 451 程式20-13 451 程式20-14 451 程式20-15 451 程式20-16 451 程式20-17 452 程式20-18 452 32ణ!!̟ϩ˷ڟ˷ٙ 453 映射問題 453 觀看及解釋方向餘弦的結果 463 輻射亮度、光亮度及視角驅動的輻射度學分析 475 摘要 479 練習10︰螺旋線的發光強度 482 33ణ!!ᆥᅸּͅുВ 487 過渡的產生 488 從編輯器開始 489 基本程式樣板 492 系統的先前準備 495 定義物件 498 線上求助說明的使用 500 物件修飾 504 14 ASAP Primer 入門指南 / 目錄內容
產生光源 505 追跡光線 506 執行分析 509 由Builder建造器產生程式 511 摘要 515 產生幾何形狀的替代方法 517 34ణ!!ઈїּͅുВ! 519 執行程式檔案 519 更正錯誤 521 當你工作時做證實動作 523 更多的編輯器特點 525 增加你自己程式的樣板 529 撰寫程式自訂工具列 529 摘要 532 練習11︰將閃光燈模型轉變成程式 533 35ణ!!֏ּ͂ͅുВ५ᔈ! 535 縮寫,捷徑,及特殊字元 535 輸入數值 538 表示式,運算子,及函式 538 使用變數 541 ASAP巨集語言 543 摘要 547 ASAP暫存器 548 ASAP技術導引 551 ASAP Primer 入門指南 / 目錄內容 15
16 ASAP Primer 入門指南 / 目錄內容
第 A 章 序言 PREFACE TM高等系統分析程式Advanced System Analysis Program (ASAP)是想要提供給科學家及工程師功能最強的基礎光學系統分析工具。這本ASAP Primer入門指南,隨著對基本指令的介紹可以給你對ASAP的思想哲理及結構有基本了解。它幾乎是要開始使用ASAP且產生有生產性的工作所不可或缺的入門書籍。 入門指南的使用 Using the ASAP Primer Primer 入門當作一五天ASAP課程的伴隨手冊,ASAP導覽簡介指南傾向於( 入門指南傾向於主要是程學習,而ASAP的課程學習,而不是ASAP的操作手冊。新工具及新程序通常不是ASAP的操作手並不被介紹,直到你需要了解時,它們才會被討論到解決手上問題所冊。 需要的層級。這種趨近法允許我們以最簡單的內容開始來介紹複雜的主題,並且在稍後當你了解的層級及知識增加時,會再次介紹這些主題。對Primer及ASAP導覽簡介兩者,重要資訊的重複出現也是我們所選擇教學方式的一個重點要素。 作中學的概念 Learning by Doing 從教導ASAP的tutorial教案中顯示:動手練習是學習ASAP及保持我們所教程序的關鍵。就是這個理由,我們在這本Primer入門指南的大多數章節的章節最後包含有練習,許多內容是與tutorial教案簡介所發展的相同。它們已經被精雕細琢了若干年,包括在課程的補充及追加。大多數學生同意tutorial教案要有練習才會較有效。我們懇切的希望所有的讀者動手作,通過這些練習題來學習ASAP。 ASAP Primer 入門指南 / 序言 A-17
使用ASAP有兩種主要方法: 1. 圖形使用者介面(GUI)—經由ASAP Builder及一個具有功能選單、 對話框組成的組織完善系統,能夠接近大多數ASAP的命令。 2. 命令程式語言—連結巨集語言,它將ASAP轉變為功能強大的光學程式語言。 ASA雖然,Primer入門指南並未特別強調命令程式,直到接近最後幾個章P使用者其計節。ASAP使用者其計畫主要使用命令程式的工作者,學習這本書起畫主要使用命令程頭的幾個章節,並不會浪費他們的時間。相當多的名詞與用法平行存式的工作在於圖形使用者介面GUI及命令程式。應用在這兩方面的程序基本上者,學習這本書起是相同的。更進一步說,許多工具及幫助被內建到圖形使用者介面GUI頭的幾個來使得GUI的使用者,能較簡單地過渡到命令程式。 章節,並不會浪費在這本Primer中,無論何時GUI被使用來產生ASAP命令,都包含一他們的時間。 個超連結到命令程式;例如 見第3章附錄,在第55頁的“程式3-1”。 你可以經由在句子中程式及頁數的部分按滑鼠左鍵跳到這些附錄;例如,在第55頁的“程式3-1”。這部分的超連結是連結在指定頁數上的程式。注意,你可以非常容易的回到你剛剛所離開的程式頁,如下面所描述的步驟三。 聯結到相關程式的步驟: 1. 選擇一個「手記號」的工具符,一個「放大鏡」的工具符,或一個®®AdobeAcrobat工具列的「文字選擇工具」。 2. 將位置的指標放在該頁上要連結的區域,直到指標改變成具有指向食指的「手指記號」,然後按滑鼠左鍵來連結。 3. 要回到先前觀看的畫面 (超連結產生的頁數),在ToolTip工具列具 有「箭頭」的工具符上按滑鼠左鍵,為Go to Previous View的工具符。 排版上的習慣 Typographical Conventions 在這本Primer入門指南中,我們已經用了幾種排版上一貫的的習慣。在ASAP中參考到功能選單、視窗及對話框出現了下面的鉛體字及風格,Builder功能選單命令由高階向下參考,使用次層的功能選單,由ASAP Primer 入門指南 / 序言 A-18
“大於”符號 ( > ) 分隔。例如,Analysis > Choose Rays > Consider蘊含著Consider的對話框可以從Analysis功能選單及Choose Rays的次功能選單達到。任何參考到真正的ASAP命令及其選擇項是顯示在下面的鉛體字,回想預設的程式編輯字型:TRACE PLOT。甚至當我們與GUI圖形使用者介面一起工作時,我們使用這個字型來強調主張,這是ASAP真實命令的名字。使用者必須輸入的命令引數以 < filename > 的方式出現。這蘊含你必須使用你所選擇的檔案名稱替代 < filename > 內的字串 ( 包含 < > 界定符號 )。例如當你看見 < install directory >,你需要替換入目前這個ASAP程式所儲存的目錄。 其他ASAP資源 Other ASAP Resources這本ASAP Primer入門指南只是許多提供給你學習ASAP的資源之一。如上面所述,他強調這些概念及程序普遍到幾乎所有ASAP應用。有一廣泛的ASAP技術導引系列可以帶領你的學習向前。這些導引並不互相依存,所以可以以任何次序閱讀。他們將在這本Primer入門指南的最後一章描述,並在本書前面章範中很頻繁的被參考使用。 當你變的愈來愈熟悉ASAP及其方法,你將可能喜歡一個功能漸增、更有用的簡明參考風格手冊。這裡數種選擇可以提供給你。其中最基本的是ASAP參考手冊,ASAP Reference Manual。這個文件當你安裝ASAP時已複製到你的電腦硬碟;並且位在ASAP安裝區域 (ASAP > doc) 目錄中的“doc”的檔。相同的資訊,伴隨補充的注解及解釋,包含在另一手冊,ASAP參考導引ASAP Reference Guide®®之中,可以在AdobeAcrobat PDF格式中獲得,它是在發行的CD光碟片上的資訊產品之一。最後,完整的ASAP參考導引也在線上求助說明中可獲得,在ASAP程式中得到。在Primer入門指南中有許多地方我們描述如何使用線上求助說明。 有關光學的書籍 More About Optics 在不斷增加的ASAP使用者,大多只有少量或非正式的正統光學訓練。事實上,這些成功的ASAP使用者可能多數都是如此。在Primer入門指南及導覽簡介Introductory Tutorial兩方面,我們希望不假定讀者在光學及光學工程方面有太多的知識。然而,有些讀者可能不熟悉一些光學概念及名詞。 在此情況下,我們會增加簡明的註解或鑲框的補充附錄,若你已對那些主題很熟悉,你可以跳過。不幸的是,實際上它並不企圖來教導所有你可能在ASAP中需要來使用的基本光學中的每一特點。對一般的ASAP Primer 入門指南 / 序言 A-19
光學知識及資訊,我們建議參考下列圖書: •Optics,由Eugene Hecht所著是一本在物理及光學很優越的一般基本訓練教科書。 •Modern Optical Engineering,由Warren J. Smith所著,可供更多光學工程及光學設計方面主題相關參考。 同樣地,這二本書也都有更廣泛、更進一步的參考書目。 ASAP Primer 入門指南 / 序言 A-20
第 1 章 簡介 INTRODUCTION ASAP是什麼? What is ASAP? ASAP基本上是一種具有彈性及效率之光學系統模型化的工具,它可以利用蒙地卡羅光線追跡的技術做光-機結構間的模擬,它可以不必假設系統之對稱性,做單軸、全域、三維坐標的模擬。(見第22頁的圖) 所以當光束穿越整個光學系統,光束可以自動地分裂為反射,折射,繞射,ASAP所做的就是一偏振光及散射的分量,當這曙光穿越整個系統,光束可以包含物體任意個仿真模擬。根據真的次序,獨立的根據物理可實施之路徑行進。這類的光線追跡一般稱為實光線在真“無限制的”或“非序列的”。所以ASAP所做的就是一個仿真模擬。實世界裡的路徑。 根據真實光線在真實世界裡的路徑。 ASAP Primer 入門指南 / 簡介 12-1
圖 ASAP在單一、全域、三維坐標系統的圖式。ASAP的使用者可選擇在系統中的任何一處放置坐標原點及相對於傳統的卡氏坐標系來確立坐標系的方向。在這個LCD投影機的模型中,紅色、綠色、藍色的箭頭分別代表x、y、z坐標軸,坐標系統的原點是被放置在科爾 (Kohler) 透鏡陣列的中心。 ASAP同時可以模擬同調及繞射光學系統,使用相對簡單但是有效的光線追跡的擴展方法,一般稱為高斯光束分解。任何複雜的光場可以分解為高斯光束,可被上述的光線追跡方法描述。這個方法允許我們可以處理同調、繞射、干涉、耦合效率等與相位有關的問題(見第23頁的圖) 12-2 ASAP Primer 入門指南 / 簡介
圖 一個同調光場的剖面圖,光經過一個球狀透鏡的焦點,由左向右傳播。這個剖面圖顯示在光場中繞射及球差的雙重效應。ASAP能夠執行這一類的工作,分解原始光場為一組高斯光束。高斯光束分量分別被以光線追跡的方式傳播,此處的結果顯示這光場是由獨立光束的同調性重疊組成。 然而,這個主題並不包含在這一章及後幾章(見ASAP技術導引,波動光學簡介),此處描述的大多數方法及技術都是以「光束」的形式傳播,在ASAP中處理「光束」問題是必須的。 ASAP與傳統透鏡設計軟體之不同 ASAP vs. Classical Lens Design Codes ASAP及傳統透鏡軟體間的不同,經常性的存在著令人迷惑不清的地方,傳統光學透鏡設計軟體也使用光線追跡。ASAP有何不同之處呢? 一個透鏡設計軟體的主要功能是評估光學系統參數的組合-例如光學玻璃之種類、厚度、表面曲率-根據使用者定義的判斷式或評價函數,產生一個最佳的系統組態解。因為這些光束被限制且一個曲面接著一個曲面,按照預先排定的順序,序列的通過光學系統的每一元件,使得函數可以有效率的尋求最佳解。(見第24頁的圖) ASAP Primer 入門指南 / 簡介 12-3
圖 當光束被限制地通過在預先排定的透鏡系統順序,透鏡設計程式可以非常快速的評估可能的系統組態,此處單一的射線顯示光束由左向右通過每一折射的表面,直到離開這個光學系統。 ASA以數學表示輸入光學系統參數,由於此系統的限制,可以尋找出光學系P能夠作一個基礎統的輸出參數。這種處理過程,允許快速評估許多光學系統組態。 光學設計,包含上述效 應,如同對這種由透鏡設計程式執行的分析,來發展最初系統的規格,通常假設理一個“已建立的”光機想光學表面。傳統透鏡設計軟體忽略了Fresnel損失、多重反射、散射系統完成一光、繞射及其他非理想或複雜的光學行為。但是ASAP能夠作一個基礎個較佳的預測的表現。光學設計,包含上述效應,如同對一個“已建立的”光機系統完成一個 較佳的預測的表現(見第25頁的圖) 12-4 ASAP Primer 入門指南 / 簡介
圖 一束單一輸入方向的光束(左下角),可以多次透過折射、反射及散射,與光學元件或機械元件,接觸作用,其能量可非常多次的被分解。ASAP不必具有任何光線通過不同曲面次序之先前知識,可以完成上述的分析 模擬照明系統之ASAP ASAP for Illumination Systems ASAP也非常廣泛地用於評估照明及其他非成像系統。這個議題是完全的相同,將如何表示一個由真實的製造元件取代過度簡化的理想光學系統?這個極度簡化的閃光燈模型是由一個在一理想拋物反射面焦點的點光源形成。(見第26頁的圖) ASAP Primer 入門指南 / 簡介 12-5
圖 一個拋物線反射器是具有任一光線自曲面的焦點發出,其光束被反射後平行光軸。原理上,此一反射器可以產生一個對稱的照明,在反射器前形成對稱的照明。 這個結果是一個隨時完全對稱的照明形態。然而,如此的一個閃光燈卻從未被建造,可能也是永遠不會被建造。一個真實的點光源(如果真的有)將有部分光束,由反射面射出,但同時也包括其它沒有射到反射器,直接射向反射器開口處的直接射出(見第27頁的圖)這個問題是不再有嚴格的光學序列。 12-6 ASAP Primer 入門指南 / 簡介
圖 一個在拋物線反射器的焦點的點光源,在各個方向輻射,將造成一些光線未擊中反射器(圖中之藍色射線)。這不再是序列的光線追跡問題,因為不是所有的射線、擊中相同次序的物件。 最少我們需要用適當形態及發光特性的白熾金屬(燈絲)模擬一個擴展光源,其次我們可以增加表面粗糙度去模擬真空金屬化的塑膠材質,其使用於實務上製造拋物面反射器的表面。(見第28頁的圖) ASAP Primer 入門指南 / 簡介 12-7
圖 一個包含擴展光源的閃光模型,其中包含白熾螺旋狀燈絲及適當表面粗糙度的反射器,其造成某些散射的光束。 現在,這光源更接近實際光源,其光束將在非理想但實際的表面向各個方向“散射”。由於這些特色都加在模型上,這些進步的結果,將在下頁的圖、 圖、 圖中顯示。 12-8 ASAP Primer 入門指南 / 簡介
圖 在理想的拋物線反射器焦點上的一個點光源所產生的對稱,集中分布能量的照明圖象。 圖 將點光源換成擴展光源,其燈絲之形狀為螺旋狀,這造成這光源的照明分布較為扁、寬及非對稱。 ASAP Primer 入門指南 / 簡介 12-9
圖 一個真實的反射器,通常其表面具有某些粗糙度,這可能只是製造過程的結果或可能是在控制光線照明的設計參數。 為了更好的結果,我們可以發展一種燈泡的細微模型,它將包含燈絲的支持架構、固定裝置及玻璃罩來造成某些適當的雜散反射、折射、陰影及未期望的聚焦效果。 這種照明燈模型的實例可顯示於圖。 利用此種模型,ASAP能預測一個照明設計的實際照明狀態。 13-0 ASAP Primer 入門指南 / 簡介
圖 為了最佳結果,一個燈源的模式將包含玻璃罩,燈絲分隔固定器,電極及任何其他會造成反射及陰影的物件。這個圖式顯示的是ASAP模式的一個W16W自動燈絲燈管的模型。 精確度的問題 Accuracy Issues ASA人們經常問“ASAP有多精確﹖”。這個當然是一位嘗試預測或解釋一P提供這些正確工實務系統行為的實務工程師所必須要問的問題。ASAP做所有的計算都具,去產生技藝水準的採用雙精準(32位元)浮動的算式,但這並未告訴我們太多有關精確的模型,但使問題。實際的解答必須依賴下面兩件事。 用者仍然必須去建立這1. 你的系統模型假設有多好? 些模型。 例如,你有精確的量測你的光學系統表面散射特性嗎?你有包含製造時的公差嗎?是否幾何光線追跡適合你的問題或你必須使用同調性光束或光束傳播方法去模擬同調性或繞射效應。 ASAP卓越的提供這些正確工具,去產生技藝水準的模型,但使用者仍然必須去建立這些模型。若未提供的這些較佳的訊息,你必須至少找出你光學模式的靈敏性,去改變這些有問題的假設。 ASAP Primer 入門指南 / 簡介 13-1
2. 追跡了足夠光線嗎? 當應用“蒙地卡羅”描述法時,“機會”是(這是統計)ASAP趨近法中的必要元素。這期望中的精確是光束數目的函數,經常由第一原則中預測,在統計方法中給定一個基準,但這經常也是不需要的。在實務上,我們可以加倍光線追跡的數目,來看答案在預定的精度內是否達到穩定。若不穩定,則再增加光線追跡的數目。 四步驟的過程 The Four-Step Process 當這些先前的敘述可能激發你開始來學習ASAP,但它也可能使你有一些不知所措。這工作比想像中來得簡單,因為有一套簡單的四步驟過程,可以適用於所有ASAP的計劃案。 1 建立系統模型 對系統中的每一元件定義、確定幾何形狀及給定光學特性。這步驟通常需要ASAP使用者最大的注意,我們通常從簡單的光學結構開始,然後逐漸增加系統複雜度。 2 產生光源(光束) 定義及確定一組光束,可以精確的模擬發光光源的光學特性(空間的、角度的、能量的分布及同調性)。這個步驟也是一個精確光學模型的重要部份,有時候並未獲得它該有的重視。然而,光源模型正是ASAP所擅長,提共了許多不同的工具來實現真實的光源。 3 追跡光束 讓光束通過光學系統。現在這個任務,由ASAP來完成。它只需要使用者一點點的注意即可。事實上,ASAP可能在你午餐時間、在家晚餐時間就可完成你的光線追跡任務。 4 評估分析 計算能量、照度、光強度及其他光學系統特性在你的系統的關鍵地方。這步驟通常是最有趣及最多回饋的。ASAP提供許多的工具將這些模擬結果處理、操作及圖的形象可見化。 在往後的章節及習作中,我們將重複這四步驟的循環非常多次。從簡單的模型及分析開始,然後在每一後續的過程中逐漸增加精鍊。 13-2 ASAP Primer 入門指南 / 簡介
第 2 章 快速導覽 A SHORT TOUR 在這一章我們將使用資訊框來描述ASAP基本的特色與功能。現在,我們將只提出許多面貌的一般描述,將大多數的操作細節,留到以後的章節。 概述 Overview 在電腦安裝ASAP之後,你將可以從window視窗的“開始”選項 (Start>ASAP>ASAP) 或在你的電腦桌面上ASAP的圖符上按滑鼠左鍵兩下。 許多你看當你第一次用電腦來執行ASAP時,這個資訊框將如圖所示出現。到的元許多你看到的元件,可以被重新訂定大小、移動或甚至完全隱藏,來恢件,可以被重新訂復你正在處理的畫面空間。如果你有任何改變,ASAP將不但在下次操定大小、作時記住,同時在下一個版本ASAP中也會記住。現在我們將所有的視移動或甚至完全隱窗留在他們的預定位置。當你有了較多的ASAP經驗時,進一步的特定藏。 化選項將在第12章“進一步ASAP資訊框”中討論。 ASAP Primer 入門指南 / 快速導覽 2-33
動態選單 工具列 使用者定按鈕列 物件特性工具ASAP文件視窗 ASAP工作區 (編輯器, 建造器, 檢視器)考察檢視工作區 命令輸出視窗波長單位* 系統單位* 目前工作目錄 命令輸入視窗 目前提示號 狀態列 *按個別狀態區之鍵,來開啟波長、系統或檔案 圖 ASAP的資訊框,顯示的是資訊框中不同資訊元件的預定位置,圖示中有*號的資訊元件可以根據個人的喜好被移動或重新訂定大小。 ASAP的工具列 ASAP Toolbar 這些最常被用到的ASAP功能函式,已經被放置在工具列的按鈕。你可以於開始將所有的功能函式變成按鈕,但是有部分的操作可依其他工具如程式、下拉式功能表,或在命令視窗直接輸入Command Input(見第40頁“命令輸入視窗”)。你所選擇使用的按鈕,完全依賴你電腦軟體®所執行的形式及其他Windows視窗的程式。 2-34 ASAP Primer 入門指南 / 快速導覽
每一按鈕的功能描述可參考表,現在我們不需要非常詳細地研究這些功能,因為於用到這些功能時,我們將一一討論它們。 表 主要ASAP工具列 開新視窗,三角形箭頭顯示編輯器及其他文件形式。 開所有型式的檔案,三角形箭頭顯示最近打開過的檔 案。 執行目前的ASAP檔案,三角形箭頭顯示先前執行過的 檔案。 打開或關閉ASAP Workspace工作區視窗。 打開或關閉命令輸出Command Output視窗。 切換選擇的螢幕設定為全螢幕,按F11可回到目前的 設定。 ASAP/Pro模組的使用者,在你的區域網路中 (LAN) 多 數的ASAP任務工作可遠距移到其他電腦。 停止目前電腦的執行。當ASAP計算引擎核心程式正在 使用中,這個按鈕會出現紅色。 刪除目前系統及光源,使系統回到其預定的設定值。 再開始ASAP計算引擎核心程式。 打開Builder建造器。 繪圖系統的片狀剖面圖。 回溯三D立體圖檔 (*.vcr) 。 顯示三D立體圖檔 (*.vcr) 。 追跡光束。 顯示目前光束數據的統計。 顯示一個數據的等高圖。 打開ASAP線上求助說明的內容。 打開目前ASAP版本的資訊。 ASAP Primer 入門指南 / 快速導覽 2-35
使用者自訂工具列 Custom Toolbar 因為不是所有使用者都同意所謂“ASAP的最常用功能函式”。ASAP也提供了十個預先定義的按鈕及十個使用者可定義的按鈕,這些功能函式可能是簡單或是複雜,其涉及一個或多個ASAP命令。但是在定義你自己的按鈕前,你必須了解些ASAP之命令。 動態選項列 Dynamic Menu Bar 使用者對ASAP的最初經驗是限於圖形使用者介面 (GUI),這個研討方式會持續到我們在第21章“方向分布分析”中介紹命令程式,因此大多數我們與ASAP是藉由在ASAP資訊框上方的選項列來互動。它之所以稱為“動態”是因為這個視窗位置大小的改變是依據目前那個被“聚焦”之視窗。因此此視窗並不需要它自己的選項系統。 註:注意“聚焦”是Windows視窗的名詞,像ASAP此種多文件介面軟體,只有一個使用中的視窗是被稱為“聚焦”。這視窗通常是最後一個被建立或更新或最後一個被使用者敲擊的視窗,被“聚焦”之視窗,其在視窗頂的標題列有不同的顏色。 你將可注意到在第一章結束時,所介紹的每一個四步驟過程之要件,都有一個選項:System系統、 Rays光線、Trace光束追跡、及Analysis分析。所有其他選單有“標準視窗”,(例如File檔案、Edit編輯及Help線上求助說明)或者目前正在使用的特定ASAP視窗。 狀態列 Status Bar 在ASAP資訊框之底部,你將可以看到狀態列,這個顯示幾種重要的資訊,包括ASAP計算引擎,或稱為“Kernel”之狀態。當你第一次使用ASAP時,你看到在狀態列之左端靜止的ASAP> 提示號,其義意為此“引擎”是停滯的。當此游標放在圖形使用者介面GUI上的任一個按鈕時,這個空間也可用來顯示工具提示ToolTip。 緊接著兩個項目是提醒我們工具提示ToolTips工作時所選用的單位。因為我們尚未宣告系統單位,只能看到SU: <not defined>及WS: 1,WS為波長的尺規,因此其預定值為1。我們在第三章“建造器及幾何先前準備”(Builder and Geometrical Preliminaries)中,開始定義我們的系統時,可改變這些設定值,我們將改變這些系統的內訂值。 在右側,你將看到路徑的名稱,那是目前工作的目錄,你和ASAP在你工作時,會建立暫時性及永遠性之檔案。2-36 ASAP Primer 入門指南 / 快速導覽
這些檔案被放置在你目前的工作目錄,因為這些路徑之名稱,可以是一長串的字母。ASAP通常會截斷這些顯示,但是如果你的游標放在狀態列之地區時,ASAP會顯示全部路徑的名稱,我們將在下一章的開頭會顯示如何去改變這些路徑。 ASAP工作區 ASAP Workspace Views選項在開始時,ASAP工作區視窗,出現在資訊框的左側,在其底部有兩個標籤的樣式,任一視選項標籤,Views及Objects,這個Views選項標籤告訴我們所有相關的窗可以被移視窗。一但有幾個視窗被開啟,圖顯示ASAP Workspace Views工作動,只要在Views選項區中tab選項的樣式。任一視窗可以被移動,只要在Views選項標籤上標籤上敲敲擊。此視窗是依照類別排列。 擊。此視窗是依照類別排列。 圖 當有幾個視窗被開啟時,在ASAP Workspace工作區視窗中Views選項標籤的顯示。你可以使用這個來切換視窗或開啟新視窗,或刪除視窗。 ASAP Primer 入門指南 / 快速導覽 2-37
物件選項Objects tab 顯示我們在系統中所建立的物件的名稱及數目。假如你選擇使用系統中的命名再你的定義中,ASAP會產生ㄧ個樹狀結構清單,如圖所示。 圖 物件ㄧ旦被建立,Objects tab在ASAP Workspace工作區視窗以樹狀結構顯示這些物件。 物件特性工具列 Object Properties Toolbar 物件特性工具列,給予我們在ASAP中快速地進入下列的工具: • 由型態來組織的光源, • 應用到ASAP中物件的玻璃材質、媒體介質、散射模式及粗造模式,及 • 程式範例, 這些是以INR 為副檔名的檔案,具有孤立及簡單的命令,其顯示這些命令的用法。 2-38 ASAP Primer 入門指南 / 快速導覽
使用者工作區 User Task Space 這個龐大的User Task Space是你不同視窗出現的地方。你可以擴大ㄧ個視窗到填滿整個使用者任務區,或者甚至整個螢幕。 命令輸出視窗 Command Output Window 任何輸入其由這個Command Output視窗是ASAP計算引擎與你交通互換訊息的地方。三條短線開始我門指揮計算引擎藉由在此輸入命令。我們產生這些命令經由功能選單(例如 系統,建造器Builder,命令程式或直接命令輸入Command Input視窗。- - - $PATH)是ㄧ個ASAPASAP計算引擎回傳這些命令給我們,當它執行這些命令時,任何輸入的命令。 其由三條短線開始(例如- - -$PATH)是ㄧ個ASAP的命令。如果你渴望馬上開始學習命令語言,只要觀看命令輸出視窗當這些命令ㄧ閃而過。我們將在第21章”分析方向分布” 詳細討論。 命令輸出Command Output視窗也是計算引擎列印出我們所要求的大多數資訊,例如計算結果,鍍層級玻璃種類的清單等等。ASAP在這裡列印其他我們會感到興趣的資訊,例如所產生的光幾數目,我們所產生光源的總通光量。 錯誤的訊息也出現在Command Output命令輸出視窗,以紅色顯示。這些錯誤訊息可能是最重要的理由來注意這視窗。假如你沒有看到你所期望的結果在ASAP操作過程中,再這視窗會提供一個解釋。 注意,這個命令輸出Command Output視窗,事實上,保存序列的歷史,該次序為在目前ASAP任務中發生的序列。這個歷史資料當你嘗試決定為何目前的結果與你以前所見的結果不同時通常非常有用,所有的步驟所用來產生兩者不同的結果的是紀錄,將在Command Output命令輸出視窗中可藉由向上捲動來看到。 ASAP Primer 入門指南 / 快速導覽 2-39
命令輸入視窗 Command Input Window 你將常會發在你已經學習一些ASAP命令後,你將常會發現直接藉由這個視窗中輸現直接藉由入簡單的命令,與ASAP計算引擎交通訊息是非常有用的。ASAP維持命令輸入Command 一個歷史的清單,所以你可以回溯最近發出的命令,甚至從上ㄧ個ASAPInput視窗任務。這個Command Input命令輸入視窗也與Error及Warning計算共享中輸入簡單的命令,與空間,即一個重新設定的按鈕。 ASAP計算 引擎交通訊息是非常有用的。 2-40 ASAP Primer 入門指南 / 快速導覽
第 3 章 建造器及幾何先前準備 BUILDER AND GEOMETRICAL PRELIMINARIES 在這一章,我們將介紹ASAP之幾何建造器,及我們第一個光學系統開始的前置準備工作。我們開始一些需要的基礎工作是建立一個簡單的三片式透鏡系統,一般稱為庫克三片組透鏡(Cooke Triplet)。 圖 一個經典著名的光學設計庫克三片組。 ASAP Primer / 建造器及幾何先前準備 3-41
庫克三片組 (Cooke Triplet) 是非常重要的透鏡組,因為它的組態具有在ASAP足夠的自由度,讓透鏡設計者完全的修正主要的三階像差。在ASAP中,我們的工作不是去中,我們的工作不是去設計如此的透鏡組,而是以設計者的規格,藉設計如此的著務實的物理假設,其控制著光與不同曲面之交互作用,來轉換成透鏡組,而是以設計者ASAP模型。 的規格,藉著務實的物如果你手邊有電腦,我們強烈的建議你跟隨著這一章及下一章之演理假設,其控制著光與練,我們將逐步的介紹Cooke三片組的第一枚元件,留下其他兩片透不同曲面之鏡給讀者;在第83頁,“練習1:完成Cooke三片組透鏡”。 交互作用,轉換成ASAP模型。 工作目錄的設定 Setting the Working Directory開始任何新ASAP任務之第一步是決定電腦目錄,你希望將你的結果儲存在電腦系統目錄的那裡?在上一章中討論工作列taskbar,我們提及在執行ASAP時建立的不同檔案,他們就是放置在這個工作目錄。你可以從ASAP的選單列設定工作目錄︰File>Set Working Directory(接近底部)。這個對話視窗(見圖)允許你去瀏覽將要儲存你工作檔案的地方,在那裡你建立新的檔案夾。給它一個例如ASAP Primer的名字,去放置所有研讀ASAP入門指南的檔案,你或許將發現它非常方便。 圖 當你開始一個ASAP之計劃的第一步是︰在你的電腦中選擇一個地方來儲存檔案。瀏覽檔案夾Brower For Folder對話視窗,當需要的時候允許你去產生一個新的檔案夾來儲存工作檔案。 當你按OK來完成這個步驟時,ASAP的狀態列會反映這些改變。下3-42 ASAP Primer / 建造器及幾何先前準備
次再啟動ASAP時,ASAP程式自動回到這個工作目錄。 基本步驟 Basic Procedure 現在你將準備好建立你的第一個系統,Cooke三片組。我們將遵循顯示在下面條列的一個邏輯化六步驟過程: 1 定義系統設定值 單位 波長 2 定義光學材料及鍍層 折射率 反射與穿透係數 3 為每一物件定義幾何形狀 4 給定每一物件光學性質 5 平移或旋轉每一被架構的物件到指定的位置及旋轉方向 6 圖象化證實每一被建造的物件形狀、位置、方向與設計值是否相同。 建立幾何形狀的選項 Options for Building Geometry 數個不同的方法可以在ASAP中,完成這些步驟︰ • 使用建造器Builder,在ASAP中它是一個被內建在ASAP的試算表形態工具,可以建立ASAP中物件幾何形狀及光源。 • 使用CAD程式建立物件之幾何形狀。及透過IGES格式交換輸入形狀進入ASAP(你購買的ASAP必須包含ASAP/CAD模組),使用CAD程式在輸入過程中完成上述步驟4,此為一手動步驟。 • 使用ASAP命令程式來撰寫ASAP的程式碼,在命令輸入Command input視窗直接輸入命令,或使用Mini Builder藉由輸入ASAP命令到程式檔案來結合建造器與程式碼。 • 使用適當的ASAP/Optical轉換模組,直接從Zemax,OSLO或Code V輸入透鏡設計。 在這入門指南Primer的前幾章中,我們將集中注意在第一選項“建造器Builder”。這個環境對第一次學習ASAP之使用者是最好的,因為ASAP Primer / 建造器及幾何先前準備 3-43
包含每一行的標題頭及內建的預視的工具。在入門指南Primer之後幾章,我們將介紹命令語言方法,如果你期望使用命令語言,學習Builder的時間仍然是值得的,“建造器Builder”通常使用與相關的程式命令相同的名稱及語法,使得兩者間的轉換更容易。如在本書序言所指出的,無論何時我們用Primer內的 GUI產生的ASAP命令,在每章的附錄會包含有一個互相參考的命令程式碼。 建造器介紹及其基礎 Builder Introduction and Basics 開始操作“建造器Builder”可從按功能選項列上的“Builder”按鈕,或從選項列上System>Builder進入。你可預期從System系統選單或其“次選單”中找到大部分ASAP的工具,來建造和驗證你的系統。“建造器”視窗開在使用者工作區task space。 圖 含有工具列的建造器視窗。 因為這是目前你所開啟的唯一視窗,你不妨點選所有視窗的右上角放大按鈕,來使用所有的螢幕空間,你也可以使用F11鍵去擴大全螢幕的“建造器”。不過當你使用完畢時,要記得再按F11以回到ASAP資訊框。 你可能已注意到ASAP工作區的ASAP Workspace Views選項標籤,目前有一個Entry叫做“Builder 1”在“Builder”下面,有兩個新的選項(Preview及Builder),出現在選項列上,這兩個選項只要“建造器Builder”是使用中,就一直存在。 “Builder建造器”的第一外觀是一種試算表形態的文件,伴隨著捲軸列及底部功能列,在表中描述每一按鈕的意義。與前面所述相同,當你需要它時我們將各別介紹這些功能。然而,“建造器”仍與事實上的數學試算表有所差異,我們稱呼個別資料格為cells。 3-44 ASAP Primer / 建造器及幾何先前準備
表 建造器Builder之按鈕工具列 貯存Save“Builder”檔案 另存新檔Save as 執行Run這個“Builder”檔案 列印Print這個“Builder”檔案 剪下Cut存到剪貼簿 複製Copy到剪貼簿 從剪貼簿貼上Paste 恢復Undo最後之一改變 預視Preview all目前全部物件之幾何形狀 預覽Preview only所選擇Builder列 刪除Delete目前列 插入Insert一新行 轉換列狀態Switch line status到 忽略或註解掉 一個 命令 改變一個幾何定義為一個“Entity”實體 Explode擴張爆開一個透鏡的巨集 在Builder中改變字型font大小 預覽中改變預設faceting的級數 若選擇此鈕,添加append新的幾何物件(其意為不 刪除所有先前的幾何形狀) 改變系統預設單位units 若選擇此鈕,所有新的幾何形狀為“Entity” 實體 狀態,而不是“Object”物件狀態 若選擇此鈕,可改變Builder的框線的顏色color ASAP Primer / 建造器及幾何先前準備 3-45
這除錯工具列的設施由滑鼠游標執行,逐步執行程式經整個檔案到程式被中止的斷裂點,其所包含的按鈕描述在表。 表 在建造器中的除錯工具列 從目前指標pointer所在的這個檔案,執行目前的建造器 (*.ent)檔案。 從這個檔案開始處到目前指標pointer所在的程式列,執行 目前的建造器(*.ent)檔案。 從這個檔案目前指標所在的程式列,執行目前的建造器命 令,並移動指標pointer到下一程式列。 執行目前的(*.ent)檔案到下一個程式斷裂點。 從目前的(*.ent)檔案中插入或移除一個斷裂點 移除這個(*.ent)檔案中所有的斷裂點 雖然目前我們還沒建立任何物件,但這仍是好的時間來貯存新的Builder檔案,除了預設的“Builder 1”外可以給檔案一個較好的名字。你能從選單項中使用File>Save As (只要Builder視窗目前是使用中) 或在Builder的下端工具列中按Save As按鈕。選擇“Cooke Triplet”是好的可使用檔案名字的號選擇。 3-46 ASAP Primer / 建造器及幾何先前準備
單位 Units 在Type欄下之任一行,你可以在任意一個資訊格cell按滑鼠左鍵兩下見到及使用“Builder建造器”的可執行命令。這可從圖的下拉式選單中看出。 圖 所有在“Builder建造器”可使用之命令,可在系統的選項列中尋得。你可在 第一欄名稱為Type中的任一格子按兩下進入這個選單。 為了快速地接近經常使用的建ASAP Primer / 建造器及幾何先前準備 3-47
造器Builder命令,你可以藉由在有顏色的選單列上按滑鼠左鍵來在建造器中「撕裂」(加短折線) 、錨定或浮動一個普遍使用的menu選單。 開始系統的定義,資訊框左上角的格子按滑鼠左鍵兩下,選擇System>Setup>Unit。現在,最前三個格子上端(由左向右)有欄位標示。在第二個Type底下的格子按滑鼠左鍵兩下,有一下拉式功能表會出現,選擇Millimeters,此選項可確定此整個ASAP系統之單位,下面圖式為完整列的顯示(圖)。 圖 “建造器”中之第一個完成的列。 第三欄Flux Label,這是輸入ASAP之一個字串,為顯現在分析圖像中的光通量單位。你可選擇如瓦特、流明等,但這只是一個標籤,因為我們還未在模型中定義光源。我們目前先將此欄留為空白,將在往後章節中討論光源及其絕對光通量時,再多加以敘述 (見第9章,“證實光源”)。 見第3章附錄,在第55頁的“程式3-1”。 註︰當完成輸入“單位”命令之訊息,在下端的ASAP狀態列(只要不是在全螢幕模式就可看到)仍然標示著系統單位為SU︰<not defined>。ASAP之核心引擎,並未讀到你輸入“建造器”的命令,我們將在第6章 Cassegarin Telescope Model中提到,你必須“執行”這“Builder”,去實際執行你所定義的系統。 波長 Wavelengths 其次,在“Builder”type底下之第二列按滑鼠左鍵兩下,這次選擇System>Setup>Wavelengths,在Builder上端沒有標頭的第二格是不使用的,以保持與其他波長相關命令的對齊,格子三到格子七,允許輸入五種這個模型所需要的不同波長,目前我們只使用一種波長,在欄位標示為Wave 1底下輸入550。此列中的最後一個欄位unit為波長單3-48 ASAP Primer / 建造器及幾何先前準備
位欄,我們將不必表示波長的單位,因為光波長通常遠小於系統的尺規大小,如果你雙敲擊此欄另一下拉式功能表將出現,選擇NanoMeters奈米的選項。完整的波長列顯示在圖如下: 圖 在建造器Builder中設定波長。 見第3章附錄,在第55頁的“程式3-2”。 註︰在建造器中置入命令之次序在許多狀態中是重要的。當我們執行此檔案時,ASAP將從最前頭往下做。因為,事實上,波長WAVELENGTH相對系統單位扮演一個尺度因數的角色。因此,單位命令需先輸入再輸入波長,若次序錯誤,錯誤訊息會在跑檔案時顯示出來。 介質 Media 當光線到其次,我們需要定義一些介質。這個介質定義給予我們有機會去描述這介面在模型中,使用的任何玻璃形態,事實上特別指的是玻璃之折射率。時,此訊息根據當光線到這介面時,此訊息根據Snell定理,告訴ASAP光束如何去屈Snell定折或折射。 Cooke三片組中之二片是由Schott的SK4,另一片是由理,告訴ASAP光Schott的F15組成。ASAP有數種內建的玻璃目錄,包含Schott、Hoya,束如何去French,and Ohara等公司等公司的玻璃種類。來對於此練習,我們需彎折或折射。要自己定義玻璃的種類;然而,倘若你或許以後有需要去定義一個新 的特別材質。我們將在第14章中介紹透鏡物件時,再示範玻璃目錄的使用。 在“建造器”Type欄的下方,任一格子按滑鼠左鍵兩下,選擇System>Materials>Media>Media來定義一個新的材質。ASAP允許我們給此材質命名,它可以指定五種不同的折射率,標示為Refractive Index 1, Refractive Index 2等等。 註︰本例中預設的欄位寬度太窄,以致不能顯示完整的標題標示。如果你的游標移至標頭,將出現一下拉式視窗,顯示完整的標示。如你喜歡,你可以改變試算表欄位的寬度,可以按滑鼠左鍵並在標頭列拉開格子間的線。你可能要小心的移動分格線避免pop-up視窗干擾這個程序。 這五個折射率對應於在波長命令WAVELENGTH的五個波長。這因此ASAP Primer / 建造器及幾何先前準備 3-49
可以允許我們去建立媒體色散的材質﹣玻璃,其折射率是波長的函數。當我們開始定義光源時,光束可以選擇這範圍內任一段波長,ASAP會以內差法去獲得適當的折射率。如果波長介在兩個特定值波長的時,因為“建造器”只允許在色散表中五個波長。當你使用命令語言版本中的Wavelength命令時,此波長數目的限制可提升至25。 將你的第一個介質命名為SK4在Refractive Index 1給定折射率為。這個命名可以最多為16個字元,我們將使用此材質的名字。此後,我們將使用這個媒體介質在不同的物件中。 因為Cooke三片鏡組使用兩種玻璃,所以要再次產生第二個MEDIA的命令。.新介質命名為F15,並選擇Refractive Index 1 為。當你完成時,Builder最後兩行應該出現如圖所示。 圖 在Builder中設定介質折射率之圖示。 見第3章附錄,在第55頁的“程式3-3 ”。 鍍層 Coatings 當光線到達一物件時,一材料的折射率,單獨並不能告訴ASAP它所要知道的每件事。通常.,一個素玻璃表面會折射(穿透)大部分的光線,但也有小部分會反射。當抗反射鍍層已經蒸鍍到玻璃表面,其表現會大不相同。當一反射鍍層,例如一層銀或鋁的薄膜層加到玻璃表面時,所有的光將被反射。 ASAP允許我們以不同的方法指定鍍層。ASAP這個程式是具有能力來計算隨著入射角的變化的反射係數與穿透係數,當作波動光學時更包括相位的偏移。目前,我們簡化”理想”鍍層的內容,其穿透及反射一個定量的光通量,且與光線的入射角無關。 我們以COATING PROPERTIES命令來指定一理想鍍層的特殊行為。在最後一個MEDIA命令下面的某處,在Type欄的格子cell中,按滑鼠左鍵兩下,並選擇System>Materials>Coating>Properties。命名鍍層為Transmit。對每一鍍層定義,我們允許最多輸入5個反射及穿透係數對,每一個反射及穿透係數對應先前在Wavelength命令所指定的波長。因為現在我們只有一個波長,我們只需填入一對反射係數與穿透係數。設定Reflect 1為0及Transmit 1為1。這意義為抵達介面的光線100%的光通量會穿透,且沒有反射―一個真實的理想鍍層。我們可以3-50 ASAP Primer / 建造器及幾何先前準備
將其他Builder的格子保留為空白。 註:我們可能已經指定反射與穿透係數兩個值都非零。這會造成到達這一鍍層的光線分裂成兩條光線:一為反射光,另一為穿透光。例如,我們可以藉由設定Reflect及Transmit皆為來產生理想的分光器。ASAP並不會要求我們遵守能量守恆。可能有些光能量會“消失”在這個鍍層,其轉變成熱能或其他形式的能量,並不適合我們這本書的分析。 其次,定義一個第二鍍層名稱為Absorb,其Reflect 1及Transmit 1都設定為0。這種0 - 0的鍍層為ASAP的一特例。它並不如你所期待的,造成所有光通量在這系統消失。相反地,光線及其光通量簡單的帶著其光通量停在該鍍層上。我們將使用這種鍍層的時機為:在我們想要的特定表面上收集光線來分析。這個COATIHNG PROPERTIES的定義將如圖所出現的圖式。 圖 在Builder建造器中設定鍍層特性。 見第3章附錄,在第56頁的“程式3-4”。 儲存你的工作檔 Save your work 如果你尚未做儲存動作,這是一個好時間點來做它。你可以在Builder中按Save鈕或從File>Save (當Builder被點選時)來做儲存動作。 ASAP Primer / 建造器及幾何先前準備 3-51
摘要 Summary 在這章中,我們已經討論下列幾個命令︰ ASAP命令 Menu選單 描述 UNITS單位 建造器Builder︰ 系統單位 單位宣告在此System>Setup>Unit 計劃中這個系統所使用的單位定義。 WAVELENGTHS建造器Builder︰ 波長宣告一個或多個波波長 System>Setup>Wavelengths長和MEDIA媒體或COATING PROPERTIES鍍層性質命令中相關的資訊。 MEDIA介質 建造器Builder: 以折射率方式定義介質System>Materials>Media(玻璃種類) COATING 建造器Builder: 以光通量的反射及折射PROPERTIES System>Materials>能量分割來定義表面的鍍層性質 Coating>Properties 特性。 這一節將完成一個新的ASAP系統的預先定義,我們已經完成在這一章之簡介中,六個步驟中的前兩個。 1 定義系統設定: 單位, 波長。 2 定義光學材料及鍍層: 折射率, 定義反射與穿透係數。 將完成的剩餘步驟為︰ 3 對每一物件定義幾何形狀。 4 指派每一物件之光學特性。 5 將每一物件平移或旋轉到所想要的位置及方向。 6 當物件被架構完成後,圖像化來確認每一物件的形狀、位置及方3-52 ASAP Primer / 建造器及幾何先前準備
向如其被設計建造的。 到目前為止,建造器所完成的如圖所示。 圖 Cooke三片組模式所需要的預先宣告及定義。 我們可以在設定一個系統的單位及波長之後,我們已經建立一定數量的材料與在處理過鍍層資料到數據庫。當你建立光學(往後的機械)元件時,這些後來的程中的任何時機,資訊現在可以提供給你。雖然鍍層特性定義出現時,你要在事前宣告,插入更多但是並不是關心重點。我們可以在處理過程中的任何時機,插入更多的介質及鍍層宣的介質及鍍層宣告。 告。 注意,我們已經加入幾個空白行在我們的基本定義,如圖所示。這只是一種風格而已.,ASAP忽略這空白行,你可以發現增加空白行是為了在Builder檔變大時的方便閱讀,因為它會幫助你快速地掃描程式撰寫表及定位命令的邏輯群組。 現在你可能也注意到在Builder頂上的標頭列,根據你目前你工作行的欄位而變更。這個動態的調整通常是很有大幫助的,但有時也會照成困擾。當你想要看到標頭指定給一特定的命令時,要檢查每一格子cell,一定要確定滑鼠游標在這一Builder建造器列的正確欄上點選,來啟動它們。 ASAP Primer / 建造器及幾何先前準備 3-53
3-54 ASAP Primer / 建造器及幾何先前準備
附錄3A 第3章的程式集 Scripts For Chapter 3 下列ASAP的程式參閱第3章”建造器及幾何先前準備” 程式3-1 !!THIS IS THE COMMAND SCRIPT PRODUCED BY THE BUILDER. !!SEE THE REFERENCE MANUAL FOR OTHER SYSTEM UNITS CHOICES. UNITS MM 程式3-2 !!THIS IS THE COMMAND SCRIPT PRODUCED BY THE BUILDER. !!SEE THE REFERENCE MANUAL FOR OTHER WAVELENGTH UNITS CHOICES. WAVELENGTHS 550 NANOMETERS 程式3-3 !!THIS IS THE COMMAND SCRIPT PRODUCED BY THE BUILDER. MEDIA; 'SK4' MEDIA; 'F15' !!THIS SCRIPT IS REWRITTEN HERE IN THE FOLLOWING PREFERRED !!MANNER IN ORDER TO IMPROVE READABILITY. !!THE COMMENTS ARE ADDED FOR EXPLANATION. MEDIA 'SK4' !!A GLASS MEDIUM SK4 HAS AN INDEX OF REFRACTION = ’F15’ !!A GLASS MEDIUM F15 HAS AN INDEX OF REFRACTION = ASAP Primer / 建造器及幾何先前準備 3-55
程式3-4 !!THIS IS THE COMMAND SCRIPT PRODUCED BY THE BUILDER . COATING PROPERTIES; 0 1 'TRANSMIT' COATING PROPERTIES; 0 0 'ABSORB' !!ONCE AGAIN THIS SCRIPT IS WRITTEN HERE IN THE FOLLOWING !!PREFERRED MANNER IN ORDER TO IMPROVE READABILITY. !!COMMENTS ARE ADDED AFTER THE COATING DEFINITIONS. COATING PROPERTIES 0 1 'TRANSMIT' !!REFLECTIVITY = 0%; TRANSMISSIVITY = 100% 0 0 'ABSORB' !!REFLECTIVITY = 0%; TRANSMISSIVITY = 0% 3-56 ASAP Primer / 建造器及幾何先前準備
第 4 章 建立及預視幾何形狀 BUILDING AND PREVIEWING GEOMETRY 在這一章中,我們將繼續建立這個Cooke三片式相機鏡頭之第一枚元件,一面接著一面加入其他元件的幾何形狀。在ASAP中有許多方法建立一枚透鏡,此處是最普通的方法來建立ASAP元件之幾何形狀。 一旦,你熟悉此處所介紹之概念,你將知道如何組合一群複雜的、任意的幾何結構的基本原則。 "殼層"的概念 "Shell" Concept 我們自然地認為,一個透鏡的構造為一個固態體,然而,畢竟一個透鏡是一片有體積的玻璃,被前表面,後表面及圓柱邊緣所界限。(見在第58頁的圖) ASAP Primer 入門指南 / 建立及預視幾何形狀 4-57
圖 我們將一個透鏡視為一個實體,它是一片外型經過設計而成的玻璃。 一個透鏡的製造通常是由整塊玻璃開始,經加工、切削、研磨來形成所希望的形狀。許多電腦輔助設計程式已經認定此重要性,並移轉到以實體為基礎幾何形狀的定義。 然而,當我們在ASAP中建立透鏡模型時,它並沒有被視為一個實體。取而代之的是在ASAP中,透鏡的構造是由三個獨立的表面來架構外殼,形成一實體積。(見第59頁的圖)。 4-58 ASAP Primer 入門指南 / 建立及預視幾何形狀
圖 ASAP將透鏡視為3個獨立的曲面︰前幅表面(白色),後幅表面(紅色),及邊緣(藍色)。這個檢視圖允許我們指定不同的光學性質到殼層結構的每一元件。 這三個曲面在圖中都被彼此拉開以便看清楚。通常,它們形成一個封閉的體積。有幾個理由存在於這個趨近法中︰ 1. 在光學中,曲面是發生有趣事情的地方,光線的方向由於折射會在此曲面發生改變。光線在無干擾情況下通過透鏡之空間,只有在離開表面才會再改變光線的方向。散射經常發生在透鏡表面,因為透鏡通常不是研磨或清潔的非常完美。特別的抗反射或分光鍍層也是在透鏡表面。當在發展真實光學元件的模型時,將注意力放在曲面而不是體積。是較為合乎邏輯及有效率的,因為許多光學現象是發生在曲表面,而不是體積。 註︰當然,有一些重要的、以體積為基礎的光學現象存在。例如,折射率漸變 (GRIN) 的材料隨體積內的位置函數改變折射率。在懸浮粒子的體散射及在材料中的體吸收,是另外兩個我們可能想要模型化的體積效應例子。ASAP允許我們來模型化這三種光學現象為簡單的表面規則的例外。 ASAP Primer 入門指南 / 建立及預視幾何形狀 4-59
2. 雖然我們透鏡可能是個實體,個別表面經常有不同的光學性質。透鏡的邊緣通常不會如前、後表面一般的研磨。它通常是利用砂輪磨邊。它要以毛玻璃的散射特性來模擬。我們並不放棄在前後表面放入不同光學性質的彈性,因為前輻表面可能會因曝露在外而弄髒,而後幅表面卻可能在密封的環境中。結果,即使我們想要模型化透鏡為一個實體,我們也要獨立地參考其個別表面。 3. 因為ASAP的光線並不是依序追跡,獨立的表面,再一次,是較為合乎邏輯的方法來組織幾何形狀。光線從一個表面到另外一個表面處理,並不是以預先指定的順序處理。如同我們將看到的,當我們終止一條光線追跡,我們絕不會發現一條光線在體積內的“過渡”。當我們進入ASAP計劃的分析階段時,任何一個表面可以是一個地方,在該處光線累積起來做詳細分析。 如果你暫就這些理由和更多原因,如果你暫時地放棄實體的構想,並且將你的時地放棄幾何形狀視為一系列的獨立表面如ASAP的做法,將會加速你的ASAP實體的構想,並且學習。如你將看到的也並不必須完全地放棄體積概念ASAP提供工具將你的幾TM來做實體與表面世界的切換移動。ASAP的IGES轉譯過程smartIGES何形狀視為一系列自動地轉換以CAD為基礎的實體。轉換為獨立的表面,假如你選擇的獨立表CAD程式來定義你的幾何形狀。我們也可以看到物件可以被群組化,面,將會加速你的為一個單一的實體物件操作,當平移及旋轉時。(見在第298頁的第ASAP學15章“群組化命令”GROUP Command,“Grouping Geometry”)。 習。 曲面實體型態 Surface Entity Type 如果你的ASAP Cooke三片組檔案尚未開啟,現在載入我們已經在前面幾章建立的模型。你可以從主功能選單使用File>Open,選擇Files of type: Builder Files (*.ent),然後瀏覽到這個檔案的位置。他可能就在你目前的工作目錄。 你也可以完成這個動作,藉由ASAP上工具列的Open按鍵,這個檔案夾的小圖案具有如上對話框描述的結果。小圖案右邊的箭頭產生你最近進入所有類別的檔案的下拉式清單。 我們可以從這個捷徑選單進入所有ASAP Builder提供的幾何形狀建構工具(圖)。 4-60 ASAP Primer 入門指南 / 建立及預視幾何形狀
圖 ASAP幾何形狀建立命令是在彈出的功能選單上的第二群。你可以藉由在Type欄位中一個格子上按滑鼠左鍵兩下來進入。 到目前為止,我們之前的命令都是來自於系統System族群。我們現在準備好要移到下面一個族群,那裡存在許多基本幾何形狀的定義。 事實上,有三種不同的entity實體型態在這一個群族︰Lenses透鏡實體, Surface曲面實體,及Edges邊緣實體。即使我們要製作一個透鏡,我們將暫時不使用Lenses entities實體,我們將專門地使用Surface entities實體來製作Cooke三片組的模型。 這三種entity實體的不同及用法將在第62頁的補充附錄 “三種ASAP實體 (entity) 的型態”解釋。 ASAP Primer 入門指南 / 建立及預視幾何形狀 4-61
程式輸入,經由ASAP IGES轉譯器,三種ASAP的實體型態 TMsmartIGES。將物件自CAD程式輸入Three ASAP Entity Types在技術導引,“IGES輸入”中討論。 Edge實體將在本書Primer的第13章中討論,伴隨更多的訊息在技術導引ASAP物件是由三種不同形態的實體中,“More about Edges”。 Entity構成︰ 例如︰刻面的反射器,螺旋狀的燈曲面實體Surface Entities--有平滑且絲,汽車頭燈的透鏡等。 相對簡單的外形,其外形由數學定義為隱多項式。在許多案例中,一光線與曲透鏡實體Lens Entities--這個“Lens 面的交點,可以由數學表示式簡單地估Entity”的名稱,經常是一些混淆的根算。最早,這是ASAP唯一提供的幾何源,因為我們可以使用這些物件去製形狀,因為它是非常理想地適合光線追造許多物件,而非僅僅是透鏡而已,跡應用。 或甚至不是一種唯一或偏好的方法在ASAP中定義透鏡。它們是標準的例如︰平面、球面、拋面體,管狀物、圓錐表面使用於古典的成像系統,及角錐等。 使用程式語言及鏡頭設計者的慣例邊緣實體Edge Entities--邊緣,在及古典透鏡設計程式碼來定義。透鏡ASAP和其他地方中也被稱為實體也有序列的本質︰光線被限制“Curves”,是一組在空間的點由直線地通過一預先排定次序的透鏡實體或曲線連結而成。這條曲線是利用掃過entities表面。這些限制可使得它們獲來形成表面。(不要與ASAP中曲表面得相當大的光線追跡速度上的優“surface”實體混淆)。數學上,這曲勢,特別是當一個透鏡實體是由許多線是以參數化的Bezier多項式來代表面組成。因為它們被限制在圓錐曲表。這幾何形狀形態是與CAD程式相面(球面,拋物面,雙曲面橢圓等);容。事實上,一開始被加到ASAP來,它們可以完全地轉換到相當的以邊正是為了從CAD環境輸入幾何形狀。緣為基礎實體,因為它們具有精確的因為這些曲線以參數方程式定義,光線Bezier表示法。 的交點必須使用內插法決定。雖然這個這種轉換是非常方便的,當將它們輸估計會使光線追跡的速度緩慢下來,但出回CAD程式時。透鏡實體將是本ASAP的邊緣Edge允許我們來模型化書第14章的討論主題,詳細內容也被一些困難或不可能以隱多項式定義的涵蓋在技術導引的“Lens Entities”。結構。ASAP提供工具可以建立這類型的幾何形狀。 例如︰單片透鏡,雙合透鏡,理想透鏡,簡單望遠鏡等。 Edge為基礎的幾何形狀也可以從CAD 4-62 ASAP Primer 入門指南 / 建立及預視幾何形狀
曲面經常是Surface Entities這個族群的幾何形狀實體的名稱可能會造成某些人的光線追跡中誤解,因為所有三個形態都用來產生表面或“殼層”,如上面的討論。最有效率的形態,因為這個名稱的理由主要是歷史性的。在一段時間,這個族群是ASAP中在許多例子提供的唯一形態幾何形狀,所以,很邏輯地稱之為“Surface”。曲面中,ASAP可以計算交經常是光線追跡中最有效率的形態,因為在許多例子中,ASAP可以點,藉由計計算交點,藉由計算數學表示式的函數值。這種趨近法通常造成在給算數學表示式的函數定的精度下最快速的結果。因為有時候我們需要做上百萬條的光線追值。 跡通過許多曲表面的系統,藉由使用SURFACE實體獲得速度上的優點是很重要的。 球面曲面 Spherical Surface Cooke三片組的第一個透鏡的規格如圖所示。 y玻璃折射率 N= (SK4) 曲率半徑 mm mmzZ=0 Z=5 mm 曲率半徑 + mm 圖 Cooke三片組的第1片透鏡的規格(單位為mm)。 ASAP Primer 入門指南 / 建立及預視幾何形狀 4-63
我們開始建造前幅表面。它是球面,所以從選擇Surface>Spherical開始。給予它名稱為。這個名稱可以鍵入大寫,小寫或混合的英文字母。ASAP Builder事實上對大小寫是不敏感的。在名稱中的“dot”卻是重要的。它允許你在繪圖的樹狀結構,產生可分辨的組合或次組合。層級的個數只有限制在344個字元在全部的元件名稱。 再下一個entry輸入項是曲面的坐標軸Axis。這個軸是球面在鏡頂與之垂直。因為這曲面形態是軸對稱,它也是對稱軸。在這一格子中按兩下,你可以看到有6個選擇︰我們全域坐標系統的三個卡氏坐標,或每一個坐標軸的負方向。它通常在光學設計實務上(但絕不是規定)選擇Z軸,所以選 +Z。 註︰你會得到完全相同的曲面不論你選擇正或負方向的Z軸。二者之間的唯一差異是數學上的形式與慣用法。但在一些特殊的例子--例如,假如我們將此物件轉變成一個隨機的光線發射器(見第16章,“擴展光源”)-曲面的符號會決定內訂的光線方向,其覆蓋於該表面。 假若我們模型化一個透鏡,其並不垂直全域坐標軸之一,我們將在產生它之後應用旋轉及平移。 位置Location的輸入項是球面的鏡頂沿著全域坐標Z軸的絕對位置。我們可以任意的將此物件置放於原點,Z=0。 半徑Radius輸入項是球面的曲率半徑。由慣用法規定,正值代表曲率中心相對鏡頂在Z軸的正方向,如圖所示。 4-64 ASAP Primer 入門指南 / 建立及預視幾何形狀
曲率中心 +z曲率半徑=+ mm 圖 由習慣用法,一個曲面的曲率半徑為正的,當其曲率中心相對曲面是在正的方向(如圖所示在右側)。 在Aperture輸入項中,描述曲面的形狀的外部界限。當你在這一格子按兩下時,你看到你的選擇是Ellipse, Rectangle及Hexagonal。我們希望一圓形通光孔徑,所以選擇Ellipse,在兩個坐標軸都相等時它將為圓。 最後,Semiwidth X及Semiwidth Y值是上面所定義木橢圓或長方形孔徑的尺寸。注意,這裡是尺寸大小的一半,如在大多數光學應用中的慣用法。將這二者都設為,如圖“Cooke三片組的片第一片透鏡的規格(單位為mm)”所訂之規格。其結果是圓形的透鏡具有直徑為 mm,2倍這個輸入數值。如果你的光學元件看起來不恰當的大,或許你忘了要除以2。 在ASAP對一個ASAP的新使用者的常見錯誤,其可能對光學名詞不熟悉,會中每一幾使用物件的直徑或寬度來表示系統規格,因為這些正是目錄上正常的何形狀物體,都是指定值。然而,在ASAP中每一幾何形狀物體,都是以半個通光孔徑以半個通來指定尺寸。在許多Primer這本書中的練習給予你通光孔徑的直徑,光孔徑來指定尺是為了提醒這個問題點。 寸。 三個增加的輸入項存在於Spherical表面。Obs Ratio是所謂的“不通光ASAP Primer 入門指南 / 建立及預視幾何形狀 4-65
比例”。它是在通光孔徑的中心置入一個圓孔的方法。 Obs Ratio為將放一個半徑為 mm的圓形孔。Offset X及Offset Y的值允許我們平移整個球面(圓孔及全部)一個指定的量。這三個輸入項對都不需要;我們可以將這三個輸入項都留空白,因為它們是可選擇的參數。 註︰每一個Builder的格子大多是可選擇的參數,當你開始從功能選單選擇命令時的起始值都是空白的。它們可以保留空白。 當你完成Builder中的顯示列,將如下面所顯示的: 圖 Builder中完成的球面顯示列。 見第4章附錄,在第85頁的“程式4-1”。 在BRO 3D Viewer中的預覽 Previewing in the BRO 3D Viewer 當我在Builder中創造物件,我們可以非常容易的來預覽。事實上,這正是ASAP Builder的幾項特點之一。一旦你已經完成球面曲面Spherical的定義,嘗試在Builder的工具列中按Preview All鈕。 在開啟3D Viewer視窗之前,你將注意到一些在命令輸出 (Command Output) 視窗的簡明活動(圖)。你可以擴大這個視窗的尺寸來填入User task space,或按在你的鍵盤上按F11鍵來填滿整個螢幕。 4-66 ASAP Primer 入門指南 / 建立及預視幾何形狀
圖 的初始3D檢視圖,具有擴展的樹狀檔案。 由觀察視窗極左側白色部份開始。白色長方格部份稱為Tree View。暫時檔案包含三維的圖象資訊,必須來產生這個檢視窗。為了揭露這繪圖樹狀檔案的開始,在檔名的左側按 (+) 號,然後按L1旁的 (+) 號。雖然現在有一點太簡單,當我們加物件到系統時,這一長方格將變得越來越有趣。 在右側的長方格稱為Object View。ASAP在這一檢視窗以一系列的扁多角形來趨近真實的球面,雖然在這一例中可能看不出來。以這趨近法來簡化幾何形狀,允許我們可以任意放大、縮小或旋轉這視窗非常快速及有效率,按住滑鼠右鍵,移動滑鼠來旋轉視窗內物件。 ASAP Primer 入門指南 / 建立及預視幾何形狀 4-67
你可以同時按Shift鍵及移動滑鼠來平移這視窗內的物件。你可以同時按Ctrl鍵及移動滑鼠來放大縮小視窗內的物件。若你滑鼠有滾輪,你也可以用它來放大縮小。若你在Object View長方格子中按一下物件,則物件的名字編號將出現在ToolTips視窗,且這一物件在Tree View中將被反白強調。當你增加物件到視窗時,這個技術變得非常有用(圖)。 在Object View上按滑鼠左鍵來確定物件,並在Tree View上點選 圖 ASAP 3D Viewer可以幫助確認物件及在繪圖樹狀檔案中發現該物件。將滑鼠游標放在感興趣的物件上,按一下。一個ToolTips小框會出現 [在這例中為 (1) ],包含ASAP指定的件及完整名稱。在繪圖樹狀檔案中相同的物件也被選出。 4-68 ASAP Primer 入門指南 / 建立及預視幾何形狀
許多檢視功能的選項可以在BRO 3D Viewer中尋得。兩個下拉式選單控制大部分的函式。其中之一為3D Viewer選項。在ASAP主選項列,當3D Viewer視窗被點選時(圖)。在繪圖樹中任何一層按右鍵,會進入另一選單(圖)。圖中所圈選的為“熱鍵”。 圖 當這個檢視被點選時,一組選單命令在主選項列中控制著三維的檢視器3D Viewer。這些項目控制檢視視窗的一般特性。 ASAP Primer 入門指南 / 建立及預視幾何形狀 4-69
圖 在任一層級的繪圖樹中按滑鼠右鍵,第二組選單將出現。這些可選擇的項目是在樹狀檔案之一特定的選定層。 一般來說,這主要的3D Viewer選單應用到Object View視窗全部,當這下拉式選單(從繪圖樹容易看到的)應用到個別物件或所選擇的組合。列示在Tree View視窗中的Front區面處按滑鼠右鍵,及從第三群選項中選擇Highlighted Edges。 的出現改變ASAP內訂(平滑色調)到網狀Wireframe與平面色調Flat Shaded的結合。現在你可以看到個別平面多角體組成的真實檢視圖。 註︰這個球面的趨近法,只適用於3D Viewer。當真實的光線追跡時,光線的交點是利用球面的真實數學來計算。 你可以以不同的繪圖模式來做實驗。注意,許多選項命令同時也伴隨有“熱鍵”。你可以發現記憶這些熱鍵非常容易,因為你將使用這些命令非常頻繁。 許多普通的3D Viewer命令也有按鈕。表中摘錄這些按鈕。不論你使用選單、熱鍵、或者按鈕是一種型式風格。習慣、甚至於是一種嗜好。 4-70 ASAP Primer 入門指南 / 建立及預視幾何形狀
表 常用具有按鈕的選項命令 Add增加檔案 Print列印檔案 Copy複製到剪貼簿 Toggle在白與黑間變換背景 Rotational axis旋轉坐標軸。變換坐標軸ON及OFF。坐標軸也可 以使用鍵盤上的A鍵來作ON及OFF切換。注意RGB顏色的次序與XYZ坐標軸相關。 Standard/user-defined view標準/使用者定義之檢視。到選擇檢視角 度。在按鈕上的三角箭頭開啟其他views的選單 View mode檢視模式。改變物件或整體的顯示。在按鈕上右側的 三角箭頭,可以被用來選擇不同的顯示立體圖模式。 (下頁續) ASAP Primer 入門指南 / 建立及預視幾何形狀 4-71
Viewer Controls檢視視窗控制。 改變光強度、變大變小、平移或旋轉。 或許學習3D Viewer的最佳方法是:你自己去發現,去實驗。當3D Viewer被點選,你可以採用線上說明,Help>3D Viewer Help,取得近一步資訊及導引。當你完成,按F11再回到正常的ASAP資訊框(如果你已經進入全螢幕模式)。這3D Viewer並不會自動更新,當有新的物件增加到系統時,所以關閉這個3D Viewer視窗。新的物件,被你加到Builder檔時,你可以在任何時刻按Preview All鈕來監視。 界面命令 Interface Command 假如有一光線到達你系統中的一個界面時,它將如何?它會反射?它會折射?還是停在那裡? 一旦,我們定義一個新的物件,緊接的步驟是必須指定該物件的光學特性。直接在物件的定義下方增加INTERFACE命令,在Builder內完成。你將發現在Builder的下拉式選單Object Modifiers>Interface>Coating中發現它。有三個資訊格子需要你去填入。第一個是Coating。 4-72 ASAP Primer 入門指南 / 建立及預視幾何形狀
ASAP使用它的預設內訂定義為Bare Coating,其沒有鍍層的玻璃是一個正確的選擇。然而,這種鍍層將造成光線分裂,因為由於Fresnel方程式部分光通量將被反射,部分將被穿透。為了事情保持簡化,我們替換Transmit Coating。在Coating格子按滑鼠左鍵兩下,然後鍵入Transmit取代Bare。當你在COATING PROPERTIES命令的Name格子中輸入Transmit時,這個名字必須和上面的名字有正確一致的拼法。 你也需要在INTERFACE那一列中提供兩種介質。你的系統模型中的大多數表面代表一個兩種媒體間的界面(邊界)。這個表面,具有空氣在一側及SK4在另一側,所以輸入Air及SK4在最後標示為Media 1及Media 2的兩個格子中。次序沒有關係,見在72頁的補充附錄,“ASAP如何知道?” 你已經定義SK4在介質的命令列,及空氣Air(折射率為1)已經預定在ASAP內。因為我們已經確認出這個表面為穿透性,ASAP知道應用Snell定理在界面來彎曲一條光線適當的量。當你完成時,Entry將顯示如圖所示。 圖 Builder中介面特性的輸入Entry。 見第4章附錄,在第85頁的“程式4-2”。 ASAP Primer 入門指南 / 建立及預視幾何形狀 4-73
“Air”中(除非我們指定用IMMERSEASAP是如何知道的? 命令)。當光線在作光線追跡到達How does ASAP know?,ASAP檢查指定給這曲面的 界面,然後發現其可選擇的介質為空氣你並不需要關心在你的介面命令中介及SK4其中之一必須與光線目前的媒質的次序,你如果考慮這介質的順序,體一致(Air在這一案例中)所以光線你將了解這個是ASAP非序列光線追必須經過其他媒體SK4。ASAP更新其跡直接造成的結果。我們不限制在序列參數表,現在光線在SK4介質中,及的光線追跡程式中所做的限制。這裡沒繼續前進。這個趨近法總是可以運作,有自左向右的假設。所以一條光線如何只要我們指定正確的界面,及不允許在知道其為進入或是離開這個新的介質我們所創造的結構中有任何的“漏媒體? 光”。 這個答案非常簡單。在光線追跡時,這當光線到達表面時,假如光線無法發現光線隨時保持記錄,何種媒體它已進其目前的介質為界面的兩個媒體之入。這個追蹤記錄是光線資訊表的一部一,光線會停止追跡,同時發出警告,分,這個表隨著光線的移動整個系統而稱為“錯誤邊警告Wrong-side 不斷更新。 error”。其他的光線繼續追跡。這個及其他“光線中斷”的警告將在第17章當一個光線被建造,它假設在空氣 “光線的中止-過早停止的光線 中再討論。 4-74 ASAP Primer 入門指南 / 建立及預視幾何形狀
透鏡後表面 Lens Back 下一個表面的建立類似,我們可以節省時間,利用複製Spherical及Interface兩列,貼到新的Builder列中,然後做少量必需的改變。 註︰複製Copy及貼上Paste可以由任何Windows視窗通常的方法來完成。第一,首先在Builder中列的最左端第一格標示為OBJ的小格子按滑鼠左鍵。在Interface列中做相同動作,同時按住Ctrl 鍵。然後,按住滑鼠的左鍵拖拉,可以完成相同的動作。這個將會使這兩行被反白強調,然後複製Copy到剪貼簿Clipboard。你現在可以使用鍵盤 (Ctrl+C),選單中指令 (Editor>Copy),或者Builder視窗中的Copy按鈕,來複製這兩行到剪貼簿Clipboard。將這些命令貼到新的空白Builder列中。 在貼上這些複製列後改變SPHERICAL第二欄的名稱為。改變Location為5,改變Radius(曲率半徑)為- mm。這個負的曲率半徑值顯示,這曲率中心是在Z軸的負方向,在第63頁圖的左邊“Cooke三片組的第一枚透鏡規格(單位為 mm)” 介面命令不需要改變它可以保留與相同(介質媒體的次序不重要!)當你完成這兩行,Builder顯示列將如圖所示。 圖 Builder建造器中透鏡背後表面的兩列顯示。 見第4章附錄,在第86頁的“程式4-3”。 管狀表面 Tube Surface 透鏡的第三部分是圓柱體的外部邊緣,它連結透鏡的前表面與後表面。管狀表面是這個幾何元件的正確選擇。定義管狀物,我們可從Builder選單中選擇Geometry>Surfaces>Tube開始。我們可以使用這個命令來產生一般的管狀物,如圖所示。 ASAP Primer 入門指南 / 建立及預視幾何形狀 4-75
圖 ASAP的TUBE管狀物件命令可以允許我們定義一般的管狀物,本圖為一段漸小的橢圓的錐狀管狀物件。 然而,我們的例子是較簡單的,因為我們只需要一個均勻的圓柱體。我們仍然要面對11個可以改變的參數。物件稱為,光軸Axis仍然為Z軸。開始端面及結束端面的X軸及Y軸半徑皆為。開始端及結束端的Q Factor都保持為預設內訂值的0。 另外,Cylinder欄位保持空白。 註︰如果你對附加的輸入功能仍然感到好奇新鮮,當你在Builder 的這一列時,可以按電腦鍵盤上F1鍵,線上的求助說明會解釋它的使用方法。 現在只剩兩個格子需要注意︰Location及End Coord Z。理想上,它們的值應該是管狀物在Z坐標軸開始與結束的值,但是這些數值並未在透鏡的規格中。當然,我們可以利用幾何原理(使用sag方程式)來計算這些點的坐標,但是這並不是必須的。ASAP可以替我們做這些計算。我們的策略是使管狀物的長度有一點點大於它所需要的長度,ASAP會使用BOUNDS命令來去掉不需要的部分。現在設定開始的位置Location為0,及結束的位置End Coord Z為5。這個數值即是透鏡的前表面及後表面的鏡心位置,在這一例中方便使用。任何大約的猜測值都可以被接受。 4-76 ASAP Primer 入門指南 / 建立及預視幾何形狀
然而,為了光線追跡的效率及避免在3D圖像中的問題,最好使用接近理論值的猜測值。(在每一端面的差距在數個mm)。當你完成時TUBE命令時,ASAP Builder將顯示如圖,而其Preview將顯示如圖。 圖 管狀物Tube實體在Builder的顯示列。 見第4章附錄,在第86頁的“程式4-4”。 圖 在3D Viewer中預覽TUBE命令的結果。因為透鏡的規格並未包含開始面與結束面的坐標,開始時我們的猜測值可以略大。下一步我們可以使用BOUNDS來修飾物件去掉不想要的部分。 管狀物的界限及介面的增加 Bounding the Tube and Adding the Interface 在ASAP中,BOUNDS命令是一個非常有效的工具,我們可以使用它去掉不想要的表面。要使用BOUNDS命令之前,ASAP需要知道兩件事: ASAP Primer 入門指南 / 建立及預視幾何形狀 4-77
1.那一個幾何物件要做修邊動作?他們必須是在Tube定義之前定義的幾何形狀。這是為什麼我們選擇在管狀物定義之前先建立前表面及後表面。 2.一旦ASAP決定物件與修飾物的交界,邊界的那一邊要保留?那一邊要修剪? 在這例中,我們要修剪掉tube管狀物超出透鏡前表面及後表面的部分。(圖) 圖 定義BOUNDS命令。我們要告訴此命令,物件的那一部分要保留。我們要管狀物 () 為其在L1. FRONT正 (+Z) 的方向 (+.3) 及在負 (-Z) 的方向 ()。ASAP保留下的管狀物,可以滿足這些條件。 在Builder列中,直接在TUBE命令中,選擇System>Object Modifiers>Bounds。在稱為Entities的格子內,我們回答上面的兩個問題。其他兩個格子(Multiple及Group)仍保持空白。 4-78 ASAP Primer 入門指南 / 建立及預視幾何形狀
我們用數字來指定幾何形狀作修邊的動作。存在有兩個選擇︰絕對或相對參考。在絕對參考點,從檔案的頂部往下數,注意每一幾何形狀由上至下的次序(圖)。 至於相對參考點,你計算你目前的位置(BOUNDS命令)向上數。第二個選擇通常是比較好的,因為要被界限的幾何形狀通常在BOUNDS命令附近。此處我們使用這種方法。從Bounds列開始向上數,只數幾何形狀部分的片數。特別指出的是:相對參考點必須在物件編號整數之前加入一個小數點。 絕對物件 -2 + 1 或 相對物件 + .3 圖 參考點命令的方法。當ASAP命令在檔案中參考其他命令時,我們可以選擇指定命令是以絕對位置(由檔案頭向下數)或相對位置(由命令列向上數)。通常,相對參考點法是比較方便及安全。我們完成此方法藉由在整數前加一個小數點"dot"。ASAP能夠從上下文中分辨這個小點的代表意義,而不是數學上的小數點。BOUNDS命令只計算幾何形狀的定義,不計入其他的命令列。 計算是由底部向上數,第一個修邊的是,它是.2。我們要保留的是在的負側(-Z方向)。所以輸入(注意不要空格)。下一個修邊的是,它是.3。我們要保留的是的正側,( +Z方向),所以輸入+.3在相同格子,正號是可加可不加的,因為它是ASAP內訂的。要記得在這兩數間留一空格,否則ASAP會將此兩數加在一起!圖顯示的是完成的Bounds列。 見第4章附錄,在第86頁的“程式4-5”。 註︰部分ASAP之新使用者,覺得Bounding的過程合乎邏輯且容易理解,有些人會覺得這個概念是困難理解的。我們提供一有效的建議︰ASAP Primer 入門指南 / 建立及預視幾何形狀 4-79
如果你不能確定+-符號該怎麼使用,儘管挑選一個去做。如果它不能工作,則挑選另外一個。你總是會在兩次選擇以內獲得正確的選擇。進一步有關BOUNDS命令的資訊,見技術導引,“Arrays and Bounds”。 定義管狀物的最後一步驟是增加INTERFACE的規格,如同我們對兩個球面所做的。記得,這裡仍有物件修飾可在System>Object Modifiers>Interface>Coating尋得。因為大多數透鏡的邊緣並未研磨,所以我們在這例中將透鏡的“邊”的鍍層訂為Absorb。記住,也就是任何光線到達此面,即停止在這種Coating不再傳輸。直到我們準備好介紹散射表面(是對研磨過的表面為較適當的修飾),我們先就此用這一個解法。 圖顯示Cooke三片組鏡頭的第一片透鏡的完整Builder建造器檔。 圖顯示的是Cooke三片組鏡頭第一枚透鏡完整的Builder 建造器檔案。 圖 Cooke三片組鏡頭第一片透鏡的Builder檔。 若預覽結果,你應該會看到如圖所示的圖形。 4-80 ASAP Primer 入門指南 / 建立及預視幾何形狀
圖 Cooke三片組的第一片透鏡的完整3 D圖預覽。 Cooke三片組鏡頭的其他二片透鏡為本章末的練習。 ASAP Primer 入門指南 / 建立及預視幾何形狀 4-81
摘要 Summary 在這一章中,我們已討論下列的新命令。 ASAP命令 Builder Menu選項 描述 SURFACEE; System>Geometry>產生一個球面。 *OPTICAL Surfaces>Spherical SURFACE; TUBE System>Geometry>產生一個管狀體物件。 Surfaces>Tube INTERFACE System>Object Modifiers以光通量反射或折射的>Interface>Coating 比例定義表面行為。 BOUNDS System>Object Modifiers修飾掉物件中不想要的>Bounds 部份。 *從System>Geometry>Surfaces>Spherical產生的表面是根據一稱為OPTICAL的ASAP命令。利用這一命令,我們可以模型化任一圓錐曲面,包括圓,橢圓,拋物面及雙曲面。OPTICAL命令將在第6章“凱薩格林望遠鏡模型”中再詳加討論。 在第3章“建造器及幾何先前準備”的開始,我們已經進行6個“幾何形狀物之建立”的步驟,下表為一快速的檢查,其中顯示,除了第5步驟外,我們皆已完成。我們在Cooke三片組中不需要用到物件的平移與旋轉。 1定義系統設定值 單位 波長 2定義光學材質與鍍層 折射率 反射及穿透係數 3定義每一物件的幾何形狀 4指定每一物件的光學性質 5平移或旋轉每一物件到想要的位置及方向 6當物件建立時,圖形化證實每一物件的形狀,位置方向 4-82 ASAP Primer 入門指南 / 建立及預視幾何形狀
練習1︰完成Cooke三片組 Exercise 1: Completing the Cooke Triplet 1 從本章之ASAP Builder檔(圖,在第80頁“Cooke三片組的第1片透鏡的建造器Builder檔”。)開始,完成Cooke三片組鏡頭的幾何模型。其規格摘要列示於表及圖示於圖。數據取自Warren J. Smith的Modern Lens Design,第130頁。 表 Cooke三片組的規格 曲率半徑 厚度 介質材料 折射率 鏡片半截高 SK4 Air F15 Air SK4 Air 對於“鏡片厚度”的擴展,見下頁“提示”之第一項。 0 圖 Cooke三片組的圖式。沿著Z軸的紅色數字為不同鏡片頂的坐標,靠近頂部,黑色的數字為一般用在透鏡規格的“厚度”。 2 利用建造器Builder的Preview預覽工具確認模型,確定9個曲面ASAP Primer 入門指南 / 建立及預視幾何形狀 4-83
都存在於圖中。 3 在3D View中,開啟各坐標軸 (按鍵盤上的A鍵) 改變全物件的繪圖模式到邊緣凸顯Hightlighted Edges。 4 按Object視窗來決定物件編號,ASAP已給的。 提示 Hints •表中表示的間距為六個透鏡表面間之間距,稱為thickness,而非絕對全域坐標。使用thickness值在透鏡設計中是普通的實務。所以厚度值在ASAP中須累加轉換成Z軸坐標值。在第83頁圖中已轉換成Z軸上位置。 •第2片透鏡鏡頂球面的Z值,並不方便使用在估計管狀物的長度,未能如第1片透鏡的順利。記住,在應用Bounds命令之前,管狀物必須被設定略大。 •最後一曲面的厚度是此三片組系統的焦距,你不需模擬這個,ASAP自動會做。 4-84 ASAP Primer 入門指南 / 建立及預視幾何形狀
附錄4A 第4章的ASAP程式集 ASAP Scripts For Chapter 4 下面的ASAP程式是參考在第55頁“建造器及預視幾何形狀”。 程式4-1 !! THIS IS THE COMMAND SCRIPT PRODUCED BY THE BUILDER !! THIS IS CALLED THE U"GLY "FORM. ENT OBEJCT; OPTICAL 0 ELLIPSE 16. 916. 9'' !! IN THE BUILDER THE DEFAULT FORM OF A SURFACE IS AN OBEJCT. !! IN THE COMMAND MODE THE DEFAULT FORM OF A SURFACE IS AN ENTITY. !! SO IN CREATING SCRIPT FROM THE BUILDER AN OBEJCT COMMAND IS ADDED. !! THE FOLLOWING EDITED SCRIPT IS THE PREFERRED FORM OR G"OOD" FORM. SURFACE OPTICAL 0 ELLIPSE 16. 916. 9OBEJCT '' !! NOTE THAT THE SCRIPT USES THE OPTICAL COMMAND. !! SPHERICAL IS A FORM OF THE OPTICAL COMMAND SHOWN ONLY IN THE BUILDER. !! THE VALUE 0 BEFORE THE WORD ELLIPSE IS THE CONIC CONSTANT. !! THE CONIC CONSTANT FOR A SPHERICAL SURFACE IS 0. 程式4-2 !! THIS IS THE COMMAND SCRIPT PRODUCED BY THE BUILDER. INTERFACE COATING TRANSMIT AIR SK4 ASAP Primer 入門指南 / 建立及預視幾何形狀 4-85
程式4-3 !! THIS IS THE COMMAND SCRIPT PRODUCED BY THE BUILDER. ENT OBEJCT; OPTICAL Z5 0 ELLIPSE 16. 916. 9'' INTERFACE COATING TRANSMIT AIR SK4 !! THE FOLLOWING EDITED SCRIPT IS THE PREFERRED FORM. SURFACE OPTICAL 0 ELLIPSE 16. 916. 9OBEJCT '' INTERFACE COATING TRANSMIT AIR SK4 !! NOTE THAT THE SCRIPT USES THE OPTICAL COMMAND. !! SPHERICAL IS A FORM OF THE OPTICAL COMMAND SHOWN ONLY IN THE BUILDER. !! THE VALUE 0 BEFORE THE WORD ELLIPSE IS THE CONIC CONSTANT. !! THE CONIC CONSTANT FOR A SPHERICAL SURFACE IS 0. 程式4-4 !! THIS IS THE COMMAND SCRIPT PRODUCED BY THE BUILDER. ENT OBEJCT; TUBE 16. 916. 95 16. 916. '' !! THE FOLLOWING EDITED SCRIPT IS THE PREFERRED FORM. SURFACE TUBE 16. 916. 95 16. 916. 90 0 OBEJCT '' 程式4-5 !! THIS IS THE COMMAND SCRIPT PRODUCED BY THE BUILDER. BOUNDS .- 2.+3 4-86 ASAP Primer 入門指南 / 建立及預視幾何形狀
第 5 章 執行及確認幾何形狀 RUNNING AND VERIFYING GEOMETRY 在這一章中,你將第一次執行Builder檔,所以ASAP的計算引擎可以認識、了解你的光學系統。一旦Builder檔執行了,你將有一些增加的工具,你可以使用這些工具進一步正確地確認你系統中所模型化的幾何形狀。對大多數的我們而言,這是一個值得我們投入努力的決定性步驟,盲目地進行光線追跡及分析之前。這關鍵字是“盲目地”(blindly)。這個確認幾何形狀的步驟是非常地沈悶的,如果沒有非常好的圖形化及互動的工具,有一些工具將在本章中介紹。 我們將繼續使用在第三章及第四章中發展的Cooke三片組相機鏡頭模型,來顯示這些新概念及工具。 ASAP建造器及其計算引擎 ASAP Builder and the Kernel 這個ASAP kernel是計算引擎,他可以執行這個程式所有的光線追跡這個計算引擎只有及分析。他也維持一個資料庫包含所有的介質、鍍層、及使用在你“執Builder或其他方法定義的幾何形狀實體 (entity)。然而,這個計算引行”這個Builder檔擎不是活的,當你將資訊鍵入Builder的格子或甚至當你完成一列時,變成了解你的時。這個計算引擎只有在你“執行”這個Builder檔時,才變成意識系統。 到你的系統。然後,資訊從Builder傳遞到計算引擎,你種種的定義才會變成ASAP資訊資料庫。 執行建造器 Running the Builder 當你滿意你的幾何形狀的預覽時,這個時間是執行Builder檔且將這些資訊傳送進ASAP系統資料庫的正確時間。你將由在ASAP工具列ASAP Primer 入門指南 / 執行及確認幾何形狀 5-87
上按End鈕來開始這個程序。 這個步驟拋開所有已經存在的幾何形狀(假如你已有任一個)。當按End鈕,避免然,這個步驟是不需要的,如果你並沒有執行過Builder檔或ASAP相同的幾何形狀在程式在目前ASAP區段。然而,按End鈕來開始是一個好的習慣,值系統的資得我們學習,來避免相同的幾何形狀在系統的資料庫裡產生多重的複料庫裡產生多重的製。當我們按End鈕時,輸出視窗反應出下面的資訊︰ 複製。 ---END System database and settings have been reinitialized 註︰你可以組織ASAP的Builder所以他可以自動地執行End命令,當每一次Builder被執行時。在Builder切換 (Toggle) Append Geometry按鈕,或取消 (deselect) Builder>Append Geometry從Builder的menu選項。然而,大多數的使用者偏好手動來執行End命令,可以給予他們較大的彈性來使用多重的Builder及程式檔,包含不同的實體元件在他們的系統。 如果你尚未完成,開啟你的Cooke三片組Builder建造器檔 (Cooke ),並執行run這個檔案。這個run的按鈕是在Builder視窗的工具列上,該記號看起來像一個閃電。當你按它在Builder裡的每一列將被送到計算引擎並依序執行。你將看到每一命令的回應,在命令輸出Command Output視窗。這個過程在大多數的計算機上只需不到一秒鐘的時間。 在執行Builder後,在ASAP的資訊框內,有兩個有趣的改變發生。這個ASAP 第一,你將看到波長的尺規 (WS) 及系統的單位 (SU) 被定義在螢幕的kernel是計下端狀態列Status bar裡面。第二,在ASAP的工作區視窗,有Cooke算引擎,他三片組的九個曲面將顯示在物件選項Objects tab上。對於Cooke三片可以執行這個程式所有組而言,這個視窗將顯示如圖。(按“+”的符號會擴展所有階的的光線追跡樹狀檔案,來看在這個圖中的樹狀檔案結構)狀態列Status bar及物及分析。他件選項Objects tab都顯示目前ASAP系統資料庫的狀態,並保證我們也維持一個資料庫包含的幾何形狀定義被成功地執行。 所有的介 質、鍍層、及使用Builder或其他方法定義的幾何形狀實體 (entity)。 5-88 ASAP Primer 入門指南 / 執行及確認幾何形狀
圖(左圖)按End鈕之後,在ASAP工作區中點選Objects tab選項。(右圖)相同的視窗在執行Builder檔後被點選,擴展成檔案樹。打勾的小盒子裡顯示所有的物件目前都被考慮。藉由刪除打勾符號,我們可以暫時的造成ASAP忽略一個或多個物件在產生圖像光線追跡及執行分析的時候。 更進一步,當你到System menu選項然後按List Media或List Coatings,你將在命令輸出Command Output視窗看到你的玻璃種類及鍍層定義已經被ASAP知道。這些資訊保留為ASAP資料庫的部分,直到下一次你按End或者離開ASAP。 輪廓剖面命令 Profiles Command 在Builder的預視 (Preview) 功能中有一個特性不提供,就是定量證實確認我們系統中曲面的大小及位置的能力。3D Viewer能夠告訴我們這個結果是否看起來正確--沒有任何部分消失及每件事情都在正確的位置--但是沒有真實的量測可以從這些圖式得到。然而,現在我們在系統資料庫內有已經定義的物件。新的工具特定地設計來從內部儲存的數據提供給我們使用。 ASAP Primer 入門指南 / 執行及確認幾何形狀 5-89
第一個新的圖式命令,我們將要看的是PROFILES。這個命令允許我們將系統的元件顯示為一個或多個平的片狀物,這個PROFILES命令對產生互動幾何尺度及位置的量測很有用。待會兒,我們將使用它連結以光線追跡圖式來顯示光線在系統中的移動。 嘗試選擇System>Profiles從主ASAP選項,或按Profiles鈕在ASAP的工具列上。 使用任一種方法,你將看到多視窗的對話框在圖及圖。 圖 Profiles tab選項在Profiles的對話框。我們可以在結果的圖象上加入標題,選擇圖象的片狀數目,像素的解析度,選擇往後的圖象是否重疊在這圖象上,及改變內訂的物件顏色。當你按OK時,程式鈕Script可以擴展這個對話框來顯示被發出真實的ASAP的命令。 在這個Profiles tab選項,你可以鍵入一個任意的標題,這標題會出現在圖象上,我們將這個圖命名為“Cooke Triplet”。這個內訂的解析度是201個像素,它的意思是這個圖的垂直方向ASAP將會分割成201個等間隔的要素。這個解析度通常夠用了。你可以在片狀數目設定為1(內訂值),這個將給你整個物件為一個單一的片狀,ASAP將會畫一個截面圖或系統的“profile”。 但是那一個平面將做這個片狀呢?你可以在Window tab選項中指定平面。 5-90 ASAP Primer 入門指南 / 執行及確認幾何形狀
圖 在Profiles對話框中的Window選項。我們可以選擇結果檢視的投影平面。注意第一個坐標軸 (Y) 是垂直軸,第二個 (Z) 是水平軸。我們可以指定視窗的大小,或允許ASAP自動調整尺規來適應所有的幾何形狀在這視窗中。 內訂的Window選項是Y-Z平面--在我們這案例中是一個好的選擇,因為我們的光軸是Z軸。我們也希望ASAP能自動尺規化視窗(內訂的選擇),使得視窗剛好夠大來顯示我們系統中所有的9個物件。其他的內訂選項也適用我們這個圖象。在許多狀況下,我們不必需要在Window tab選項下改變。 第三個tab選項,Oblique,目前也可以忽略。這個tab選項,有時可以被用來產生一個斜向的物件圖(包含沒有透視畫法),它有時是有用的。 當你按OK,ASAP開啟一個Plot Viewer視窗,同時顯現系統的側面圖象。在下面的章節中,我們將作這個視窗提供的特性的快速導覽。 見第5章附錄,在第109頁的“程式5-1”。 繪製Viewer視窗 Plot Viewer Window ASAP使用Plot Viewer來顯示PROFILES命令的結果,及許多ASAP的圖象確認及分析工具。例如在上一章討論的3D Viewer,是值得多花一些時間來發現及實驗這個視窗。 在第92頁的圖反白提示一些Plot Viewer視窗的重要特性。在這圖中,坐標系統的原點可能或不可能被看到完全依賴你在這個對話框中Window tab所做的選擇,及是否有物件被建立在全域坐標原點。ASAP Primer 入門指南 / 執行及確認幾何形狀 5-91
但無論何時這坐標原點包含在這個View,其位置是由繪圖區域邊緣上的小tick標誌。視窗的角落也被標示,沿著它們的坐標。 Home 平移 放大(回歸原來的 view)標題 角落座標 (垂直在前,水平在後) 角落記號 標示座標原點 的核對記號 圖 一單一片,或縱向截面,使用Profiles在Y-Z視窗,通過Cooke三片組的中心。坐標系統的中心,可以被發現,藉由連結垂直及水平的記號。ASAP也印出視窗右上及左下角落的坐標。 一旦ASAP已經繪這內訂的檢視圖,我們可以放大任一塊有興趣的區塊。ASAP提供Zoom及Shift按鈕在視窗的上部工具列。較方便的方法來選擇視窗區塊是按住滑鼠左鍵拖拉來產生一個新的視窗(圖),若你在放大與平移圖象中迷失,按鍵盤中的Home總是可以回到原來的尺規與中心位置。 5-92 ASAP Primer 入門指南 / 執行及確認幾何形狀
Home (回到原來的 view) 圖 (左圖)你可以放大視窗中的任何部份,藉由利用拖拉滑鼠來定義一個有興趣的長方形。(右圖)按HOME鈕回到視窗原來的尺規及中心。 Plot Viewer視窗的最有用的互動特性之一是可以動態的讀出坐標的能力。嘗試按住SHIFT鍵,同時在Plot Viewer內移動滑鼠。有一彈出的視窗顯示該游標位置點的Z軸及Y軸坐標(圖)。在前一章中,在管狀物用來模型化透鏡邊緣界限之前,這個特性是一種很好的方法來估計管狀物Z軸上的開始點及終止點的Z軸坐標。。 圖 藉由按下SHIFT鍵及移動滑鼠,有一游標沿著位置位標出現。你可以使用這個坐標伴隨放大視圖,來做幾何形狀的詳細量測。 ASAP Primer 入門指南 / 執行及確認幾何形狀 5-93
我們可能執行了未完成的Builder檔在建立了前幅與後輻的透鏡表面。其次,我們使用System>Profiles(或按鈕)來畫縱向截面圖,同時使用滑鼠來讀出我們所需的數字,僅比透鏡的邊緣大一點。一旦完成,按End鈕將會移除所有前置準備的產生幾何形狀記號。 如同我們在3D Viewer中所做的,其他Plot Viewer的細節留給(再目前)你個人來發現與實驗。Plot Viewer的按鈕包含一些最常用的函數及選項,該功能選項列在表供參考。這些及其他特性可以在Plot Edit及File選單(只在Plot Viewer被點選時出現),或在Plot Viewer視窗中按滑鼠右鍵產生一下拉式選單中出現。 你可以在User Interface Preferences對話框中(File>Preferences)改變,Plot Viewer視窗的內訂行為。 表 種種的Plot Viewer按鈕功能。 顯示前一個Previous圖(內訂,前12個圖可以被存檔) 顯示下一個圖Next plot 將background背景作黑白間切換 Tile舖瓷磚片式的顯示所有的圖式 坐標尺規(相等尺寸比例垂直方向與水平方向)Toggle Isotropic為on或為off。內訂值為“on”。 回到原本的圖式或在Zoom及Shift後按“home”回到原本的 尺規或中心。 剪下Cut(或刪除delete)這個圖式的資訊,並複製它到視窗 的剪貼簿Clipboard。 複製Copy圖式資訊到剪貼簿Clipboard。 將資訊貼上Paste剪貼簿Clipboard。 鎖住Lock這個視窗,以免後續的圖式覆蓋在其上。 移動Shift圖式向左、向右、向上、向下。 圖式的放大或縮小Zoom。 5-94 ASAP Primer 入門指南 / 執行及確認幾何形狀
向量檔及3D Viewer Vector Files and the 3D Viewer 有時候,將系統投影在2維的視窗,例如Plot Viewer要了解複雜的三維資訊是相當困難的。舉個例子說明,嘗試再次選擇System>Profiles,但這次片數選擇21而非上次的1片。其結果顯示在圖。 圖 從Profiles對話框 (System>Profiles) 中選擇縱面片數為21,其結果顯示幾何形狀每一元件的有21片等距離的片狀平面。這個圖式是投影在Y-Z坐標。 別擔心,假若你不確定你所看到的圖象。這是21片等間隔分布在系統資料庫中每一物件的投影。 伴隨著在Plot Viewer視窗中顯現的2維圖式,ASAP也產生一3維版的數據在“Vector file”。當使用Profiles(及許多其他圖形命令)時,3D的向量檔自動完成,並不需要使用者作任何增加的努力,直到你準備好觀看3D圖象時,在執行過具有21片縱列的Profiles命令後,請按在ASAP工具列上的3D View按鈕。它看起來像Builder中Preview的按鈕。 其結果顯示在圖。開啟這3D Viewer視窗,就是你在Builder你使用來預覽物件相同的工具,所以其中的許多功能應已經熟悉。ASAP Primer 入門指南 / 執行及確認幾何形狀 5-95
嘗試按滑鼠右鍵並拖拉滑鼠來旋轉這個圖式。現在,“21片”的意義將會明朗。 圖 ASAP自動產生一個3D版的縱列面PROFILES的數據來觀看在3D Viewer。ASAP可以快速及平滑化的旋轉圖象,經常對視覺化一個投影中複雜的檢視圖是一個無價的協助。 當你繼續學習ASAP的相關使用者介面及工作在ASAP環境中,你將看到一些驚人的大量資訊累積在這個向量檔,及其他與3D Viewer相容的檔案。最後,你將可以產生你自己的3D模型來顯示幾何形狀、光線軌跡、點陣圖及其他分析結果(圖)。 5-96 ASAP Primer 入門指南 / 執行及確認幾何形狀
圖 這個圖式是光管設計,其中有些表面暫時隱藏,所以我們可以看到光線在光管體內的路徑。上部的面板是人工假色用來顯示輻射強度的分布。因為ASAP可以為大多數的圖象結果做3D的顯示版本,我們可以產生詳細的顯示圖,其將結合,幾何形狀資訊、光線追跡的細節及分析結果。 繪製刻面 Plot Facets 另一個非常有用的ASAP工具是PLOT FACETS。它完成製作你幾何形狀三維圖象的第一步,類似在Builder中的Preview函數功能。這個命令將系統資料庫中所有的曲面以平面多角形的序列加以近似(只用在圖形目的上)。這個過程稱為“刻面faceting”或有時稱為“網格化meshing”一個曲面。 當你從ASAP選項中選擇System>Plot Facets,另一個帶著三個tab選擇標耳的對話盒將出現。Window及Oblique tab選項與我們在Profiles對話盒中所見到的完全相同。然而,在Plot Facets選項我們將面對一些刻面的選擇。這個對話框是我們控制多角形的數目,其為我們想要用來表現物件的刻面數。目前,將邊緣間及邊緣內的刻面數設訂為5,並將最大刻面數Maximum Facets留為空白。我們將會於近期內再討論更多有關這個數值。 在這一對話盒按OK後,你將看到顯示在圖的結果。 見第5章附錄,在第109頁的“程式5-2”。 ASAP Primer 入門指南 / 執行及確認幾何形狀 5-97
圖 Plot Facets展現在系統資料庫內的曲面,藉由顯示曲面為一序列的平板多角體。當在Plot Viewer中檢視時,我們看到這些具有刻面的物件邊界,其被投影在所選擇的視窗(此處為Y-Z平面)。 從這個檢視圖,提供了Plot Viewer一般常用的特性,包括放大縮小,平移,於在前一章中討論的互動的位置量測。然而,到目前為止,PLOT FACETS命令並未真正出現比PROFILES重要的優點。假若我們都在使用滑鼠游標來做量測,這個量測任務可以一片通過中心的片狀物來完成,其圖象中具有較少的Clutter。真正PLOT FACETS的價值在於向量(三維)版本的數據,其也被一起產生,但不是自動地顯示。在按3D View鈕來觀看這版本之前,先按ASAP工具列左邊的Vector Rewind鈕。 向量回轉將所有先前的數據從三維向量檔移除。只有最近的繪圖命令結果將出現(圖及圖)5-98 ASAP Primer 入門指南 / 執行及確認幾何形狀
圖 向量檔累積自最後的Vector Rewind或最後的End所有的繪圖資訊。 這個圖顯示先前Profile圖疊上由Plot Facets刻面所產生的3D平滑陰影化圖的結合。3D Viewer的繪圖樹狀圖列出每一物件2次。 圖 由點選Vector Rewind。我們可以在執行Plot Facets之前“清除”向量檔。現在在此,只有最後結果會顯示在3D Viewer。 在點選3D View鈕之後,你將看到一個3D的檢視圖,其不但是我們以前在Preview已經見過,而且,事實上,是相同的事情。現在我們有工具可以手動的產生這些三維的檢視圖--即使是一個事後想到的想法,如果我們尚未學習到展現在Plot Viewer上所預期的資訊。 ASAP Primer 入門指南 / 執行及確認幾何形狀 5-99
我們將看到在組合不同圖象到一3D檢視圖時,它給我們較多的彈性,類似先前地顯示在第95頁的圖。 有多少個刻面? How Many Facets? 我們需要暫時回到在Plot Facets對話框內邊緣間 (inter-edge) 及邊緣內 (intra-edge) 參數的問題。我們將它們設為5,可在Plot Viewer及3D Viewer視窗,皆獲得良好的圖式。但,到底這些數字代表什麼意義? 刻面化或網目化ASAP的以曲面為基礎的物件,不是一個簡單的過程,因為這種實體的形態的數學式(他們是以隱多項式的表現)。ASAP使用一種“smart faceting”智慧型刻面的演算法,其可以帶給這個問題相當聰明的解決方案。結果,它有時候藉由觀察結果很難真正瞭解現在在做什麼。簡單地說,愈多的刻面通常是愈好,但是計算較慢,而且比較困難在3D Viewer中操縱它。太少的刻面會造成細節不清楚,或甚至於迷失掉物件。這一點可以顯示在圖及圖。 圖 PLOT FACETS 1 1。我們強迫ASAP的刻面在這一個層級。注意已經完全消失(太薄),這個圓形的物件是八角形體。 5-100 ASAP Primer 入門指南 / 執行及確認幾何形狀
圖 PLOT FACETS 5 5。對一個簡單的物件,這是一個相當好的刻面選擇。雖然刻面仍然可見,特別是在管狀物上,它們變得比較不明顯假如你選擇Smooth Shaded檢視模態。 上面這個圖顯示:你如何能說,這個問題是真實的,或者只是「刻面數」的問題。我們將在第231頁的第13章 「邊緣物件」討論邊緣物件時,再回到這個問題。 另一個「聰明刻面」計算流程的特徵是:對一物件的表面,允許一最大的刻面數(個別的平面多角體組成這些表面) 。假若,最大刻面數 Maximum Facets 資訊盒保留空白,則使用PLOT FACETS命令時,ASAP對每一物件 將只允許產生4096個刻面。若在此資訊盒中輸入值為0時,ASAP產生的刻面數將以所給定的邊緣物件間inter-edge與邊緣物件內intra-edge的參數為準。任何其他的數字輸入此資訊盒中將顯示的是每一物件最大值刻面數的近似值。 然而,“需要多少刻面來使用?”這個問題的答案是簡單的︰使用能夠產生好的圖像的刻面數。如果你使用PLOT FACETS來證實幾何形狀時,你看到圖像不太正確,增加刻面數並觀看是否檢視圖有改善。這個時候你可以了解到問題是真正存在或只是刻面數的問題。我們將在第13章“邊緣” 討論邊緣實體時,再回到這個問題。 我們要再一次的強調刻面數的問題是一個藝術工作,通常跟光線所看到的真實物件沒有太大關係。光線的光線追跡是完全依據曲面的數學表示式而不是刻面的近似形狀。如果你是一個數學的愛好者而且想了解ASAP中以曲面為基礎的實體entity的詳細細節,參考在第107頁的補充附錄, “System Database”。 ASAP Primer 入門指南 / 執行及確認幾何形狀 5-101
處理多重的圖式 Managing Multiple Plots 到目前你可能已經執行了幾個PROFILES及PLOT FACETS命令。你可能已經注意到ASAP將所有的圖像放在一個Plot Viewer視窗。然而,ASAP並不會永遠地覆蓋這些舊的結果。最後的12個圖式(內訂)保留給你來做重新檢視使用。ASAP工作區 (Workspace) 視窗的Views選項耳,允許我們來選擇一個指定的圖式來重新檢視(圖)。最後的圖式總是在最下面的底部,你也可以在圖式中一頁一頁地切換,藉由使用在Plot Viewer視窗左上角的Next Plot及Previous Plot按鈕。 按滑鼠點選 圖 雖然ASAP顯示所有的圖式在單一個視窗,在舊的資訊被覆蓋以前,12個圖式視窗將被保留。你可以藉由按在ASAP工作區的Views選項中的任一個圖式,在ASAP Plot 1底下切換這些圖式。這個視窗只顯示4個圖式。 5-102 ASAP Primer 入門指南 / 執行及確認幾何形狀
有時候,你可能需要做並列圖式的比較。我們有幾種選擇方案。可能最簡單的方式是在Plot Viewer視窗上的Tile按鈕,其顯示所有的圖式(最多12)以瓷磚片相連的格式。為了比較兩個圖式,第二圖式可以暫時的開啟,兩個圖式之一可以放在另一個之上。這裡是操作的程序︰ 1. 在ASAP工作區 (Workspace) 視窗中,按ASAP Plot 1其中一個圖式。 2. 從功能表選單中,選擇Plot>Copy,或在Plot Viewer視窗中選擇Copy(複製)按鈕。 3. 在ASAP工作區視窗中在Plot Viewer上按滑鼠右鍵,並選擇New。 4. 在新開啟的視窗中,選擇Plot>Paste,或在Plot Viewer視窗中選擇Paste(貼上)按鈕。 5. 移動或重新訂定視窗的大小,如你的並排圖式的比較所需要。 當你完成,你可以在ASAP工作區視窗中的Plot 2按滑鼠右鍵並選擇Close來關閉這個新的視窗。如果你喜歡,將它留下以備以後使用。個別的圖式畫框,可以在任何時刻,在這些視窗之間被複製、剪下、貼上。 我們已經描述了Plot Viewer功能預設的內訂行為。你可以改變這些及其他繪圖函數藉由使用File>Preferences的對話框,選擇Plot Viewer的選項(圖)。從這裡,你可以改變顯示視窗的預設數字,及每一個顯示視窗的圖式數目。 ASAP Primer 入門指南 / 執行及確認幾何形狀 5-103
圖 你可以藉由選擇File>Preferences來控制使用者介面的許多特性。從Plot Viewer選項,你可以調整顯示視窗的數目及每一視窗中允許的圖式數目,及在Plot Viewer視窗中其它的幾個特性。 當你選擇超過一個視窗時,ASAP分配所有未來的圖式進入這些視窗,以一種旋轉的方式,你可以實驗這些設定來看什麼做法對你最適合。 5-104 ASAP Primer 入門指南 / 執行及確認幾何形狀
摘要 Summary 在這一章中,我們已經討論了下面兩個新的命令︰ ASAP命令 ASAP功能選項 描述 WINDOW System>Profiles PROFILES在Plot Viewer中畫 系統幾何形狀的一個或多個片PROFILES 狀的結構圖。WINDOW控制檢視平面。相同的資訊可以在3D Viewer中看到。 WINDOW System>Plot Facets PLOT FACETS在Plot Viewe 中產生,系統幾何形狀的3維PLOT FACETS 圖,藉由使用扁平多角體的近似(僅供繪圖用)來逼近系統的幾何形狀。WINDOW可以控制檢視平面。相同的資訊可以在3D Viewer中看到。(相等於Preview) 。 我們第一次執行Builder檔。這會造成ASAP的計算引擎解析在Builder中的命令,來建立一個“系統資料庫”。這檔案包含我們系統中介質、鍍層及幾何形狀的詳細資訊-一個了解ASAP如何工作的關鍵概念。(如果你想進一步了解ASAP中以曲面為基礎實體的細節,參考在第107頁的“系統資訊資料庫”。)一旦,建立了資訊資料庫,資料庫將會保留,直到你中止ASAP,或按END鈕來放棄所有的先前工作。當我們引入光線到系統時,它們將使用這些資料庫中的資訊來尋找它們通過光學系統的路徑。假如我們正確地定義這些介面,光線將在每一物件顯示出期望中的光學行為(反射、折射等等)。 一旦,你執行了Builder,ASAP就知道你系統中的介質、鍍層及你所定義的種種的幾何形狀物件。這個在System功能選單上的工具,現在可以供我們列出清單,繪圖,及檢驗證實我們系統中的元件。你也總是可以分辨,如果你已經執行Builder藉由檢驗在ASAP Workspace工作區視窗的Objects tab選項。沒有物件會被列示,直到你已執行了這一關鍵的一步驟。 ASAP Primer 入門指南 / 執行及確認幾何形狀 5-105
我們近距離的檢視PROFILES及PLOT FACETS命令,它允許我們來發現ASAP Plot Viewer的許多特性。你也將在光線追跡及其他許多分析圖式中使用這Plot Viewer。我們將在整本入門指南Primer中使用這個重要工具非常頻繁。 我們也將發現大多數的繪圖函式都會產生三維或向量式的圖式資訊。這些圖式不會自動的顯示,但可以在任何時刻藉由觸發3D Viewer來觀看。 5-106 ASAP Primer 入門指南 / 執行及確認幾何形狀
系統資料庫 System Database 這是ASAP深層的操作哲學,ASAP的光學光線追跡是數學的問題而非圖象的問題。然而,對大多數使用者而言,這個分別是不重要的。好的使用者介面圖象工具可以將轉換你幾何形狀為ASAP偏好形成的基本的數學表示為我們易於使用及直覺了解的形態。數學形態仍是ASAP中使用的基礎,所以其可以協助我們來觀看ASAP工作中的真實數據。 你可進入ASAP看一眼ASAP中系統資料庫,藉由回到ASAP工作區Workspace視窗的Objects選項。擴展樹狀檔案到個別物件的層級,在上按滑鼠右鍵。在下拉式功能選單上按Properties,且執行ASAP PRINT命令,列印Object 1資料庫內的資訊,顯示在命令輸出Command Output視窗的資訊,如下圖顯示︰ 231 圖 數學實體在ASAP資料庫中列印的資訊。 4 6 5 圖 物件在ASAP資料庫中列印的資訊。 (下頁續)ASAP Primer 入門指南 / 執行及確認幾何形狀 5-107
系統資料庫(續) System Database (concluded) 基礎數學實體(在這一例中只有一個)被用來建構Object 1(一個球面)可以描述為︰ 1. 定義物件Object 1的數學實體是滿足下面方程式的動點︰ 222--+z-=0 。 2. 我們感興趣的曲線部份曲面是,在半徑為以內的圓柱體,從 z=- 到 z=。 3. 這個實體也被用在物件Object 3(由及界限的管狀物)。 緊接著物件資料將為︰ 4. 物件Object 1命名為,是以實體entity 1為基礎(如上所描述)。 5. 它是真空或空氣與SK4之間的邊界。 6. 它被指定鍍層編號為1,其被定義在底部作參考用。 我們發覺大多數的圖式也同時產生一三維的“向量”版的圖式資訊。此向量版之圖式不會自動顯示,但可以隨時藉由觸發3D Viewer來觀看。 5-108 ASAP Primer 入門指南 / 執行及確認幾何形狀
附錄5A 第5章ASAP程式集 ASAP SCRIPTS FOR CHAPTER 5 下面的ASAP程式是參考在第85頁的“執行及證實幾何形狀”。 程式5-1________________________________________ !!THIS IS COMMAND SCRIPT PRODUCED FROM THE PULLD-OWN MENU. WINDOW Y ZOBLIUQE OFF PROFILES 0 0 1- PIXELS 021 !!THE FOLLOWING IS THE SCRIPT YOU ARE LIKELY TO CREATE. WINDOW Y ZPROFILES 0 0 1- PIXELS 021 程式5-2___________________________________ !!THIS IS THE COMMAND SCRIPT PRODUCED FROM THE PULLD-OWN MENU. WINDOW Y ZOBLIUQE OFF PLOT FACETS 5 5 !!THE FOLLOWING IS THE SCRIPT YOU ARE LIKELY TO CREATE. WINDOW Y ZPLOT FACETS 5 5 ASAP Primer 入門指南 / 執行及確認幾何形狀 5-109
5-110 ASAP Primer 入門指南 / 執行及確認幾何形狀
第 6 章 凱薩格林望遠鏡 CASSEGRAIN TELESCOPE MODEL 在這章中,我們將暫時離開上一章的Cooke三片組,開始建立傳統而著名的凱薩格林望遠鏡。我們可以僅使用三個表面模擬這設計的主要結構設計,如圖所示。在圖中主反射鏡的形狀為拋物面,其次反射鏡為雙曲線面。 平面 雙曲面的次反射鏡 拋物面的主反射鏡 圖 一個古典凱薩格林望遠鏡。光線來自左邊,碰到凹面的主反射鏡,反射到凸面的次反射鏡後,光線再反射穿出主反射鏡中心的一個開口孔徑。 這個設計能夠給予幾乎完美的近軸影像,雖然像差隨著離軸的角度會快速的增加,這個設計的其他資料可以在第112頁的補充附錄“什麼是凱薩格林望遠鏡”中討論。 ASAP Primer 入門指南 / 凱薩格林望遠鏡 6-111
什麼是凱薩格林望遠鏡? What is a Cassegrain Telescope? 大多數的大口徑望遠鏡是使用反射鏡,而非透鏡來收集光線。因為光線必須穿透透鏡,它只能夠利用透鏡的邊緣來固定。這個原因限制了折射式望遠鏡的直徑最大為一公尺,因為再大的透鏡將被他自己的重量壓垮。重力將使他們的形狀變形,(因此影響其成像品質),其變形的量與方式依望遠鏡所指向的天空角度而定。 反射式望遠鏡能夠被製造成非常大,因為主反射鏡可以由背後穩固的結構來支撐。唯一的問題是由凹面鏡所形成的影像在凹面鏡之前。這個是非常不便及不實用的成像位置,因為成像位置的高度高於地面,及其位置為入射光的中途。 解決這個問題的一個方法是由凱薩格林在1672年提出,他增加一片凸面鏡,稱為次鏡,放在主鏡的焦點之前。光線因此穿出主鏡中央圓孔而離開系統如圖中所示。然而次鏡是放在入射光的中途,唯一的影響是阻擋了小部分的入射光,同時增加了(通常是小量)部分繞射效應。 凱薩格林望遠鏡是一個緊湊的設計,一個簡單的單一反射鏡系統,若具有與凱薩格林組態相同的有效焦距時,其全長將四倍於凱薩格林組態,現在長焦距望遠鏡可以建造於一個簡單的單一反射鏡系統,若具有與凱薩格林組態相同的有效焦距時,其全長將四倍於這個凱薩格林望遠鏡組態。現在,長焦距望遠鏡可以建造於一個短的鏡筒內,這個,也造成望遠鏡的圓形屋頂,可以比較小及比較便宜。 其他重要的凱薩格林設計,特點是其焦平面在望遠鏡的後面。這是一個方便的地方來安裝大的、重的儀器。為了放置主鏡的組裝結構及焦平面的儀器在一起,對薩格林式望遠鏡是非常容易做到機械的系統平衡。就是這個原因,現在大多數的天文望遠鏡基本結構都是凱薩格林式,雖然有許多種不同的形式。 6-112 ASAP Primer 入門指南 / 凱薩格林望遠鏡
在上一章Cooke三片組模式中,只使用球面及管狀。在ASAP模式中,什麼曲面可以提供來模擬平面、拋物面、雙曲面?我們將需要介紹兩個新的曲面來發展這個模式︰就是PLANE及OPTICAL。大多數的工作可以在本章末的習題中練習。這個模型將在第10章的第177頁中再使用。 註︰如果你計畫使用ASAP來學習照明或其他非成像系統,你花在這個範例中的時間不會浪費。包括成像及不成像的問題,都使用相同的光線追跡及分析技巧。在此ASAP入門的範例中使用成像問題,只不過因為其基本光源較為簡單,允許我們進行的較為快一些。我們將在第十六章中,集中注意力於非成像應用,那時我們將討論擴展光源。 平面表面 Plane Surface 你將需要一個平面的表面來模型化凱薩格林望遠鏡的焦平面。你可以使用一個球面,具有無限大的焦距(或至少一個任意大的值),但這樣做可能不夠效率。這個PLANE平面在builder中是與其他的類型表面的entities放在一起。總共有三種路徑可以使用plane命令,目前最被廣泛使用的是System>Geometry>Surfaces>Plane。內訂的Builder entry顯示如下 圖 Builder中內訂的平面Plane列數入值。 這個entry允許我們定義一個平面垂直XYZ三個全域坐標軸中之任一個。我們甚至可以使用plane命令定義螺旋狀平面,當我們學到旋轉物件(第15章“重新定位幾何形狀及光線”)。就是這個理由,其他兩種方式的PLANE很少被使用。 孔徑的形狀,孔徑的半徑,阻隔率及移位具有與第四章中球面表面相同的意義。這個內訂的凱薩格林望遠鏡範例不需要這些參數。它將產生一個圓形的平面,位置在原點,垂直Z軸,且其半徑為1。其他欄位是選配的,雖然它總是有一個好理由來命名物件。一個完整的範例可以顯示阻礙率及平移如圖所示的步驟。 ASAP Primer 入門指南 / 凱薩格林望遠鏡 6-113
yX軸半徑Y軸半徑 x 偏移偏移 'Y'XzZ軸位置 圖 PLANE命令,在最常用的型式,允許中間有一個孔,(圓孔形狀大多數與孔徑Aperture參數相同),同時整個物件從指定的Axis軸平移。 光學表面 Optical Surface 另一個你需要去模型化凱薩格林望遠鏡的表面命令是System>Geometry>Surfaces>Optical。這個命令允許我們來模型化任何圓錐曲面,包括拋物面,橢圓面(包含圓球面)及雙曲線面。更進一步,我們可以增加軸對稱的(偶數的)非球面項,其指數可高達20次方,使得此命令能夠應用於所有通用的光學系統之表面。 它可能不令人驚奇,就是因為這個命令的彈性,Builder中此OPTICAL表面的選項高達22項,雖然其中許多是選擇性的,他可能需要水平捲軸來觀看所有的參數。 6-114 ASAP Primer 入門指南 / 凱薩格林望遠鏡
我們將分成三段來討論這一長的Builder列,開始討論靠左邊的六個資訊格內訂的顯示項。 圖 OPTICAL Surface在Builder列內所顯示開頭部分的部分。 由System>Geometry>Surfaces>Spherical進入的entry大多數的參數看起來都類似,只有圓錐常數是新的。在分析幾何上和光學上,傳統的用法是指定圓錐的型態,我們想要創造的簡單、連續的參數。見第116頁的側頁“數學上的圓錐”。下面的表中摘要其意義。 表 圓錐常數 圓錐型式 圓錐常數 (k) 雙曲線 κ<-1 拋物線 κ=-1 橢圓 -1<κ 圓 κ=0 ASAP Primer 入門指南 / 凱薩格林望遠鏡 6-115
圓錐的數學 The Mathematics of Conics 圓錐的截面(圓,橢圓,拋物線,及雙曲線)對光學是重要的,因為每一種曲面都有獨特的數學性質,可用來控制光線。例如,所有平行拋物鏡面的對稱光軸的光線會聚焦在一點,即曲面之焦點。這現象使得拋物面在無窮遠點光源的成像(例如恆星)及準直擬點光源的應用上很有用。 一個橢圓的反射鏡有兩個焦點,來自任一焦點的光線,將被橢圓球面反射並通過另一個焦點。這個特性通常被用來集中在橢圓焦點之一的小光源光線,耦合進入一置放於另一焦點的光管進入面。 雙曲線,類似橢圓面,有兩個焦點,且其行為類似橢圓但相反。任一指向焦點的光線,將被反射離開雙曲線的凸面,而通過另一焦點。這就是為何雙曲線面被選為凱薩格林望遠鏡的次反射鏡之原因。這個結果是沿著光軸的光線碰到拋物面的主反射鏡,將被劫取不會聚在主焦點而會聚在雙曲面的第二焦點。 球面在光學中各地方出現,不是因為他們有如此完美的光學性質,而是因為他們容易被製造,他們是唯一的二次圓錐曲面,可以簡單的將兩片玻璃材料中間放置一個研磨物質隨機任意地摩擦產生。光學設計者可以創造優異的低成本的圓球面系統,在組合成整體時,可以補償個別球面元件間的像差。 6-116 ASAP Primer 入門指南 / 凱薩格林望遠鏡
任一圓錐曲面可以被寫成隱函二次方多項式, 22ρ−2rz+(κ−1)z=0, 其中 22x+yρ是弳坐標 r 是曲率半徑 z 是曲面的弛垂(z軸高度差) κ 是圓錐常數 可以對z表示成弛垂方程式 (sag equation)︰ 2ρrz=sag(ρ)=2ρ1+1−1+κ()r ASAP使用這個基本數學表示式,來計算光線與由OPTICAL定義的接觸曲面(只要沒有包含非球面變形係數)。當變形係數被指定時,見ASAP線上說明有關OPTICAL命令的詳細內容。 ASAP Primer 入門指南 / 凱薩格林望遠鏡 6-117
所有拋物線的圓錐常數為-1,所有圓球面(橢圓的特例)的圓錐常數為0,如果有人要求你來模型化一個橢圓面或雙曲面(如我們將做的),你將需要知道圓錐常數k的值,為此曲面的部分規格。如果沒有圓錐常數被指定(如在Builder的OPTICAL的預設內訂值),其值為0(圓)。 曲率半徑Radius of Curvature的意義是明顯的,假如我們取一個圓的截圓(如同圓球面反射鏡),但是對其他三種圓錐曲線較不明朗。這三種曲線的曲率隨著曲線中各點的位置而連續變化。我們事實上需要指定鏡頂的曲率半徑,此曲率半徑及連同圓錐常數才可以完整且唯一的規範這些圓錐曲線。 OPTICAL命令的中間部分,包含非球面項及Expand擴充選項。 圖 Builder中OPTICAL命令的中間部分 這些項都是選擇性的,對於純的圓錐曲線都不需要,例如在凱薩格林望遠鏡中,他們都保留為空白。 OPTICAL的最後參數,在Builder列中的極右端,顯示如下︰ 圖 Builder中OPTICAL命令的末端部分。 這些參數應該是熟悉的參數。它們具有相同的規格,在我們已經討論的球面及平面都需要,且具有相同的意義。 在離開OPTICAL命令的討論之前,我們需要注意到ASAP命令中明顯互相重疊的部分,兩個曲面其可用ASAP Builder來模型化:System>Geometry>Surfaces>Spherical及System>Geometry>Surfaces>Parabolic。為什麼我們需要這些?球面及拋物面不是可以使用OPTICAL命令來模擬嗎?答案是:我們不需要。事實上,ASAP計算引擎並不知道球面與拋物面命令。在執行包含使用SPHERICAL及PARABOLIC的Builder檔之後,如果你小心的檢視命令輸出視窗,你將發現命令的回傳是OPTICAL。但是因為OPTICAL命令是如此的長,及因為非球面項並非時常需要,這些捷徑版的命令,被包含在Builder中,可以方便我們使用。 6-118 ASAP Primer 入門指南 / 凱薩格林望遠鏡
摘要 Summary 在這一章中,我們將討論下列的新命令︰ ASAP命令 選項 描述 SURFACE, PLANESBuilder: 產生一直角或橢圓的平System>Geometry>面。 Surface>Plane SURFACE, OPTICALBuilder: 產生傳統光學表面,包含System>Geometry>雙曲面,拋物面,橢圓面Surface>Optical 及球面,任何上述曲面可以增加非球面項達20次方。 從第一章回想每一ASAP計畫所包含的四個基本步驟︰ 1. 建立系統模型 2. 創造光源(光線) 3. 追跡光線 4. 執行系統的分析 由於所增加的最後2種曲面型態,及建立驗證凱薩格林望遠鏡模型的檢驗經驗(“練習2︰凱薩格林望遠鏡”在第120頁),你將完成步驟1,及準備好進入步驟2“創造光源”。 ASAP Primer 入門指南 / 凱薩格林望遠鏡 6-119
練習2︰凱薩格林望遠鏡 Exercise 2: Cassegrain Telescope 1. 建立一古典凱薩格林望遠鏡,其模型由下表及下圖中描述。假設反射鏡表面為100%反射。 主反射鏡 次反射鏡 直徑 10 cm cm 中央孔的直徑 cm - 圓錐常數 -1(拋物面) -(雙曲面) 鏡頂的曲率半徑 40 cm cm 15 mc10 檢光器 cm次反射鏡 主反射鏡 圖 練習2:凱薩格林望遠鏡各元件之位置。 6-120 ASAP Primer 入門指南 / 凱薩格林望遠鏡
圖 練習2︰利用PLOT FACETS命令,產生在3D Viewer中所顯示的凱薩格林望遠鏡各元件。 2. 產生兩個系統的幾何形狀圖:一個只有單一截面 (slice),另一個有九個截面 (slice)。在3D檢視中來觀看這兩圖形的幾何形狀。 3. 使用游標在Plot Viewer中來估計主反射鏡邊緣的弛垂 (sag),sag是z軸上面鏡頂與鏡邊緣間的距離,假設你所選擇的光學軸是z軸,其圖形如下圖。 邊緣的弛垂 (sag) 圖 練習2︰主反射鏡中邊緣“弛垂 (sag)”的意義。 ASAP Primer 入門指南 / 凱薩格林望遠鏡 6-121
4. 比較你的估計值與使用第116頁“圓錐的數學”補充附錄中的弛垂公式的計算結果。 5. 繪製二個PLOT FACETS的系統圖,一個以內訂的設定刻面數 ( 5 5 ),另一個設定刻面數為 (11 11)。使用3D Viewer來檢視每一個圖像。 提示 Hints •我們並未特別指定兩個反射鏡曲率半徑的符號。他們在你的坐標系統中應該為正或為負? •我們並未指定檢光器的大小。選擇任一合理的值。如果有一些光線不見了,你可以隨時改變這個模型。 •如果你想要在3D Viewer中觀看結果,不要忘了在產生新的圖像前,將向量檔案倒回更新。 •在步驟三中估計弛垂 (sag) 時,要記得你已經知道正確的主反射鏡鏡頂位置,並假設中心地方沒有一個孔。 6-122 ASAP Primer 入門指南 / 凱薩格林望遠鏡
第 7 章 基本光線追跡概念 BASIC RAY TRACING CONCEPTS 所使用的在這一章中,我們準備了在ASAP中定義光源及追跡光線的基礎工作。光線集合學習一些基本概念可使得創立光源及追跡光線的過程更易了解。 必需具有正確的光一旦光學系統定義後,在ASAP模擬的下一步就是創立一些光線。合理學特性,恰當的針對問題創立光源的重要性,與精確地模型化光學系統幾何架構才能導出正確的工及指定恰當的光學性質具有同等重要。所使用的光線集合必需具有正確作結論。 的光學特性,才能導出正確的工作結論。 光線與光源 Rays and Sources 光線的重幾何光線的概念對光學是非常重要的,至少從牛頓的時代以來,光線經要是在光常被形容為垂直光電磁波波前的射線。對我們而言,光線的重要是在光線可以模擬電磁波線可以模擬電磁波能量(單位時間通過的能量或稱為光通量)。光線不能量(單是一個攜帶量子能量的光子,光線所代表的是光能量的連續傳遞。結位時間通過的能量果,光線追跡的結果代表的是穩定態的狀態。只要我們追跡夠多的光或稱為光線,只要我們光學系統空間的尺度遠大於用於所模擬的光波波長,我們通量)。 就可以假設系統與時間沒有相關,使用光線模擬來獲得高精度的真實光學系統行為預測。 一個ASAP光源是光線的集合,由單一ASAP光源命令所產生,我們的目的是透過精確的模擬光源在空間及角度的行為。換句話說,光通量的總量來自於光源的正確位置及指向正確方向。 有一重要的要點是:可能需要兩種以上ASAP光源,來模擬你所想要的完整光源。例如圖顯示五個長方形表面的發光體,被用來模擬發光ASAP Primer 入門指南 / 基本光線追跡概念 71-23
二極體。當你可能將其視為一個光源,ASAP允許你將它模型化為五個。這個彈性化可能非常有用,因為你可以分別的顯示不同光源的分析,及學習更多有關一個整體光源的結構是如何影響光源的展現特性。 圖 有時候,數個ASAP光源被用來模型化你的光源。在這個案例,五個長方形發光體被用來模型化一個發光二極體的鑄模。每一條光線由一個箭頭代表,顏色在這一個例中是任意的,因為五個光源都有相同的波長。 另外一個使用多於一個ASAP光源的共通的情況,是涉及多波長的光源的課題。因為每一ASAP光源只能擁有一個波長,所以一個多波長的光源必須由多個單一波長的ASAP光源來組成。 光線的子集合在往後的計畫分析階段中非常有用,因為ASAP讓我們可以依據光源的原點來孤立隔離光線。這個及其他ASAP所提供的孤立隔離方法,常常給予我們重要的洞察力,來了解如何改善我們光學系統的設計。 在部分光線追跡程式中,定義及追跡光線在同一步驟中完成。一旦光線被定義,光線自動發射進入系統,只有當光線追跡完成時才停止。 71-24 ASAP Primer 入門指南 / 基本光線追跡概念
在其他光在ASAP中,創造光源及光線追跡是兩個分離的步驟。ASAP可以非常線追跡程精細地模型化光源。畢竟,我們嘗試建立真實的光源來模型化正確的光式中,定義及追跡線物理性質。我們必須將這些光線放在正確的位置及正確的方向。每一光線可能光線必須攜帶一定的光通量(每單位時間多少能量)相稱的顯示光線的在同一步驟中完位置及其所指向的方向。在很多方面來講,ASAP的光源就像模型化光成。在源的幾何結構。值得特別注意,擁有自己的(光源)圖像證實工具(在ASAP中,產生光源第九章中敘述),是非常重要的。只有我們在系統幾何結構及光源的模及光線追型中滿意,才能完成光學系統的幾何光線追跡。 跡是兩個分離的步 驟。 我們將如何創造真實性的光源模型?是否ASAP的使用者都要像專家一樣,了解光源的物理性質嗎?通常他們不需要,適當的光源物理性質都已內建在ASAP中,例如白熾燈。我們可以模型化高強度的放電燈泡(弧燈)藉由修飾一組簡單的光線集合,來匹配所觀測到的弧燈,我們甚至於不了解電漿放電的物理。甚至我們可以創立同調性點光源的模型,Hermit-Gauss雷射的模態已內建在ASAP內。 ASAP提供四種方法來建立光源︰ 1. 格子光源被用來模擬點光源及平行光(點光源在無窮遠)。 2. Emitters發光體允許我們來模擬非同調性的擴展光源。 以上兩種光源都允許設定光通量來符合觀察數據。對於光源的製造商,及其它實驗室的適當量測儀器,提供基本的圖像強度分佈是很平常的。你可以修飾基本ASAP光源,所以他們可以重建觀察到的光強度分佈,這個過程稱作光線的波形調整apodization。 3. BRO光源資料庫包含大多數白熾燈及一些通常用在汽車照明的LED發光二極體光源。 4. 自訂的光線可以文字的方式輸入。如果你有一個外部的程式可產生適當的光源集合,直接以文字檔讀入這些光源是輕鬆方便的方法。 只有前2種方法在這一本入門指南primer中描述,其它的兩個主題(包含光源的切趾波形調整apodization)在技術導引,“進階光源模型化”中再介紹。 ASAP光線 ASAP Rays 了解光線的產生,光線追跡及分析的過程,對了解光線是什麼在ASAPASAP Primer 入門指南 / 基本光線追跡概念 71-25
在中的來龍去脈是重要的。圖顯示通過一個平凸透鏡的光線追跡,任SASP的觀點何一本教科書中光線追跡的章節,都會描述圖中帶箭頭的藍色線為“光是︰光線是空間中線”。當你超越這個概念將使你在ASAP學習中獲得較快的進展。這些帶著方向不同的觀點是︰光線是空間中帶著方向與光通量的點。圖中的這些線只與光通量的點。是這些點通過光學系統的路徑。 圖 一個簡單的光線扇形顯示的是通過一個光闌孔徑、單片透鏡及最後的檢光器平面。如果你堅持相信圖中藍色的線是光線,幾個基本的ASAP光線追跡概念就可以容易的被理解。在ASAP中,將光線視為空間中的點,恰當的從物件到物件中移動。圖中藍色的線就是這些光線的路徑。 有數種理由,將ASAP光線視為空間中的點,帶著方向與其他屬性是重要的。當我們創造一個光源時,首先我們要說的是光線的最初位置,好像那裡有一個幾何形狀物體。你將可以看到,你可以平移或旋轉這些光線,就如同你對幾何形狀物體所做的。這個行動對還未形成線的光線不太有意義,但是對“光線是空間帶著方向向量的一個點”則非常有意義。 在任何一個時待會兒,你將看到同樣這些點,我們將依靠他們來執行分析。我們可以刻,每一ASAP在任何時刻做分析。所有的光線進行到他們所能到的地方。在光線追跡光線總是就在一個地方。通之前,在追跡的中途,在追跡過程之後。在ASAP中,詢問“光線現在常一個光線不在哪兒?”永遠是有意義的。在第122頁的圖中顯示光線路徑的光會保留有他過去經過路徑的線可以擴散開整個系統的光線方向。但是,在任何一個時刻,每一ASAP記憶。 光線總是就在一個地方。通常一個光線不會保留有它過去經過路徑的記憶。在圖中的線是被繪製來表現光線通過光學系統的光跡,但是ASAP並未保留(至少預設)再畫一次這個光線追跡圖所有的必需訊息。 71-26 ASAP Primer 入門指南 / 基本光線追跡概念
ASAP以所以,ASAP光線是什麼?ASAP以三維卡氏座標 (x、y、z) 描述光線三維卡氏在與你所描述幾何形狀相同的全域座標系統。這些光線還有一個方向向座標描述光線。這量伴隨著它。在均勻介質中(例如真空或在玻璃、塑膠物件中),光線些光線總沿著方向向量移動。在不同介質的界面或在反射面上,方向向量改變。伴隨著有方向向量是透過INTERFACE命令,按指派每一物件的資訊,來改變方向向量。及光通當光在界面處理時,光通量也可能改變,再一次依賴指定給物件的界量。 面。這些不只是ASAP追跡光線的行為特性,而且是非常基礎的。在本章末第131頁的補充附錄“ASAP光線的細節”列出了ASAP光線表中其他的資訊。 光線屬於物件 Rays Belong to Objects 另一個ASAP光線追跡重要的觀念是光線永遠屬於物件。你將很快的發現,藉由點選ASAP工具列上的Abort按鍵,可以終止光線追跡(或其他計算引擎過程)。假如你做了這個動作來終止光線追跡,你將不會發現在兩物件中過渡的光線。這不是ASAP的追跡光線的方式。當你首先產生光線時,光線被指定給虛擬物件,稱為物件,“Object 0”。當光線開始追跡時,ASAP使用非凡的演算過程,快速的決定方向向量所指的下一個物件。然後,經過小心仔細的計算來決定下一個交點的正確座標。一旦,下一個介面上的交點決定,光線表會對這條光線以新的座標更新。結果,光線是瞬時地從一個物件到另一個物件移動。ASAP繪製在第126頁的圖的藍線,就是繪製舊座標與新座標間的連線。 在光線追跡後,光線屬於系統中的最後接觸的一個物件。如果他們從來沒有找到交界的點。有些光線可能仍然屬於物件0。 在第128頁的圖,顯示一些光線在做上一圖的光線追跡後,光線停留的位置。 ASAP Primer 入門指南 / 基本光線追跡概念 71-27
圖 在圖顯示的光線追跡之後,藍色的箭頭顯示每一光線的最後位置。箭頭的方向顯示最後的方向向量,其長度與光線的光通量成正比。在光線追跡之後,光線留在他們所接觸的最後一個物件。雖然前一個圖中,有三條光線離開光學系統,但,事實上並未離開。在這一個案例中,有一條光線留在光源(物件0),另兩條留在透鏡的背後。其他的光線停留在具有吸收特質的表面︰13條光線卡在光闌孔徑,有9條光線到達檢光器。 現在,一些光線停在光闌孔徑,一些停在透鏡的後表面,一些停在檢光器上。有一條光線仍然留在光源定義的原點,13條光線停在光闌,因為這個物件被指定為吸收介面 (INTERFACE COATING ABSORB…) 你將記得這種介面,使得光線帶著它們的光通量停留在物件上。所以說光線“屬於”物件。9條在檢光器上停留的光線,其理由與前相同。 黏在透鏡後表面的兩條光線又將如何解釋呢?透鏡是透光的物件,光線應該離開透鏡表面而繼續追跡。答案是因為沿著他們的方向向量沒有其他的物件,ASAP大可將這些光線稱之為“迷失的光線”,並從光線表中移除。但如此我們將無法來調查這些光線。將這些光線留在最後一個交界的物件,我們可以做詳細地分析來了解何處發生錯誤。在這個案例中,檢光器平面不夠大來截取所有的光線。 同樣的理由,有一條光線仍然留在光源的位置,因無法射到任何物件,從未移動過,所以該光線仍然屬於“物件0”。 光線與物件以實際上的正確次序接觸 Rays intersect objects in the physically correct order 你不必感到意外,你不需要定義物件的次序。使光線正確地通過光學系統,這是ASAP光線追跡型態的內涵。光線將尋得他們自己的路,以最適當物理上的次序通過系統,去接觸物件。當你執行非序列光線追跡時,你所定義的物件次序將完全的不相干。 71-28 ASAP Primer 入門指南 / 基本光線追跡概念
光源只能被追跡一次 Sources can be traced only once 最後一個重要的光線追跡概念︰你只能作光源的光線追跡一次。許多ASAP新使用者,期望假如他們要求電腦程式再做一次追跡,ASAP將知道“載入”原始的光線,然後從頭再追跡一次。這個想法可能有用,當我們對系統做了一些改變,或改變光源,或改變物件的幾何形狀,想要再做一次相同的光線追跡。事實上,我們必須丟棄舊的光線,再一次執行光源定義的命令來產生一組光源位置的(完全相同)新光線,只有這樣我們才能從頭再做一次光線追跡。 當你獲得較多的ASAP經驗時,這個概念將變的比較明朗清楚。同時,你將藉著這個概念來成長,去欣賞此點並視它為ASAP的強點。這個電腦程式做了幾個我們已經在進行的假設及即將加入的假設。你將總是完全地控制這些過程。例如,你可以在光線追跡之後,增加新的物件到光學系統(不要按End鈕),要求ASAP再一次追跡光線。這些原來的光線將從他最後的位置繼續與新的物件接觸,如果他們可以的話。你也可以定義一個新的、不同的光線光源,然後追跡他們經過光學系統,不必拋棄舊的光線。當你開始做分析時,從兩個光源的光線,將被包含在內。這個可以增加彈性交互地來解決系統模型中所產生的錯誤,或分析設計上面的缺點。 同樣的,這個彈性也造成ASAP新使用者混淆的來源。了解及利用這個重要的ASAP概念的關鍵是保留對目前ASAP在系統及光線數據庫的狀態了解。這些數據資料庫總是在最後的操作後所留下來的。電腦程式等待被告知下一步將做什麼,並沒有企圖來了解你的想法。 摘要 Summary 在這一章中,我們已經介紹了五個光線追跡概念︰ 1. 創造光源及追跡光線在ASAP中是兩個不同的步驟。雖然有一些光線追跡的軟體,在產生光線後馬上發出光線,ASAP卻“等待”,允許你運用分析及確認工具,來幫助了解光源的模型化是正確的。 2. ASAP的光線最好被視為在空間中帶著方向與光通量的點。詢問“現在光線點在哪裡?”總是有意義的。 3. 光線屬於物件。當光線被產生時,他們被指定給虛擬的物件0“Object 0”。當光線追跡時,光線從一個物件到另一個物件間傳ASAP Primer 入門指南 / 基本光線追跡概念 71-29
遞。當光線追跡結束時,光線屬於光線所接觸到的最後一個物件。 4. 光線以實際上的正確次序與物件接觸,你不必擔心,你所定義物件的次序,這個次序對光線追跡沒有影響。 5. ASAP光線從他們最初光線位置只被追跡一次。如果你想要再看一次光線追跡,你必須拋棄舊光線,定義新的光線再作光線追跡。 如果上述的任何一點仍然令你混淆、困擾,請不必煩惱。當你獲得建造光源及追跡光線的經驗後,這些概念及其重要性將變成愈來愈明朗,我們將在往後幾章中,重複這些概念。 71-30 ASAP Primer 入門指南 / 基本光線追跡概念
ASAP的光線細節 當追跡光線為同調光、偏振光時,ASAP Ray DetailsASAP有更多的資訊要被記錄。上 述表中所列的資訊只是非偏振光在ASAP中,一條光線是一個表中的輸線的基本數據。你可以從表中看到入項。這個表是以二位元的型式貯存在單獨使用這些資訊是無法重建一一個硬碟檔案,其名稱為條光線的歷史。 “”,“虛擬頁”檔案。這個 檔案會變得非常大,如果你做一百萬條ASAP保持的記錄只是這條光線接光線追跡。事實上,ASAP中光線追跡觸過有多少個物件,現在正接觸的的數目是根據在含有ASAP工作目錄物件,及上一個接觸過的物件。當的硬碟空間內上所能夠填入的檔案大追跡大數量光線時,雖然有可能保小。這個檔案的部分(“頁”)可以被持全部的光線歷史,對於大量的光交換進出在記憶體內或外,當光線追跡線追跡,這將產生一個非常大的資及分析需要時--所以其稱呼為訊量。(見在線上求助說明SAVE“頁” pages”。 或ASAP參考導引,來獲得關於這個選項更多的資訊。) 這個檔案,包含每一條光線 高度壓縮的資訊,從該檔案下列的物理當光線因為散射、Fresnel反射、繞量可以被推導出來︰ 射及雙折射等分裂光線,ASAP保•光線全域X、Y、Z坐標。 持父代光線及其祖先代光線的詳細細節。這一類的資訊通常是無價•光線的方向餘弦。 的,當我們嘗試來找出光線通過系•波長 統的路徑。雖然我們不能擁有詳細•光通量 的光線歷史,這一資訊--經由目•光線目前所在位置的介質 前物件,前一個物件、及光線與表•目前光線所停留的物件 面接觸的總數--通常足夠來找•前一個物件 出光線所進行的唯一路徑。 •光線所經過的表面總數 這是罕見的,你需要了解單一光線•發出光線光源的數目 如此的詳細細節。大多數ASAP的•光線的光程長度 分析命令,針對許多光線的這類資•光線位置的參數坐標(目前物件料來繪製光學系統的一般行為的是邊緣個體EDGE entity)。 結論。然而,你將在第9章,“光•光線要分裂的數目(父代光線)。源的證實”中看到如何來接近取•光線已經散射的次數 用這些資訊資料庫。 •光線已經分裂的次數(借由Fresnel分裂,光柵級數,或物件在其上光線和祖先帶光線分裂)。 ASAP Primer 入門指南 / 基本光線追跡概念 71-31
71-32 ASAP Primer 入門指南 / 基本光線追跡概念
第 8 章 格子光源 GRID SOURCES 我們通常在這一章中,我們將介紹ASAP格子光源。這個光源允許我們去定義使用這種一組光線,其在空間及方向的分佈是均勻的。格子光源的形態是適合光源族群,在成模擬點光源,不論是在有限或無限的距離。換句話說,格子光源可以像及非成用來產生收斂、發散或平行的光線。我們通常使用這種光源族群,在像的問題上,對一成像及非成像的問題上,對一個簡單、理想的點光源是很有用的,用個簡單、來觀察一個系統對點光源的反應。例如,我們可能希望看到鬼影或雜理想的點光源是很散光問題,對一個成像系統的點擴散函數 (Point Spread Function) 的影有用的,響。這些格子光源,同時也是模型化平面及球面波的基礎(見技術導用來觀察一個系統引︰波動光學簡介)。 對點光源 的反應。 在前一章中,我們提到一個簡單的ASAP光源,是單色光――光源中的所有光線皆具有相同的波長。指定給光源的波長,如同是以WAVELENGTH命令,在Builder檔案的頂端。當然,在ASAP中使用多點光源來模擬寬頻光源並不困難,這個主題將在技術導引,進階光源模型化中陳述。在這一本入門指南中,所有的範例都假設是單一波長,及系統的行為皆不為波長的函數。 定義一個光源的步驟 Steps to Defining a Source 在ASAP中定義一個光源,需要我們規定兩件事︰ 1. 每一光線的起始位置。 2. 每一光線的起始方向。 如果需要,我們也可以設定在一光源中設定光線的絕對光通量,這ASAP Primer 入門指南 / 格子光源 81-33
個設定產生第三項的規定: 3. 每一光線的光通量。 ASA當然,我們不必一條一條光線的做。如果我們定義數百萬根光線(在P提供一個高階的模擬照明系統時,這也不是不尋常),那麼這個工作量將非常巨大且乏命令,可以自動的指定味。ASAP提供一個高階的命令,可以自動的指定適當的值給每一條適當的值給個別的光線,根據一個對光源的一般描述。 每一條個別的光線,根對格子光源我們可以使用三個命令完成整個工作,每一個命令對應上據一個對光源的一般描面所說的三個步驟。圖顯示一個典型的範例,在Builder上的命令。 述。 圖 三個Builder列可以完全的來指定ASAP格子光源。在上一章中,我們在光線的表中,給予基本數據:光線的位置座標、方向、及光通量。 見第8章附錄,在第155頁的“程式8-1”, 這個格子光源Grid列告訴ASAP,我們要將光線放在哪裡,Source列允許ASAP計算及指定方向給光線。光通量列(如果出現)將蓋過預訂的光通量值,給我們控制整個光源的光通量總量。我們將在下一章節詳細的描述每一個步驟。 我們將使用ASAP Builder來創造這些光源。這定義的過程與我們在Builder檔案中建立系統及幾何形狀定義並無不同。 註︰你的光源定義,可以與幾何形狀定義在同一Builder檔案或另立一光源的Builder檔案。你可以使用任何數量的Builder檔案,但只有第一個執行的檔案(通常是你的系統及幾何形狀定義),必須規定單位及其他在整個計畫 (Project) 中共同使用的定義。到目前,可能最好將所有的東西放在同一檔案中。在第12章中“ASAP資訊框的進一步”,我們將描述如何去使用計劃工作區Project Workspace選項,來管理一個大的ASAP計畫內的眾多檔案。 81-34 ASAP Primer 入門指南 / 格子光源
平行光線的長方形格子光源 Rectangular Grid of Parallel Rays 在ASAP中最簡單的點光源模型是平行光線的格子光源,模擬在無窮遠處的一個點光源。ASAP允許我們創立長方形或橢圓形邊界的格子光源,其方向可來自各個方向。我們將從最簡單的範例開始,平行任一個全域座標軸的長方形格子光源。這個趨近可以顯示從遠方的恆星或任一準直光源,沿著其光軸進入一個光學系統。我們需要學習兩個命令來完成這格子光源︰GRID RECT及SOURCE DIR。 GRID RECT命令的目的是來產生一組光線,其起始位置是在一個具有長方形邊界的一個長方形形狀格子上。我們通常使用這個命令在我們需要選用一組光線,進入一個方形或長方形通光孔徑的系統(見圖)。 圖 一個長方形格子光源可以用來耦合光線進入一個光學系統,被限制在其形狀為方形或長方形,類似在透鏡陣列中。注意這些光線(藍色)增加清晰用已經擁有方向向量伴隨著它們。這個GRID命令只建立光線的位置。 所有的GRID命令都可在Builder中尋得,其方法為︰在新的Builder建造器列中的最左邊可用的資訊格按滑鼠左鍵兩下。有一類似的選單會出現。此次我們將尋找Rays>Grids>Rect。在GRID定義中格子光源的尺寸大小及位置是定義在系統中的單位。 ASAP Primer 入門指南 / 格子光源 81-35
圖所示為一Builder建造器列及其所造成的格子光源位置。 圖 在z=0平面,一個GRID RECT的範例。× 符號顯示光線在光源中的起始位置。在這個案例,這個光源是定義在x軸,y軸的+/-之間,總共有11 × 11條光線在這個格子光源。 在GRID命令中,我們第一個選擇是Axis的規定,其為產生光線的平面。這裡的習慣與定義幾何形狀物件相同︰我們將指定這個平面,它與我們所選定的坐標軸垂直。在這個例中,z軸的格子光源,產生光線有不同的x軸,y軸值,但是z軸的坐標值是相同的。其次,位置參數Position允許我們沿著這個坐標軸來指定光源平面的位置。在這個範例中,我們將光線放在z=0的平面。然後,我們規定在其餘的兩個坐標軸的最小邊界及最大邊界的格子光源。 81-36 ASAP Primer 入門指南 / 格子光源
我們通常使用進入通光孔徑的半徑為格子光源的範圍值。一般習慣(在ASAP也是)使用右手法則,如下圖及下表中顯示。如果我們指定z軸為光軸,則主軸為x軸,副軸為y軸。 表 右手法則(左邊)及格子坐標軸(右邊)。 Grid Plane Major Axis Minor Axis Z X Y X Y Z Y Z X 下一個我們要設定的參數是在主軸及副軸上的光線數量。在第134頁的圖中顯示,ASAP並不會真實的將光線放在所界定長方形的邊界上。ASAP是將長方形區域分成許多次長方形區,次長方形區的數量是根據射線的數目及沿著每一坐標軸的光線數量而定。這些次長方形區定義當地的格子間隔。每一條光線正是放在次長方形的中間。 註︰如果你想要一個射線在光線分佈的中央,必須選擇奇數個光線,因為通常我們希望光軸上有一條光線沿著我們的光學系統。這是為什麼我們將內訂的每邊光線量數不是訂為10條光線,而為11條光線。 在GRID RECT命令中,剩下的參數皆為可選擇項目。Aperture通光孔徑參數允許我們定義在光線分布的中間有一長方形的“障礙物”。此區域中沒有任何光線。在這一格cell中所設入的值為障礙區大小與整個格子光源區域的比值。若你設入通光孔Aperture之值為,其意為有半數大小的格子光源會消失。 若Random選項被選(在這格子cell按滑鼠左鍵兩下且選擇Random)。ASAP隨機在由此最後參數描述的區域內布建光線。Region參數定義光線所能游走的最大範圍。此範圍的大小是由Region參數乘上當地格子間隔。這光線範圍是置在光線位置的中間。假若Region參數為0,這個光線盒子就放在光線的位置中心。因此,Region參數為1,允許每一光線能被位移到光線盒子的邊緣(當地格子間格)。 Region參數為2,允許每一光線能被移到隔壁光線盒子的中心。圖顯示,變化Region參數產生光線在光線格子移動的結果。其預設值為0,其結果是光線不隨機分布。 註:假若你想要隨機分布光線的位置,你必須在Region命令的最後一格指定一個數值。ASAP Primer 入門指南 / 格子光源 81-37
x Region參數=0 Region參數= Region參數= y 圖 在每條光線的小長方形格中,隨機光線的位置,是由Region參數所定義。 一旦光線位置設定,下一步是在格子中給予每一光線方向。ASAP中,光線方向沒有預設值,所以光線設定要到給定光線方向才算完成。 ASAP提供我們Rays>Grids>Source>Direction來設定平行光線。換句話說,光源中的所有光線都有完全相同的方向向量。唯一我們在這命令中需要設定的是Vector A,Vector B,Vector C,它們是這些光線的方向餘弦。 對任一不熟悉方向餘弦的人而言,方向餘弦是光線的單位向量與X,Y,Z軸夾角的餘弦,(見第154頁的補充附錄,“方向餘弦”。) 若我們要一格子光線沿著+X軸,其方向餘弦為 (1, 0, 0)。對指向-X反方向的方向餘弦,則為 (-1, 0, 0) 。對目前所建立的光學系統(Cooke三片組相機鏡頭及凱薩格林望遠鏡),我們希望光線平行+Z軸(圖)。 81-38 ASAP Primer 入門指南 / 格子光源
圖 SOURCE DIRECTION命令是用來產生平行光的格子點。藍色的直角顯示光源的想像位置平面。黑色的箭頭,顯示光線的方向向量。 這些光線的方向餘弦為 (0, 0, 1)。這些系統當然沒有正方形(矩形)對稱。然而,在我們將光線送入模型之前,我們需要學習更多的光源格子選項,其適合圓形光闌。 橢圓格子 GRID ELLIPTIC 在Sources>Grids>Elliptic選項為類似直角格子的Grids>Rect,但更適合使用於圓或橢圓光瞳(圖)。 ASAP Primer 入門指南 / 格子光源 81-39
圖 橢圓形格子光點是旋轉對稱光學系統,耦合光線時正確的選擇。光線的特性,如同直角格子光點,但在所描述的圓形或橢圓外光線則已被消除。 使用與直角光點GRID RECT相同的參數,ASAP產生一組光線如同直角格子光點,但在橢圓邊界外的光線則已不見了(見在第141頁的圖)。 81-40 ASAP Primer 入門指南 / 格子光源
當光闌的參數確定後,“hole”通光孔在光線分布上在這一例中是橢圓而非直角的長方形。 圖 這GRID ELLIPTIC命令產生光線的方式與GRID RECT相同,唯在橢圓邊界藍色顯示外的光線消失。 見第8章附錄,在第155頁之“程式8-2”。 ASAP Primer 入門指南 / 格子光源 81-41
極坐標格子 GRID POLAR 極坐標格子是另一種產生圓邊界光源光線的方法。這種的“GRID”將光線產生在同心圓上,而不是如直角坐標系的固定間隔。 一個典型的光線集合是由Rays>Grids>Polar產生,顯示於圖在第142頁。 圖 GRID POLAR命令允許我們在同心圓上產生光源,其對弳向對稱的光線取樣幾何形狀,對一些應用非常有用,例如Fresnel透鏡。我們以第一(最內層)環的光線數,及環的數量來規範光線的特性,(若第一(最內層)環的光線數為1時,不計中央光線)。 見第8章附錄,在第155頁的“程式8-3”。 81-42 ASAP Primer 入門指南 / 格子光源
GRID POLAR通常較GRID ELLIPTIC不常使用,或許是為了附加的彈性變化,造成命令有些微的複雜。然而,它在弳對稱時的光學元件應用它仍是非常有用的,例如,圓形Fresnel透鏡(在第144頁的圖)。 ASAP Primer 入門指南 / 格子光源 81-43
圖 極坐標格子光源GRID POLAR命令產生同心圓光源光線。當取樣光學為圓對稱結構時,這一命令可能較GRID ELLIPTIC為佳,例如Fresnel透鏡。 Axis及Position兩個參數是在完全相同的方式下定義的。就像是針對Rays>Grids>Rect及Grids>Elliptic的定義一樣方式。再下面兩個參數Radial Min及Madial Max,是定義這些光線在徑向距離的範圍。若Radial Min為0,光線將出現在中心。為了避免產生一沿光軸的光線,你可以在Radial Min參數中設定一個小但有限的數值,例如內訂的。 再下一對參數,允許我們定義光線角度的範圍。例如,0到180,產生一個半圓的光線集合。典型的值為0到360度,為一個完整的極坐標格子光源。 再下面三個參數為Radial Rays、Ring 0 Rays、及Weight,設定光線真實位置的。加權Radial Rays定義光源環光線的圈數,不包含中心軸光線(如果有的話)。Ring 0 Rays參數設定第一環的光線數,再一次忽略各中心軸光線,若有中心光線時,不計此中心光線。緊接著光線的數量及下一環相隔間距是由加權參數Weight來控制。目前最常用的加權Weight用法是使用內訂的預設值1。這設定值造成在每一環的光線環間距相等,當每一環的光線數量增加。在這例中,每一光線所代表的格子為相等的發光源面積。其他加權的數值將仍然保持每一光線代表相同發光面積,但光線環可能不是等間隔。加權值若為,將產生每一環徑向輪輻有固定的光線數量,且其環與環的間距沿著半徑方向,向外逐漸遞減。 81-44 ASAP Primer 入門指南 / 格子光源
離軸的平行光線 Off-Axis Parallel Rays 任何一個格子光源的定義可以結合多種的SOURCE命令,來形成各種形式的點光源。最明顯的使用是Rays>Grids>Source>Direction來模型化在無窮遠處一個離軸的點光源集合。圖顯示一個在y-z平面上的格子光源,且與z軸夾30度角。它同時也可以在Builder中以三角函數來顯示。這些三角函數可以以度度量或弳度量來表示。 圖 光源方向命令Source Direction Command可以建立離軸的平行光源。如果光學系統是沿著Z軸,這光源的光線可以用來研究一個與光軸呈30度角傾斜的點光源光線對此系統造成的反應。 ASAP Primer 入門指南 / 格子光源 81-45
假如你要用度度量表示角度,你必須要在圖所顯示的source命令中,其中三角函數的引數符號要使用中弧號。引數符號使用小弧號時,是表示徑度量。有時候,使用球座標時角度,會比使用方向餘弦來的方便。一旦,定義了極軸,任何空間的一個方向(或在單位方向球體上的點),可以使用兩個角度來表示(圖)。 圖 方向餘弦表示空間中一向量的另一替代方法。ASAP可以接受以極角polar angle及方位角azimuth angle(度度量)所表示的方向,相對一個特定的極軸。ASAP說明方向Vector A參數是以大寫的X,Y,Z,而不是以數值表示。在Builder列圖示上端的顯示造成如圖中的光源。 81-46 ASAP Primer 入門指南 / 格子光源
見第8章附錄,在第156頁的“程式8-4”及“程式8-5” 第一個角稱為極角Polar angle(有時稱作天頂角zenith angle)是從極軸到向量的角度,其角度範圍為0〜180度。第二個角Azimuth angle稱為方位角,是量測繞極軸右手方向的角度。如果你要用此種方法來定義“方向”,在Vector A格子內指定為坐標系統的極軸(X、Y、Z其中之一),則Vector B將為天頂角,Vector C將為方向角,角度皆以度度量表示。ASAP將自動地將球坐標的角度轉換為方向餘弦。 註︰如果Z軸定義為極軸,方位角是從正X軸方向轉到正Y軸方向的量測角,其他的兩個坐標軸系統是由右手旋轉式定義,如下表所示。方位角值為90度,將置此方向向量放在Y-Z平面上,如第145頁所示之圖。 表 極坐標軸 極軸, 方位角量測自: 指向: X Y軸 Z軸 Y Z軸 X軸 Z X軸 Y軸 光源位置 Source Position 如果我們將一組點光源不是放在無窮遠,此組點光源將發生什麼?這些光線將不再平行,且將從一指定的點發散。我們可以指定一個點為點光源,讓ASAP產生一組光線,從這一點向所有方向發射。然而,這個趨近或許不是有效率,因為我們很少有一個光學系統需要補捉所有光線。我們只對能耦合進我們系統的光線感興趣,(如果你需要這種光源,例如尺寸為0的球發射體,最好在第16章“擴展光源”中來建立模式,而不要用格子光源)。 然而,定義一個格子光源接近進光孔徑的系統是可能的,其所有光線的方向是可能的,,好像來自一個指定的點。這個狀態顯示在第148頁的圖。現在,我們能夠來建立一個格子光源,其大小與耦合近入系統的大小相同。我們不必浪費時間來作許多光線追跡,而該光線對系統卻沒有貢獻。 ASAP Primer 入門指南 / 格子光源 81-47
圖 一個格子光源的光線,可以在一光學元件前建立,給予方向以至於光線能夠顯示來自於一指定的點。此步驟可以從Source Position命令來完成。在此例中,光線自透鏡的前焦點處發散。如果我們追跡這些光線,經過透鏡後,它們將變成平行光。 你必須知道這些光線並不是真正的自此點作光線追跡。它們是由GRID命令在指定上的平面產生,然後給予方向,在空間自該點向外發散。ASAP並未修飾這些光線的方向,來補償其介於格子光源與該點光源之間每一光學元件。 註︰有時候,我們可能希望光線自一個指定點發出。它可能是需要的,在點光源與格子光源間增加光學曲面,它將改變光線達到格子光源的方向。你可能也需要,繪製通過空間的真實的光線路徑。ASAP提供MOVE命令來移動光線到一個指定的點。在Builder中有一個修飾光源的指令,可以從Rays選項或從Analysis選項中取得。我們將在第15章“幾何形狀物件與光線的再定位”中再詳細研討“MOVE”指令。 81-48 ASAP Primer 入門指南 / 格子光源
光源焦點 Source Focus SOURCE FOCUS命令類似SOURCE POSITION,但是現在光線是在光線之前匯集到一個點,而不是從光線背後的一個點發散。這個匯聚情形如圖所示。再一次請注意,在格子光源與指定點之間ASAP沒有任何光學面補償,這些光線是單純的指向空間中的一個點。 圖 一個格子光源的光線可以直接在一光學元件前創立,然後給予方向,以至於可以使這些光線匯聚到一個指定點。這個過程可以用Source Focus命令來達成。在此例中我們使光線指向一個凹透鏡的虛擬焦點。當這些光線被追跡時,透過透鏡它們將變成平行光。 設定光線的光通量 Setting Ray Flux 最後一個選項來設定ASAP光源,就是來設定其總光通量。有時候,你可能不在乎“總光通量”,可能只對相對照明的均勻度或成像面上的能量分布感興趣。但是,如果你的任務是決定在望遠鏡或照相機的成像面上的絕對能量分佈,設定光源的絕對光通量變成是必要的。雜ASAP Primer 入門指南 / 格子光源 81-49
散光分析時,能夠被忽略當視場角內光源給予你期望的光通量嗎?或者你必須去做設計上的修改來符合系統的要求? 所有的ASAP光源有內訂的規則來指定光線的最初光通量。例如,有一組被產生的平行光線具具有GRID格子光源及SOURCE DIRECTION光源方向命令將被重新訂定尺規大小,以便使其光源接近單位照度(單位面積的單位光通量)在有限距離遠處的一個點光源,被假設在球體表面具有相同的單位照度。因為這些光線被定義在一個平面而非一個球面,ASAP將自動調整個別光線的光通量,來符合投影效應及照度與距離平方成反比定律。ASAP盡可能的做到將光通量尺規化。這將符合實際的物理狀況。我們留下的唯一任務,其將整體光源視為一個指定的絕對光通量值。 註︰一個ASAP新使用者容易犯的錯誤(老手也可能)是認為改變系統光線的數量將改變“總光通量”。這是不正確的。回想GRID格子光源,ASAP調整個別光線的光通量,來維持一平面或一球面上單位面積的單位光通量為常數,如果兩個光源使用GRID及SOURCE DIRECTION來定義相同的面積,改變光源的光線數量,將只改變個別光線的光通量而不會影響整體內訂的光源總光通量。 ASAP提供我們FLUX TOTAL命令,來設定光線及光源的光通量。最普通的命令,是在Builder中最左邊的格子上按兩下,然後選擇Ray Modifiers>Flux Total。這個命令列顯示在圖。 圖 Builder中FLUX TOTAL的顯示列。 這個命令將被放在光源定義命令(GRID及SOURCE)的下面,因為當這個命令被使用時,它將被應用到所有存在的光線。記住,當我們點選“執行”Run鈕時,ASAP執行Builder內的命令,由上而下依序執行。 在上面這個例中,我們在Amount格子中輸入100。 ASAP維持內訂的光線、內訂的相對總光通量,但重新調整其個別光線光通量大小,以致於總計光通量時仍恰為100。但是所運用的單位是什麼?是瓦特Watts?還是流明Lumens? 81-50 ASAP Primer 入門指南 / 格子光源
ASAP並沒有真正在乎使用的單位,回想你所增加的一個選項Flux Label到你的UNITS單位命令。如果你已宣告光通量的單位為瓦特,往後的分析結果將使用Watts這個字串。然而,畢竟它只是一個單位標籤而已。 這個FLUX TOTAL命令,在Builder選項中是光源修飾的一項,在定義我們的系統幾何形狀物體,其行為與其他物件修飾有一點不同。物件的修飾命令,例如INTERFACE及BOUNDS命令為只應用於目前定義的物件。它們不可以應用到Builder檔案中的各個地方,只能緊接在其所修飾的物件下方。一旦光源是由這個FLUX命令建立的,可以應用在任何時間。它將改變所有光線的光通量,而不只是最近定義的光源,如果我們有兩個以上的光源,而且我們要獨立地調整每一光源的光通量時,該怎麼辦?這答案是在FLUX命令的兩個選項,如果你在Cmd格子按滑鼠左鍵兩下,然後選擇光源Source,你將可以在最後一個格子Source#指定光源編號(圖)。 圖 使用FLUX的Builder顯示列。 這個規格,允許我們對不同光源重新訂大小,這些光源將依我們定義的順序而定址,第一個定義光源為1(在Builder內為最高),第二個光源為2,以此類推。當然如果你的系統中只有一個光源,最後的兩個格子可以留為空白(見圖)。 註︰有第二種方法,較基本(但是通常不方便使用)來設定系統中光線的光通量是使用FLUX命令,其亦可在Builder選項中使用Ray Modifiers>Flux。 圖 在Builder中使用FLUX命令。 這個命令需要使用2個引數︰additive correction及尺度因子scale factor,在光學系統中每一光線具有光通量的改變表示式為︰ 新的光通量值=新加的光通量值+(尺度因子×舊的光通量值) 這個方程式通常被使用於強制系統中每一光線所代表的光通量值為1,如圖所示,開始的光線數與結束的光線數是有選擇的,在下一章中我們將學習到如何決定結合個別光線和光源的光線數量。 ASAP Primer 入門指南 / 格子光源 81-51
摘要 Summary 在這一章中我們已經討論下面幾個新的命令︰ ASAP命令 Builder建造器選項 描述 GRID RECT Rays>Grids>Rect 定義長方形格子光源光線的位置 GRID ELLIPTIC Rays>Grids>Elliptic 與GRID RECT同,但是橢圓的邊界外的光線被丟棄 GRID POLAR Rays>Grids>Polar 定義同心圓環格子光源光線的位置 SOURCE Rays>Grids>Source>定義格子光源光線的方向,其DIRECTION Direction 光線為平行 SOURCE POSITION Rays>Grids>Position 定義格子光源光線的方向,其光線顯示為一點光源發散 SOURCE FOCUS Rays>Grids>Source>定義格子光源光線的方向,其Focus 光線顯示為會聚到一點 FLUX TOTAL Rays>Modifiers>Flux 設定一點光源或全部光源的Total 總光通量 在這一章中,我們介紹基本定義來定義格子光源光線,你看見格子光源需要三個步驟來完成設定,不同型態的格子光源命令允許我們來指定光線最初的位置,SOURCE命令設定最初的光線方向,FLUX TOTAL重新定訂所有光線光通量的尺規大小,以致於可以總計其光通量。 格子光源通常被用來模型點光源,第二個ASAP光源的族群為emitters適合於定義例如白熾燈絲的擴展光源,高強度的放電燈泡或發光二極體,ASAP使用亂數產生器來規範發光器光線的位置及方向。在使用者的特定限制下,這些光源將在第16章中討論。 81-52 ASAP Primer 入門指南 / 格子光源
方向餘弦 Direction Cosines 方向餘弦是數學及物理中常用的方向指定工具,在三維空間中任一方向可以唯一被此單位方向向量與三個卡氏坐標夾角的餘弦來表示。因為我們處理的是單位向量,所以三個方向餘弦的平方相加等於1。這個的意義是只有兩個方向餘弦及第三方向餘弦的正負符號,可在空間中唯一指定任何方向。 這個指定方向的方法正是ASAP內訂的方法,也是ASAP儲存方向的工具。方向餘弦的三個方向都是相同的處理。與此相對的是極坐標中的極軸是特殊軸,當方向是以方向餘弦表示的時候,許多複雜的物理現象可以變成簡單且精確的數學型式,光柵方程式是一個範例,物理上似乎喜歡方向餘弦。 如果你是方向餘弦的一個新手,下面圖像顯示一個有用的工具來顯示其物理意義,這個圖像顯示了一個單位球體,方向向量可以被視為是一個從原點到圓球上一點的箭頭向量,空間中任何一個方向將在此圓球上有一對應點,方向餘弦正是該點在卡氏坐標上在單位球體上的值。 ASAP Primer 入門指南 / 格子光源 81-53
81-54 ASAP Primer 入門指南 / 格子光源
附錄8A 第8章的程式集 Scripts For Chapter 8 下面的ASAP程式是參考第八章格子光源。 程式8-1 !!THIS IS THE COMMAND SCRIPT PRODUCED BY THE BUILDER. GRID RECT Z1-0 1- 1 1- 1 10 10 SOURCE DIR 0 0 1 FLUX TOTAL 5 9SOU 1 !!THESE COMMANDS CREATE A GRID OF RAYS ,GIVE EACH RAY AN !!INITIAL DIRECTION ,AND ASSIGN A FLUX VALUE TO EACH RAY. !!THESE 3 COMMANDS WILL BE EXPLAINED IN THE FOLLOWING PAGES. 程式8-2 !!COMMAND SCRIPT PRODUCED BY THE BUILDER FOR AN ELLIPTICAL GRID GRID ELLIPTIC Z1-0 1- 1 1- 1 10 10 程式8-3 !!COMMAND SCRIPT PRODUCED BY THE BUILDER FOR A POLAR GRID GRID POLAR Z1-0 .01 1 0 360 3 5 1 程式8-4 !!COMMAND SCRIPT PRODUCED BY THE BUILDER FOR AN OFFA-XIS PARALLEL SOURCE ASAP Primer 入門指南 / 格子光源 81-55
GRID RECT Z1-0 1- 1 1- 1 11 11 SOURCE DIR 0 SIN3(0 )COS3(0 ) 程式8-5 !!COMMAND SCRIPT PRODUCED BY THE BUILDER FOR AN OFFA-XIS PARALLEL SOURCE !!THE DIRECTION OF THE RAYS IS SPECIFIED WITH SPHERICAL POLAR ANGLES ,!!RATHER THAN WITH DIRECTION COSINES AS DONE ABOVE. GRID RECT Z1-0 1- 1 1- 1 11 11 SOURCE DIR Z30 09 81-56 ASAP Primer 入門指南 / 格子光源
第 9 章 證實光源 VERIFYING SOURCES 在這一章中,我們將利用一些ASAP所提供的工具,在光線追跡之前,先來驗證光源的正確性。在建立一個新光源後,光線可以被視為空間每一個帶著光線向量及光通量的點。如果你的模型中包含多光源,從不同位置,不同方向進入系統,圖形化檢查光源的定義,將變得愈來愈重要。 如果你的何時需要來證實光源?如果你有信心,認為光源已放在正確位置且有模型中包含多光正確的開始方向,或許這步驟是不需要的。但是如果你的模型中包含源,從不多光源,從不同位置,不同方向進入系統,圖形化檢查光源的定義,同位置,不同方向將變得愈來愈重要。 進入系統,圖形為了幫助使用者證實光源,ASAP能夠繪製光線的位置及方向,在二化檢查光源的定維(使用Plot Viewer)或在三維(使用3D Viewer)檢視。你也可以學義,將變習如何結合幾何圖形與光源證實工具,在幾何形狀圖中來觀察光線的得愈來愈重要。 最初位置。這些圖形化的工具,也是前幾章圖形,圖式的基礎。 註︰我們從ASAP選項列中的Rays選項,進入光源的證實工具。許多其中的函數重複在Analysis分析選項或其他形式中出現。光源的證實在分析光學系統的表現中,扮演什麼角色?在此二例中我們將只注意這些光線及它們是在空間的點光源。對這些光線我們可以整體的繪製,列清單,或排列或執行統計計算這些光線。就ASAP的關注,不論這些光線目前的位置,這些活動在任何時刻都可以被執行。任何時刻我們觀察光線,我們就在執行分析。 ASAP Primer 入門指南 / 證實光源 91-57
繪製光線2D位置圖及檢視光線3D位置圖 Plot Positions 2D and View Positions 3D 有時候,我們只想觀察光線在格子光源(或其他光源)中的二維位置。這個檢視功能特別對極坐標的格子光源有用,因為人類的眼睛是最佳的工具來決定我們所建立的格子光源是否如我們所要的均勻取樣。這個工具只要你定義光線後就可以使用。開始一個新的Builder檔案,建立極坐標格子光源,如下圖所示。 圖 在Builder中產生極坐標的格子光源。 記得去按END鈕,來重新啟動ASAP系統資料庫及移除舊光線。現在,執行Builder檔來產生這些光線,如果你的定義是與上圖相同,在Command Output命令輸出視窗中將顯示197條的被產生光線︰ 圖 極坐標格子光源中的命令輸出。 見第9章附錄,在第173頁的“程式9-1”。 91-58 ASAP Primer 入門指南 / 證實光源
現在可以從選項Rays>Graphics>Plot Positions 2D中取得繪製光線位置的工具。當你選擇它,會有如圖的對話框會出現。 圖 Plot Positional Ray Data的對話框。 你可以選擇數種繪圖符號,來標記每一光線的位置。如同幾何形狀物件必須指定一個投影視窗。因為我們的光源是定義在一個垂直z軸的平面,所以Y軸代表垂直方向,X軸代表水平方向。爲了做到這件事,在這個對話框中Window視窗選項按滑鼠左鍵,改變水平座標軸為Z。然後,回到Spots Position選項,再使用Triangle (Down) 的倒三角繪圖符號。按OK,一個繪製光線位置的圖式,將出現在第160頁的圖。 ASAP Primer 入門指南 / 證實光源 91-59
圖 Plot Position 2D可以被用來確認光線的啟始位置,或在任何時間光線存在的位置。這些光線是用ASAP的Plot Viewer來繪製,你可以放大平移或讀出游標坐標(見第五章,“執行及證實幾何形狀”)。在這圖中,我們可以讀出一光線的X軸及Y軸坐標。 見第9章附錄,在第173頁的“程式9-2”。 或許,你也想要觀看在3D Viewer中的相同訊息,你可以由Rays>Graphics>View Positions 3D來完成,這個命令特別在結合幾何形狀圖形時有用,我們將很快的討論到它。 註︰對Plot Positions 2D和View Positions 3D而言,ASAP使用的基礎命令為Spots Position。這個重要的ASAP分析命令,將在第11章“基本分析”及第19章“總光通量分析及光通量分布”中再詳細討論。 繪製2D光線及檢視3D光線 Plot Rays 2D and View Rays 3D 當繪製光線2D位置圖Plot Positions 2D時,告訴了我們光線的位置,但並未告訴我們光線的方向。我們確認GRID格子光源的命令,但不是SOURCE命令。爲了做到這件事,ASAP提供我們Rays>Graphics91-60 ASAP Primer 入門指南 / 證實光源
>Plot Rays 2D和Rays>Graphics>View Rays 3D。這個Plot Rays 2D(圖)及View Rays 3D(圖)對話框是被用來繪製光線的方向向量。 在這兩對話框中,關鍵選項,是標記著Scale Factor for Ray Plot Vector的區域。在這裡所輸入的數字,將是向量的長度(以系統單位為準),也代表光線所攜帶的光通量的最大量。在這圖中,其他光線的長度將以其光通量按比例縮小,相對於他們的光通量與最大光通量的光線。這個值必須選定,以致於光線相對於光源大小有一有用的長度。 圖 繪製光線方向向量的Plot Rays對話框 圖 檢視光線方向向量的View Rays 3D對話框。 在這兩圖中的尺規因子 (Scale factor) 允許我們來控制向量的長度。這裡,我們應該正常地設定它一個值與格子光源的大小類似的值。 見第9章附錄,在第174頁的“程式9-3”。 ASAP Primer 入門指南 / 證實光源 91-61
使用SOURCE POSITION所繪製的光線格子光源,結果如圖所示。 圖 檢視3D光線圖,繪製方向向量,其光線的記點為光線的開始位置。ASAP允許你選擇光線的長度(以系統單位為準),伴隨著最大光通量。所有其他向量的長度,是由它們的相對光通量來定大小。這些光線是由GRID ELLIPTIC命令來產生,及藉由SOURCE POSITION來給予方向。這些光線具有不同的長度,因為ASAP嘗試模擬最接近的點光線。然而,這些光線是座落在一平面上而非一球面上,球面上的光通量,將都相同。 見第9章附錄,在第174頁的“程式9-4”。 結合光線與幾何形狀 Combining Ray and Geometry Graphics 如果我們可以看幾何形狀與光線在同一個檢視圖中,繪製光線位置與方向向量將有最大收益。下面的步驟,將允許你來做這個結合。 1. 執行想要的Builder建造器檔案來建立系統的幾何形狀與光線。 2. 在ASAP工具列中按Vector Rewind鈕,來確定沒有舊的三維資訊在這個向量檔中(見第5章,“執行及證實幾何形狀”) 91-62 ASAP Primer 入門指南 / 證實光源
3. 從ASAP選項列中選擇System>Plot Facets來觀看Plot Facets對話框。 4. 在Plot Facets選項中設定想要的選項,如同第五章所做。 5. 選擇Overlay Next Plot選項,將光線圖象疊加到二維的Plot Viewer視窗中。 6. 增加必要的訊息到Window tab選項。 在這案例中Y Z是不錯的視窗選擇,你可以讓ASAP自動尺規化你的圖式,但你必須自己設定其限制。記得此視窗必須足夠大,來顯示幾何形狀與光線的位置。 7. 按OK來產生圖示。 8. 從Rays選項中選擇Rays>Graphics>Plot rays 2D。 9. 這唯一的訊息必須要提供在Plot tab的是Scale Factor for Ray Plot Vector,如上節所描述標題 (Title) 及視窗 (Window) 訊息不應該改變,因為我們正將此圖疊加到上一個圖中。 10. 在Window tab選項中,不要選擇Autoscale來迫使ASAP,與上述Plot Facets使用相同的尺規。 11. 按OK來產生圖式,你將看到二維的Plot Viewer圖式(見圖)。 ASAP Primer 入門指南 / 證實光源 91-63
圖 Plot Viewer視窗顯示的是一膠合二片式透鏡的刻面圖示,結合一組最初的光線向量。這個圖式是在Plot Rays 2D之後,利用在Plot Facets對話框中,選用Overlay選項,使用相同的尺度視窗。 91-64 ASAP Primer 入門指南 / 證實光源
12. 按3D Viewer來觀看ASAP從前一步驟所產生的三維檢視圖(圖)。 圖 顯示在圖的圖式可在工具列上按3D Viewer鈕,ASAP自動產生三維的圖式。 見第9章附錄,在第174頁的“程式9-5”。 雖然這些過程可能長且複雜,卻是值得去了解與練習。結合許多圖式到單一檢視視窗是應用廣泛的技巧。將你圖形中的幾何形狀物件及光線及光線追跡圖象,甚至於分析結果可以以此方式疊加在一起。在少數案例中(例如在幾何形狀物件上繪製光線追跡的光線,)ASAP提供單一的選項命令及伴隨的對話框來執行這些步驟(見第10章“追跡光線”)然而,準備成像光學工程師所需要的所有圖式期望,是不可能的。你將成長而能欣賞這些基本程序所給你的彈性。 註︰如果你選擇結合System>Plot Facets和Rays>Graphics>Plot Positions 2D,只來觀看檢視光線的位置,而無向量時,在Plot Positions 2D對話框中,要選擇Dots為光線符號選項。這個符號是唯一能出現在3D Viewer檢視圖中的光線繪圖符號。 ASAP Primer 入門指南 / 證實光源 91-65
數值光線資訊 Numerical Ray Information ASAP也提供工具,來進行數值光線參數,基本數據直接顯示在光線表中,(二位元檔名為)。當然這是很少必須的,但是它確實能幫助我們來記得ASAP光線的真正性質︰空間中一個帶著光線及光通量的點,及其他與穿過光學系統之追跡有關的參數。如同我們將在往後章節(第11章,“基礎分析”)中看到,這個數值資訊就是用ASAP虛擬產生光源的所有分析結果都需要它的數值光線資訊。 嘗試建立下面簡單的光源 圖 產生一個光源的ASAP Builder列 這一列是由Builder中內訂的GRID RECT及SOURCE DIR命令所產生,雖然我們已將格子光源的光線數減少為3 × 3。 1. 按END鈕,執行Builder檔來產生光線。 2. 從主選項menu bar列中選擇Rays>Ray Information>List Ray Data。 3. 從提供的選項中選擇Positions and Directions,然後按OK。 下面的資訊出現在命令輸出Command Output視窗。 圖 GRID RECT的命令輸出視窗圖象。 見第9章附錄,在第175頁的“程式9-6”。 這個輸出是ASAP中有關每一條光線的基本數據。在這一案例中,我們只有九條光線。前三欄的數據為光線的X、Y、Z坐標,再接著三個欄位是光線的方向餘弦,第七個欄位是光線的光通量。第八及第九欄位(標示S及D)為附加的光線參數,它們只在ASAP處理波動光學時才重要。在最右邊的最後一個欄位是光線編號,有些ASAP命令允91-66 ASAP Primer 入門指南 / 證實光源
許我們借用此號碼去對個別的光線定址,你將在下一節中見到。 這個資訊反應ASAP對每一光線只有維持部分資訊。如果我們需要,ASAP可以對特殊的光線提供更詳細的資訊提供給我們。 1. 從選項列menu bar選擇Rays>Ray Information>Show Ray Details。 2. 在對話框中的Select Rays在Data from Ray Number的旁邊,輸入5。 3. 在對話框的底部選擇Basic Ray Data,然後按OK。 ASAP將結果再一次放在Command Output命令輸出視窗。我們將看到指定光線編號為5的附加的訊息(見圖) 圖 Basic Ray Data中光線編號為5的命令輸出視窗。 見第9章附錄,在第175頁的“程式9-7”。 註︰在ASAP基礎命令中,展現這個操作的是GET命令。這個命令可以恢復所有光線可提供的資訊,然後將它載入不同的ASAP暫存器變數。這個Show Ray Details對話框,幫助我們列印出這些我們所選擇的次集合的光線數據。這個暫存器變數的位置及名稱,是我們所看到最左邊兩個欄位的數值(你將可以在第15章“重新定位幾何形狀物件及光線”中看到暫存器變數的首次簡介,更進一步的變數及表示式討論:將包含在第24章“其他命令程式特性”中) 再一次,我們看到在資框頂端的方向餘弦(A0,B0及C0)及在資訊框底部的光線坐標 (X0,Y0,Z0) 。我們也將看到光線的光程距離長度(我們保持0,直到我們開始追跡光線),目前的光通量及此光線所ASAP Primer 入門指南 / 證實光源 91-67
屬之光源的數量。記得光線永遠屬於物件。對這些光線,目前的物件是虛擬的“物件0”(“Object 0” )即是光源。我們也強調:光線必須永遠知道目前在什麼媒體之上,以便決定光線是進入或者離開一個透鏡或其他光穿透物件。目前光線所在處的介質媒體為MEDIUM 0,其內訂值為“真空的空氣”(vacuum-air) 。當光線座落在邊緣個體edge entity,U0及V0參數是另外的方法來表示光線的位置。W0是光線的波長。 所有這些數值在光線追跡通過一個光學系統時都會改變。了解ASAP計算引擎中,光線是以一個參數表儲存光線的資訊的事實是重要的。 摘要 Summary 在這章中,我們已討論了下列新的命令: ASAP命令 Menu選項 描述 SPOTS POSITION Rays>Graphics>Plot Positions 2D在Plot Viewer中繪製光線的位置。 SPOTS POSITION Rays>Graphics>View Positions 在3D Viewer中檢視光線的位3D 置。 PLOT RAYS Rays>Graphics>Plot Rays 2D 繪製光線之位置及伴隨的方向向量,再附加在Plot Viewer上。PLOT RAYS Rays>Graphics>View Rays 3D 檢視光線的位置及伴隨的方向向量,再附加在3D Viewer上。LIST RAYS Rays>Ray Information>List Ray 在Command Output視窗中列出Data 光線的位置方向,光通量及光線數量。 GET Rays>Ray Information>Show 在Command output視窗中列出Ray Details 單一光線(或平均)的詳細的細節。 91-68 ASAP Primer 入門指南 / 證實光源
再回想,建立完整ASAP計畫的四個步驟,有2個已經說明: •建立系統模型 •創立光源(光線) •追跡光線 •執行分析結果 我們現在知道:如何建立一個或數個重要的以曲面為基礎的實體entities,然後創立且證實至少一種ASAP光源。當然,有更多方法可以來討論,有關創立物件及光源,目前你已有足夠的經驗來進行你的第一個個案的光線追跡及分析。 ASAP Primer 入門指南 / 證實光源 91-69
練習3︰Cooke三片式相機鏡頭之光源 Exercise 3: A Source for the Cooke Triplet 1. 再導入你的Builder檔,在第三及四章所定義的Cooke三片組光學系統第80頁,圖“Cook三片式鏡頭的第一片鏡頭”的Builder檔,及在第83頁“練習1,完成Cooke三片組”) 2. 在透鏡系統內增加一個圓形的吸收光欄,具有下列的規格: Z軸位置 直徑 通光孔直徑 其結果將在本練習的最後,如圖所示的剖面圖。 3. 定義一個平行,沿著光軸,橢圓的格子光源光線(GRID ELLIPTIC,SOURCE DIRECTION)給Cooke三片組透鏡。將光源的位置定在Z=-10,具有與length 1相同的直徑。定義格子光源使其具有在x軸及y軸各有11條光線。這個定義可以在Builder檔案定義幾何形狀的緊接著行來完成。 4. 設定光源的總光通量為10瓦。 5. 使用Rays>Graphics>Plot Positions 2D來繪製光線在X-Y平面上的位置。 6. 使用游標來估計光線在x軸的座標其擁有最大的x數值(在該列的最後一條光線)。 7. 使用Rays>Ray Information>List Ray Data來印出光線的座標值。訂定第六個步驟量測的光線位置並比較其結果。你可以改善游標量測的精度藉由在Plot Viewer中放大該光線。 8. 結合PLOT RAYS及PLOT FACETS來產生一個二維及三維的幾何形狀,沿著格子光源的最初位置及方向。 提示 Hints ˙ 此通光孔徑光欄Aperture Stop可以使用PLANT命令產生,再使用Obs Ratio來設定通光孔的大小。 91-70 ASAP Primer 入門指南 / 證實光源
˙ 如果你畫的光線位置看起來不正確,檢查你所選的視窗,其應為Y X視窗。 ˙ 依據你監視器的大小,選擇顯示器的解析度,你可能需要將Command Output命令輸出視窗捲上去來看在表格極右端的光線數目,其可以從Rays>Ray Information>List Ray Data印出。 ˙ 要記得在Plot Facets對話框中選取Overlay選擇,來看兩個圖式幾何形狀及光線在相同的Plot Viewer圖中。 2. 圖9-12 練習3的幾何形狀圖。 ASAP Primer 入門指南 / 證實光源 91-71
91-72 ASAP Primer 入門指南 / 證實光源
附錄9A 第9章的程式集 SCRIPTS FOR CHAPTER 9 下面ASAP程式可作為在155頁的第9章“確認光源”的參考。 程式9-1 !!THIS IS THE COMMAND SCRIPT PRODUCED BY THE BUILDER FOR A POLAR GRID. UNITS MILLIMETERS GRID POLAR Z1-0 0 1 0 360 7 71 SOURCE DIR 0 0 1 程式9-2 !!THIS IS THE COMMAND SCRIPT PRODUCED FROM THE PULLD-OWN MENU. !!FOR A D2 PLOT OF THE POLAR GRID OF RAYS. WINDOW Y Z SPOTS POSITION ATTRIBUTE 4 ASAP Primer 入門指南 / 證實光源 91-73
程式9-3 !!THIS IS THE COMMAND SCRIPT PRODUCED FROM THE PULLD-OWN MENU. !!FOR A 3D PLOT OF THE POSITIONS OF THE POLAR GRID OF RAYS. I$O VECTOR REWIND !!REMOVING THE INFO ALREADY IN THE VECTOR FILE I$O PLOT CANCEL P$LOT OFF !!TURN OFF PLOTTING OF THE SPOTS POSITION IN THE D2 WINDOW SPOTS POSITION V$IEW !!VIEW THE RESULT IN THE 3D VIEWER WINDOW P$LOT NORM !!TURN PLOTTING BACK ON I$O PLOT 程式9-4 !!THIS IS THE COMMAND SCRIPT PRODUCED FROM THE PULLD-OWN MENU. !!FOR A 3D PLOT OF THE DIRECTIONS OF THE POLAR GRID OF RAYS. I$O VECTOR REWIND !!REMOVING THE INFO ALREADY IN THE VECTOR FILE I$O PLOT CANCEL P$LOT OFF !!TURN OFF PLOTTING OF THE SPOTS POSITION IN THE D2 WINDOW PLOT RAYS 1 V$IEW !!VIEW THE RESULT IN THE 3D VIEWER WINDOW P$LOT NORM !!TURN PLOTTING BACK ON I$O PLOT 程式9-5 !!THIS IS THE COMMAND SCRIPT PRODUCED FROM THE PULLD-OWN MENUS !!FOR COMBINING THE RAY AND GEOMETRY GRAPHICS. I$O VECTOR REWIND WINDOW Y Z OBLIUQE OFF PLOT FACETS 5 5 OVERLAY 'C gninibmoR ya dnaG yrtemoeG'scihpar WINDOW Y PLOT RAYS .5 V$IEW 91-74 ASAP Primer 入門指南 / 證實光源
程式9-6 !!THIS IS THE COMMAND SCRIPT PRODUCED BY THE BUILDER !!AND FROM THE PULLD-OWN MENUS. GRID RECT Z1-0 1- 1 1- 1 3 3 SOURCE DIR 0 0 1 LIST POSITION !!CHOOSING POSITIONS FROM LIST RAY DATA LIST DIRECTION !!CHOOSING DIRECTIONS FROM LIST RAY DATA LIST RAYS !!CHOOSING POSITIONS AND DIRECTIONS FROM LIST RAY DATA 程式9-7 !!THIS IS THE COMMAND SCRIPT PRODUCED FROM THE PULLD-OWN MENUS. S$TO ASAPTEMP !!STORE THE INFORMATION IN ASAPTEMP GET 5 !!GET THE INFORMATION FOR RAY NUMBER 5 R$EG A0 B0 C0 D0 F0 0J K0 M0 U0 V0 W0 X0 Y0 0Z !!THE REGISTER VALUES R$CL ASAPTEMP !!RECALL THE REGISTER INFORMATION FROM ASAPTEMP ASAP Primer 入門指南 / 證實光源 91-75
91-76 ASAP Primer 入門指南 / 證實光源
第 10 章 追跡光線 TRACING RAYS 在這一章,我們將首次來做光線追跡。光線追跡是ASAP中最簡單的步驟,因為ASAP將為我們做好。ASAP光線追跡計算引擎是設計來做快速且有效的光線追跡,不需要使用者太多的協助。在前面幾章中的範例,我們做的Cooke三片式相機鏡頭及凱薩格林望透遠鏡模組中,我們將集中注意力在某些光線追跡過程所產生的圖像,及澄清某些會使ASAP新使用者混淆的光線追跡概念。 基本概念 Basic Concepts (Review) 在開始執行光線追跡之前,我們將複習一些在第7章“基礎光線追跡概念”介紹的章節。特別是: •ASAP的光線最好被視為是空間中帶有方向及能量的點光源。隨時問“現在光線(點)到哪去了?”將是有意義的 •光線總是屬於物件。當光線被創立時,它們被指定給一個虛擬的物件,“物件0”。當它們做光線跡時,光線被從物件到物件間傳遞。在光線結束追跡時,光線屬於它們所接觸到的最後一個物件。 •光線與物件依照實體的次序與物件接觸,不論物件被定義時次序。 •從光源的起始位置,ASAP光線,只能被追跡一次。為了再次檢視光線追跡,你必需放棄清除舊的光線,重新定義新的光線,然後作光線追跡。 ASAP Primer 入門指南 / 追跡光線 10-177
在下面的章節中,我們將對Cooke三片組的相機鏡頭做光線追跡。我們將使用在第168頁的第9章的“練習三︰Cooke三片組的光源”的光線。如果你尚未產生這光線,你可以現在開始產生這組光源光線。 嘗試建立一個習慣,隨時了解(或確定)目前ASAP的狀態。當你執行完“建立者Builder”檔案,查看ASAP中工作區視窗的Objects tab資訊格,顯示在工作區中有總數為11的物件存在於這個系統數據資料庫。每一物件被指定光學系統中扮演適當的光學性質。在“空間中的光點數”代表著最初在Z=-10平面的光線集合。它們的指向都是沿著z軸平行,它們的x及y座標,分佈著這些在正方形格子點圖案的格子點光線光源。所有的光線都擁有相同的單位光通量。其值大約為每單位面積的單位光通量。這些光線屬於“Object 0”,其為描述光源的虛構物件。 這些是在執行Builder檔案之後及在光線追跡之前的ASAP狀態的描述。 10-178 ASAP Primer 入門指南 / 追跡光線
追跡對話框 Trace Dialog Box Trace追跡對話框是建立在主選單列 (menu bar)︰Trace>Trace Rays,如圖顯示。 圖 這個是光線追跡Trace Rays對話框,不只是追跡光線,而且提供我們選擇繪製這些光線,是以系統的剖面上,或者幾何刻面向。利用按Script按鈕,當你按OK你將看到發送到ASAP計算引擎的命令。當你在診斷視窗中,做一些新選擇時,這個區域變化非常大。如這個畫面將讓你看到,而且了解到整個複雜的對話框。 這個光線追跡Trace Rays對話框,不但開始啟動光線追跡,而且給予我們幾個附加的選項。在左上角,選擇Plot Rays w/Geometry來檢視當光線沿著光學系統追跡時光線的路徑。當這個選項被選定,一些不同的其他選項,將出現可選擇的選項。 你可以選擇一個視窗。在這個案例中,選擇Y-Z是恰當的,及Auto Scale也是好的選擇。在Ray Plot Options光線繪圖選項區域中,選擇All Rays全光線。在繪製幾何形狀物件選項Plot Geometry Options區域中,選擇Profiles。 ASAP Primer 入門指南 / 追跡光線 10-179
當你按OK,你將看到Plot Viewer視窗,如下圖所示。 圖 當光線路徑被繪製在光學系統的輪廓圖上。這個結果可能造成誤解或混淆。部份射線顯示光線沒有折射就進入Cooke三片組的第二元件中,且光線沒有明顯理由就停止。這些光線已經通過透鏡的前幅曲面,或後幅曲面,它們停止在光闌孔徑上。對於一個真實的二維圖像(只是為了顯示的目的),嘗試設定Major Axis Rays為標號1,然後在順著幾何形狀物件的輪廓再做光線追跡。 然而,這個圖像是有一點令人混淆。大部分的光線是被期待為折射,但是有些好像並不。當通過第二枚透鏡它們顯示停止在中途。 見第10章附錄,在第195頁的“程式10-1”。 通常在三維的圖像較易看出到底發生了什麼?我們將再一次的顯示光線追跡,這一次,我們選擇Plot Facets而不是Profiles。回想Plot Facets能產生一個適合顯示三維的圖像,這一個額外的訊息顯示,可以多讓我們知道一些光線的奇怪行徑的原因。 10-180 ASAP Primer 入門指南 / 追跡光線
ASA然而,現在我們違反一個ASAP光線追跡的基本概念:ASAP光線只能P光線,只能被被追跡一次,從他們的光源起始位置。如果你想再看一次光線追跡,追跡一次,從他們的光你必須消除舊有的光線,重新定義新的光線,然後再做追跡。使用這源起始位個簡單系統有一個較簡單的方法是重新開始。按End鈕,重新執行置,如果你想再看一次Builder檔案。 光線追跡, 你必須消除舊有的光註︰並不需要再執行建立幾何形狀的檔案。我們可以利用原有的幾線,重新定何形狀,一次又一次的做光線追跡。當你的幾何形狀變得足夠複雜,義新的光線,然後再它將使用非常長的時間去重新定義幾何形狀,所以可能值得使用一做追跡。 個分離的“Builder”檔案,來單獨定義光源。雖然,到目前重新執行一個系統所花的時間並不太多。 一旦,你再一次的執行“Builder”檔案,嘗試著使用Plot Facets選項來做光線追跡。即使在Plot View視窗(在182頁的圖),它可以明白顯示發生了什麼事︰停在光闌上光線的問題。按3D View鈕來檢視剩下的解釋。如果你旋轉這個view一個小量,它將顯示在第二枚鏡片消失的光線,因為在第一枚透鏡被我們的光源過度照射(圖)。這些無用的光線,在我們外形顯示時會在第二枚透鏡前消失。 光闌孔徑的功能之一,就是防止這些光線從系統中離去。目前所學到3D View是從三維的3D View是從三維系統模式中來了解光線路徑的一個必要工具。 系統模式中,來了見第10章附錄,在第195頁的“程式10-2”。 解光線路徑的一個必要工具。 ASAP Primer 入門指南 / 追跡光線 10-181
圖 這個圖像從POLT FACETS產生,顯示部份光線停止在光闌孔徑上。 10-182 ASAP Primer 入門指南 / 追跡光線
圖 從3D View可清楚的看出,有些光線似乎穿透第二枚透鏡,事實上是在第二透鏡之前與之後穿過。 消失的光線 Rays that Miss 當光線被產在180頁的圖,顯示光線離開第三枚透鏡的後幅曲面,箭頭顯示生,他們被光線的方向。它們離開光學系統。為何它們無法顯現在第181頁的圖指定給一個虛擬的中?它們是跟3D Viewer具有相同的系統。這個將帶領我們回到“Object ASAP光線追跡的另一個基礎︰光線屬於物件。當光線被產生,他們0”。當他們被光線追跡被指定給一個虛擬的“Object 0”。當光線被追跡時,他們是從一物件時,他們是到另一物件傳輸。當光線追跡結束,它們將屬於最後接觸到的物件。從物件到物件傳輸。當所以,這些追跡後的光線到哪裡去了?它們在透鏡3的後幅曲面。它光線追跡結們被最後一次折射,它們有新的方向向量,但是他們沒有地方去。在束,他們將屬於最後接圖中的箭頭是為了使用者的方便而畫出來顯示。光線被處理後的觸到的物方向,例如系統增加物件來截取光線(類似成像平面,或者偵測器)。件。 ASAP自動地畫箭頭到Plot Viewer視窗的邊緣,但是經過光線追跡後,光線的座標將與透鏡的後幅表面相對應。 所以,在3D Viewer中哪裡是箭頭的方向?答案是ASAP並不會在三維的圖像中畫箭頭符號,這就是這個的邏輯上理由,當Plot Viewer有一個已知的大小尺寸(由WINDOW命令),在3D Viewer視窗卻沒有,它是無邊界的。 ASAP Primer 入門指南 / 追跡光線 10-183
ASAP單純地不知道將繪製“消失的箭頭”多長。你可以讓這些箭頭在檢視圖裡面畫出來,但你必須告訴ASAP你希望它們多長,且以系統的單位為單位。如顯示在第177頁的圖所示,在Trace Rays對話框中,在Plot Ray Options區中有一個稱為Missed Rays的對話框。嘗試執行Builder及顯示光線追跡超過一次,來檢示這個對話框,然後選擇箭頭長度Arrows of length為10。要記得在Plot Geometry選項中選Plot Facets(而不是預設的Profiles)。當你點選3D View鈕,這一次消失的箭頭將出現。 見第10章附錄,在第195頁的“程式10-3”。 註︰你需要給予箭頭的長度至少90單位,才能來觀看光線通過一個焦點。甚至如此,光線仍不會出現在Plot View視窗,除非你改寫視窗的自動座標尺規。當你繪製系統的幾何形狀的,Plot View的大小將被固定。然而,這消失的箭頭將出現在3D Viewer。幸運地,有一個好的方法在成像系統中,去發現最佳焦點。我們將在11章“基礎分析”中介紹分析工具時也會介紹這一尋找最佳成焦點的工具。 表面的前與後 Front and Back of a Surface ASA回到第六章中所建立的凱薩格林望遠鏡模型,在118頁之練習2:凱薩P並不區分物格林望遠鏡。我們將顯示一些ASAP光線追跡的新技巧。圖10-4顯示體表面的前與後。在系統幾何形狀的光線追跡。它同時也顯示一個問題:光線可以從次 反射鏡的前與後表面反射,ASAP並不區分物體表面的前與後。如果區分物體的前與後,我們將違反非序列光線追跡的原則,光線單純的通過光學系統,並不考慮,他們所通過物件的次序。 10-184 ASAP Primer 入門指南 / 追跡光線
圖 真實的鏡面前面與後面之間有一有限值的厚度。我們簡單模型的凱薩格林望遠鏡忽略這個厚度。然而,這個簡化對主反射鏡並沒有問題,倒是我們發現在中間的格子光線,反射到次反射鏡的錯誤邊了。 有時候,像這樣的問題,可以用重新定訂光源的位置來解決。當我們將光源放在次反射鏡的前面時,將如何? 圖顯示,這樣做將會引發自己的問題。部份從格子點光源中央的光線直接通過主反射鏡的中間孔。這將在真實的系統中不可能會發生,因為次反射鏡是在光路上。 ASAP Primer 入門指南 / 追跡光線 10-185
圖 巧妙放置的光源位置,通常允許我們去保持簡單的光學系統,在這個案例中,我們將引發新的問題。沒有次反射鏡所引發的“陰影”部份,光線可以直接的通過主鏡的中央孔,射向檢光器。這個結果在真實系統中是不可能的,他們將被次反射鏡的後表面吸收。 這真實的問題是,我們的模型並不完整。在任何真實的系統中,並沒有無限薄的表面。真實的次反射鏡總是有後表面、邊緣、及可能一個機械的固持機件,其阻止任何光線到達鏡面的前表面,從後表面遺漏。然而,我們可以安全地忽略主反射鏡的及檢光器物理厚度,我們不可以對次反射鏡也是如此做。正確的方法,是在次反射鏡的後面增加一個吸收的後表面,如圖所示。 10-186 ASAP Primer 入門指南 / 追跡光線
圖 正確的凱薩格林望遠鏡光線追跡,是在其次反射鏡的後表面增加一個吸收的後表面。 註︰在大型的系統中,如果你只定義少數的表面光線追跡是非常的快速的。許多ASAP的新使用者,犯了一個錯誤在系統中去模型化每一個螺絲孔和墊片。在模型化也許是因為在CAD設計中,已經擁有這層次的細節,然而安全與保守,這個趨近將耗費光線追跡時間,ASAP至少必須做一個快速的檢查,在光線追跡的每一步驟的每一物件,來確定這些光線沒有互相交錯。 但是你所不知道的,什麼是重要的及什麼是不重要的?也許這正是為什麼你購買非序列的光線追跡軟體。這個答案通常是由你所知道的簡單開始,然後當發現問題後再逐漸增加複雜度,就如同我們目前所做的。 ASAP Primer 入門指南 / 追跡光線 10-187
自表面開始的光線 Starting Rays on Surfaces 要定義系統模型中的光線不得剛剛好定義在物件的相同位置上。當光線追跡光線在時,光線可能與這些表面互相影響,或沒有影響。圖顯示當光線物件前的一個剛剛好定義在凱薩格林望遠鏡次反射鏡的新表面時,所發生的情形。小距ASAP是一個電腦程式,受到其計算精度的限制。如果光線的位置完離。 全的與表面位置一致,光線的未來,完全決定於四捨五入的錯誤及程式所使用的光線計算流程。所以,要定義光線在物件前的一個小距離而不要使光線重疊在物件表面。 圖 假如你定義一個光線在物件表面,其結果將不可預測。在這一個案例中,光線被定義在次反射鏡的後表面。所有的射線,錯過了這一個會吸收的物件,它們被發現在次反射鏡的內部。 10-188 ASAP Primer 入門指南 / 追跡光線
重複的表面 Duplicate Surfaces 顯示於圖的可能是最奇特的光線追跡結果。部份光線行為正確,然而,部份光線直接穿越反射的主鏡,就好像鏡面不存在一般,這是什麼意思?這裡確定有錯誤。大多數的答案,可以在ASAP的工作區視窗中發現,如圖所示。每一表面被列出二次。 圖 當部份光線好像直接通過物件(右圖),這原因通常是因為重複表面。此物件選項Objects tab。在ASAP工作區視窗(左圖),顯示有2個複製的物件被定義。我們在執行第二次Builder時,忘記去按End鈕時這種重複表面就會發生。 再一次,此多餘複製的表面混淆了光線追跡的演算流程。有時,ASAP發現此多餘表面,有時是另一表面,有時二個面都沒有發現。這個原因是任一電腦計算時的有限精度、四捨五入誤差、及ASAP計算法則中的光線追跡細節所造成的。 ASAP Primer 入門指南 / 追跡光線 10-189
註:在這章及前面章節中顯示的光線及光路徑顏色的選擇是須要加以解釋的。在這本ASAP Primer入門指南中大多數的範例與波長無關,或僅與單一波長相關。在此狀況下,光線及光路徑的顏色是由OCOLSR命令在線上說明(On-Line Help)所顯示的顏色順序所給定。顏色的次序與產生光源的先後次序有關,第一光源是白色或黑色,第二光源為紅色;其餘類推。 當建立不同波長的光源,從「藍」色到「紅」色的範圍與從「短」到「長」的波長相對應代表。顏色的變化只是相對變化,並不代表絶對光波長的光譜上顏色。例如:波長為550及560nm的光線被指定時,其ASAP上顯示的顏色並不必然是與該波長的光譜顏色相關。事實上,550nm光源的光線顯示的是藍色,而560nm光線顯示的是紅色。 假如不同光源具有相同波長,但繪圖時其希望以光譜上不同顏色差異來顯示每一光源,光源的顏色即如上述的次序顯示。 10-190 ASAP Primer 入門指南 / 追跡光線
摘要 Summary 在這一章中,我們已討論下列參個新的命令︰ ASAP命令 選單 描述 TRACE Trace>Trace Rays 通過光學系統追跡光線,但不產出系統圖象 TRACE PLOT Trace>Trace Rays (Plot 通過光學系統追跡光Options) 線,在Plot Viewer畫光線路徑。其對話框也允許我們包含幾何形狀的剖面圖及刻面圖在同一圖式中。。 MISSED Trace>Trace Rays (Missed 顯示任何光線的最後方ARROWS Rays Option) 向其停在到達的吸收表面之前,因為在其光路徑上不再有物件。 幾個重要的啟示已呈現在本章的例題中: •光線不要創立在物件的表面或極靠近物件表面。 •光線無去區分在物體的前表面或後表面。 •在兩曲面在空間中具有相同位置,光線其行為不可預測。 •第一次作光線追跡時,應繪製光線在系統幾何形狀上,來確認每一光線行為為所預期的。 •3D Viewer是一個很重要的工具,來學習光線通過一三維的光學系統。 •3D Viewer不能顯示“消失的光線”,除非特別要求,並特別標示箭號的長度。 •要再次光線追跡,必需重新定義光源。 ASAP Primer 入門指南 / 追跡光線 10-191
當完成下列的練習後,你將完成四個基本步驟的三個︰ 1 建立系統模型 2 創造光源(射線) 3 光線追跡 4 執行系統的性能分析 性能分析將是下一章的主題。 10-192 ASAP Primer 入門指南 / 追跡光線
練習4︰凱薩格林望遠鏡的光線追跡 Exercise 4: Tracing rays through the Cassegrain telescope 1. 在取回載入第120頁“練習2:凱薩格林望遠鏡”的Builder檔案,你的原本的凱薩格林望遠鏡模型。 2. 在次反射鏡 (Secondary mirror) 的背面,增加一吸收特性,並給予次反射鏡的厚度為 cm。 3. 沿著z軸產生一方形格子式的平行光軸光源,並照明整個主鏡,指-10定光通量為8×10流明。 4. 創立圖象顯示系統幾何的形狀,結合光線的路徑。當其光線追跡通過系統。 5. 重複上述過程,建立一三維的物件幾何形狀圖象及光線路徑。 ASAP Primer 入門指南 / 追跡光線 10-193
10-194 ASAP Primer 入門指南 / 追跡光線
附錄10A 第10章的程式集 Scripts For Chapter 10 下列ASAP的程式參閱第10章 程式10-1 !!THIS IS THE COMMAND SCRIPT PRODUCED FROM THE PULLD-OWN MENUS. WINDOW Y ZPROFILES PIXELS 021 OVERLAY TRACE PLOT 程式10-2 !!THIS IS THE COMMAND SCRIPT PRODUCED FROM THE PULLD-OWN MENUS. WINDOW Y ZPLOT FACETS 5 5 OVERLAY TRACE PLOT 程式10-3 !!THIS IS THE COMMAND SCRIPT PRODUCED FROM THE PULLD-OWN MENUS. WINDOW Y ZPLOT FACETS 5 5 OVERLAY MISSED ARROWS 10 TRACE PLOT ASAP Primer 入門指南 / 追跡光線 10-195
10-196 ASAP Primer 入門指南 / 追跡光線
第 11 章 基礎分析 BASIC ANALYSIS 在這一章中,我們將介紹一些基礎的分析工具及其概念。這將是模型化過程中最有趣的步驟,因為我們將能開始回答有關這些模型的光學行為的問題。ASAP提供數值及圖象工具來完成這些分析。 在這個分析的簡介中,我們將顯示產生多種不同重要結果之方法: •物件上的總功率 •光線的平均位置 •光線的平均方向 •光點陣圖 •最佳聚焦位置 在18〜21章我們將再回到這個分析主題,來討論ASAP的輻射度與光度計算。這個增加的工具將允許我們計算光強度分佈-以位置或方向的函數-及其他正式的輻射度分析要件。ASAP所維持可進入使用的基本光射線數據及彈性的程式,允許我們來組織許多面向的資訊,來適合我們特殊的計畫需求。當然部分較高級的分析技術,將由命令程式及巨集語言來完成。此處將只是基礎概念的介紹與了解。 分析的基礎概念 Basic Concepts of Analysis 在前幾章中,我們學到不只認為ASAP的光射線,為在光線追跡的圖形中出現光路徑的線條。相反的,我們將考慮光線為空間中帶有方向 ASAP Primer 入門指南 / 基礎分析 11-197
向量的光通量值及其他不同的參數的光點,其可攜帶光學系統中每一光線的重要資訊。當光射線通過一個光學模型,大部分的參數都會改變。在任一時刻,它們描述光線的即時狀態。 除非指ASAP實際地執行其根據光線數據的分析計算。例如,我們想要一個定,否則光線位置的圖象(或部份光線的子集合),ASAP對所要求的視窗內所ASAP的分析是計選的每一條光線,藉由繪製目前的坐標來產生圖象。如果我們想知道算使用在所有在給定物件上的光通量總和,ASAP參考光射線表,以物件分類,所有的物件上的所然後一物件一物件的總加其光通量值。 有光線。 我們通常使用一個物件稱為“檢光器”,其在我們系統模型中的位置為我們希望光線追跡後被累計的位置。然而,對檢光器與我們指定一個介面是反射或穿透而言是不同,但是並沒有什麼特別。這個特殊的介面造成所有光線停止,在那裡沒有進一步轉換它們的光通量。你的系統模型能包含所有你想要擁有的所有物件及這個介面。所以,你可以在這些介面的任一個上做分析。 分析計算是如同我們所見到的,光線有時會停在物件上,其介面上由Fresnel公式根據光線的所分派指定的穿透係數與反射係數並不為0。一個射線迷失了,沒有位置、方向、光通達到系統中的任一物件是經常發生的。因為它們沒有地方去,所以它量,及當分們停止了。我們也可以針對這些消失的光線作分析,它們通常會告訴析命令發出時這些光線我們一些其他信息,可以引導我們修改系統設計以至於光能量不損失。 所擁有的特性。 彈性化在任何數量的物件上作分析,是ASAP功能強大的特徵,但它的使用必須非常小心。如同我們將在下面範例中所見,在我們開始發布分析的命令之前,我們確定以隔離這些正確的次集合光線。一個最重要的ASAP分析概念能如下面的一個句子所敘: •除非指定,否則ASAP的分析是計算使用在所有的物件上的所有光線。 ASAP並不決定那些光線對我們是重要的,那些光線是不重要的。我們必須提供此資訊給程式,這步驟稱為光線隔離ray isolation。 有一相等重要的第二分析概念,摘記如下: •分析計算是根據光線的位置、方向、光通量,及當分析命令發出時這些光線所擁有的特性。 如同我們已經所說的,這些分析命令操作在光線表上。因為這光線表自從我們定義光線就存在,分析命令可以在任一時刻被應用,不管已經被光線追跡或無。當我們學習“光源的確定”時,在第157頁,第9章“光源的確定”,我們已經實際上使用分析命令。當我們進行這11-198 ASAP Primer 入門指南 / 基礎分析
些分析的簡介,你將發現在命令間有些重疊,例如在Rays選項及在Analysis分析選項。如果你按Script按鈕來觀看ASAP命令從對話框的產生及如何被送到計算引擎,你將發現許多相同命令被使用在這兩個不同的地方。 產生一個系統及光源 Creating a System and Sources 圖顯示一個簡單的光學系統,包含一個光闌孔徑及一個單片透鏡及一個檢光器。我們創立兩個光源,然後追蹤他們經過整個系統。 圖 一個簡單光學系統的幾何外形檢視(左圖)及一個三維圖象檢視(右圖),包含有一個光闌孔徑、一個透鏡、一個檢光器。我們光線追跡兩個點光源,一個在光軸上(黑線路徑),一個在離軸上(紅線路徑)。Builder檔產生的幾何形狀及光源,如圖所示。在幾何外形圖中,我們減少格子光源的在x軸方向光線的數量為了清楚顯示的目的,給予我們一個簡單的二維光線扇形圖。右圖的立體檢視圖顯示這個25 × 25的格子光線。 如圖所示,我們已經追跡光線通過光學系統,同時也已經可以展示一些分析結果。我們的目標是來分析在指定位置上檢光器的成像品質,同時決定對檢光器而言是否為沿光軸光線的最佳焦點位置。 註︰在圖之例子中,顯示本章中許多要點,如果你想要跟隨著本章中所讀到的新命令,來經驗這些新命令,如圖所顯示的Builder檔可以用來建立這個光學系統。 ASAP Primer 入門指南 / 基礎分析 11-199
圖 Builder檔案產生本章中大多數的範例中的光學系統模型及光線。注意Move列,使用於兩個光源的定義。我們使用這個新的命令來重新定位這些由光源Source列所指定的點。現在,這些光線不但顯示從這些光源點陣輻射,而且事實上就是從這些點開始做光線追跡。這個OMEV命令,將在第15章,“重新定位幾何形狀及光線”中,再討論。 11-200 ASAP Primer 入門指南 / 基礎分析
光線的定位 Locating Rays 一旦光線被一旦光線被追跡,通常在分析過程的第一步,是找出光線的所在位置。追跡,通常當然我們也可以有一些期望,光線將應該到達哪裡,光線追跡的圖象在分析過程的第一步,將告訴我們一些訊息,ASAP現在可以給我們定量的資訊。我們可以是找出光線了解到有多少光線可以到達每一物件,及這些光線代表多少的光通量。 的所在位置。 獲取這些資訊的過程,可以選擇Rays>Locate Rays。這些結果顯示在命令輸出視窗,如圖所示。 圖 當我們要求ASAP,從Rays>Locate Rays來定位光線,其結果會列在Command Output視窗。在這個範例,大多數的光線在光圈及檢光器上,但是,有部份光線停在透鏡的背後。在ASAP中我們所執行的真正命令,是STATS命令。它同時也顯示,在物件每一表面的總光通量。 ASAP會查閱光線表,然後清點每一物件上的光線的數量及總光通量。我們發現光通量,在三種不同物件上︰光闌孔徑(模型中稱為APERTURE),透鏡1的後表面 () 及檢光器。光闌及檢光器為具有吸收性質的介面,所以我們可以期待光線停在這兩個表面。停在透鏡1後表面的光線,達不到檢光器。在圖中的箭頭顯示光線離開系統,我們從上一章中得知光線總是停留在光線所接觸的最後一個物件上。 見第11章附錄,在第217頁的“程式11-1”。 註︰在ASAP命令中執行上述工作的指令是STATS,它就是統計“statistics”的簡稱。這是一個命令的範例,它可以從Rays或Analysis選單中接觸到。因為它可以總計光通量及光線定位,STATS也可從選用Analysis>Calculate Flux選單中,執行Summary選項來達成。 ASAP Primer 入門指南 / 基礎分析 11-201
分析用光線之選擇 Choosing Rays for Analysis 分析的一回想我們分析的一個主要目的是去找出沿光軸光線的最佳焦點。在做個主要目這分析之前,我們必需告訴ASAP我們對哪些光線是感興趣的。光線的是去找出沿光軸的選擇有兩個步驟: 光線的最佳焦點。 1 單獨考慮那些在感興趣物件上的光線。 在我們的案例中,我們將只考慮在檢光器上的光線。如果需要,我們可以進行第二步驟。 2 根據其他的判別條件,進一步的隔離光線。 為了找出單鏡片透鏡在沿著光軸上的最佳焦點,我們必須只選用那些來自沿著光軸光源的光線。 ASAP選單提供Choose Rays選項,你可以從Rays>Choose Rays或從Analysis>Choose Rays來獲得進入。在這二個範例中,選單將顯示選擇︰Consider, Select Rays,和Discard Rays。利用CONSIDER及SELECT命令當我們執行特定的任務時,我們可以暫時的忽略某些光線。Discard Rays則永久的除去某些光線不在目前考慮或選擇下的光線。這個選項通常不是必須的,除非我們嘗試,在老的光線之外建立一些新的光源。 如上面所提到的,第一步是決定哪一物件要被考慮來分析。利用這點,我們的意思是ASAP在往後的命令中忽略所有其他的物件。在這些物件上的光線也被忽略,其為我們這個範例的目的。這一步驟可以由Analysis(或Rays)>Choose Rays>Consider來執行。 圖的左側對話框顯示這個範例。現在我們只選擇檢光器。 11-202 ASAP Primer 入門指南 / 基礎分析
圖 在這Consider對話框(左邊),我們除了檢光器以外,不選其他所有的物件。在執行Consider命令後,在ASAP工作區視窗(右邊)中的Objects tab反應出這些變化。另一種方法,我們可以直接從ASAP Workspace(右)取消物件,完成相同的結果。 當你做這個步驟時,注意ASAP工作區中Object tab的變化(在圖的右邊)。如果你願意,你可以告訴ASAP,哪一個物件被考慮,只要藉由在視窗中中止這個物件。不管哪一種路徑,物件Object的視窗總會提醒你,哪一個物件是目前被考慮的。你只要重新選擇對話盒(由二種方法中之任一種)來改變物件的狀態。 註︰Consider命令的進行不只將忽略發生在物件上的光線。任一物件不被考慮,將被隨後的所有命令忽略掉。這些命令包括繪圖及觀看命令,例如Profiles及Plot Facets,甚至於隨後正在進行的光線追跡。 ASAP Primer 入門指南 / 基礎分析 11-203
第二步驟,利用其他判別式選擇光線,通常不是必須的。假如我們已經建立一個光源或同時建立且追蹤這個光源,我們可將進行這些分析過程。然而,在這案例,我們有兩個點光源的成像,利用ASAP我們有能力獨立的去發現它們。這個步驟是由Analysis (or Rays)>Choose Rays>Select Rays來完成。其結果的對話框如圖所示。 圖 根據不同的判別式,Select Rays對話框是用來進一步限制要分析的光線。在這個例子中,我將要求ASAP忽略來自離軸的光源的光線。 在Select Rays下拉式表中,我們有三個選項︰ALL, EXCEPT, ONLY。因為我們希望選擇的光線只來自一個光源,所以我們這一次選擇ONLY。 11-204 ASAP Primer 入門指南 / 基礎分析
其次,我們移到Options區,在Ray Set的下拉式表中,我們有許多選項︰ 如圖所示,我們已經選擇第四個選項 (Rays from source number m),然後在Source#選項盒中輸入數值1。光源被依照其被定義的次序來編號。 在此例中,沿著光軸的格子光點首先被定義,所以其光源編號為1。在輸入這個訊息後,我所按Add>>>對表上的選項來置入條件。 ASAP Primer 入門指南 / 基礎分析 11-205
當我們按OK,ASAP計算引擎執行命令,SELECT ONLY SOURCE 1。光線不符合這條件的,不會用在隨後的分析命令中。當此操作結束時,命令輸出Command Output視窗,顯示下面的訊息: ---SELECT ONLY SOURCE 1 4 98r ya sgalf degnahc 4 98r sya won detceles見第11章附錄,在第217頁的“程式11-2”。 雖然我們不需要進一步來解我們範例中的問題,SELECT將允許我們SELECT是ASAP中內對不同的選擇判斷式做邏輯的組合。SELECT是ASAP中內建最有效的建最有效的診斷分析工診斷分析工具之一。如果你使用命令語言,將有更多的判別式供我們具之一。當使用。當你的模型變得更複雜與接近實務時,你將發現使用ASAP基你的模型變得更複雜與本分析結果,足夠讓你來發現系統中的雜散光及鬼影問題。這個接近實務SELECT命令,讓你更進一步調查問題的真正原因,所以你可以提出時,你將發現使用一個解決方案。 ASAP基本分析結果,註︰當形成選擇判別式的邏輯組合時,要小心了解邏輯AND和OR足夠讓你來函數的意義。當我們可能期待這種組合, 發現系統中的雜散光及鬼影問題。SELECT ONLY SOURCE 1 AND SOURCE 2 為了包含兩個光源的所有光線,這邏輯觀念造成沒有光線被選擇。因為沒有光線是同時屬於光源1及光源2。你必須使用邏輯OR運算子,來包含來自兩個光源的光線。 點陣圖 Spot Diagrams 經選擇我們所要分析的光線,我們可以發現在檢光器平面上,沿著光軸光線成像的品質。點陣圖是一個普通的方法來做這件事,其可以繪製出成像平面上每一光線的位置。光點密度的光線記號是一個成像光強度分佈的大概指標,顯示在成像上光功率的分布。這個光強度密度忽略了每一個別光線間存在的光通量差異。因為點陣圖中每一光點與另一光點看起來並沒有不同。 在較複雜的系統中,每一光點所代表的光功率可能有重大的差異存在於點陣圖中。我們展示這種考量在定量的輻射能量計算時,我們將在第19章“分析總光通量及位置的光通量分布”中再強調說明。 我們已經學習繪製光線位置的步驟︰Rays>Graphics>Plot Position 2D。我們使用這種方法在第九章“確認光源”中來確認格子光源。可11-206 ASAP Primer 入門指南 / 基礎分析
執行的ASAP命令是SPOTS POSITION。圖顯示對話框,圖顯示單透鏡範例中,在檢光器上沿著光軸光線之點陣圖。 圖 在對話框中的選項 (Rays>Graphics>Plot Positions 2D) 其所產生之點陣圖在圖。 圖 投射在X-Y視窗中,檢光器上的沿著光軸光線之點陣圖。 ASAP Primer 入門指南 / 基礎分析 11-207
光線統計 Ray Statistics 如果你想進一步了解在檢光器上成像的定量分析,你可以利用Analysis>Calculate Flux,來計算光線之統計。有三個選項在對話框中︰總計,(Summary)、位置 (Position) 及方向 (Direction)。 註︰你也可以從Rays>Ray Information>Show Ray Statistics來達到這三個選項。 這Summary選項,計算光線的總數及在目前考慮的每一物件上的總光通量,這個ASAP的命令為STATS。 ---STATS Object Rays Flux 5 241 DETECTOR -------------------------- TOTAL 241 這個STATS命令也可以在考慮或選擇之前用來訂定所有光線的位置,我們可以用Rays>Locate Rays來達成。然而,現在我們只要考慮與選擇的光線,其被包含在此計算中。 這個Position的選項對目前考慮與選擇的光射線,給予我們有用的位置統計。ASAP之命令為STATS POSITION。 --- STATS POSITION C tnerruS scitsitat rofO tcejb 5 -DETECTOR T latoFl xu= 22 orf m 421 syar (% )X Y Z C:diortne.-398916E0-8 .-518713E1-1 RMS D: -4 M mumixaS:daerp.-442264 .-442264 .-170543E1-4 -4 這個版本的STATS POSITION對尋找成像位置是非常有用的,及定量化的定義光點大小,其表現方法包括均方根 (RMS) 及最大擴散。這平均值與標準差是用光通量加權來給予最佳的光強度的密度估算值。 11-208 ASAP Primer 入門指南 / 基礎分析
這Direction方向的選項,給予方向餘弦統計相類似的資訊。ASAP的命令為STATS DIRECTIONS 中央Centroid是歸一化後的平均方向向量,顯示這些光線,沿著z軸傳播。當利用Position選項時,這些計算值是根據光通量加權計算的。 尋找最佳焦點 Finding Best Focus ASAP能我們將以不同的檢光器位置來做實驗,尋找最佳焦點。例如,我們可夠計算最以移動檢光器及重複光線追跡,直到我們得最小的RMS標準差,使用佳三維焦點,其焦Analysis>Calculate Flux>Position選項。幸運地,這是一個非常簡單的點是建立方法。 在目前分析的光線的方向。 在ASAP所提供的分析工具中,我們將發現Analysis>Focus Rays。ASAP能夠計算最佳三維焦點,其焦點是建立在目前分析的光線的方向。 基礎的方法,將顯示在第211頁的圖,圖,圖。 ASAP Primer 入門指南 / 基礎分析 11-209
圖 如同光線追跡的結果,有部份的光線被孤立隔絕在檢光器上,準備用來分析。這個目前的光線位置是被顯示在小的藍色球體上。這些光線的方向向量,被顯示穿過在檢光器平面,顯示其正在擴展的特性。 圖 ASAP中,聚焦FOCUS命令,允許前後移動光射線,沿著光射線的方向向量,類似線上的珠子般。ASAP計算中心球體的座標點,所以從該點到每一光線的座標點兩點距離的平方和為最小值。在圖中的光線記號盡量的靠近中心球體的座標點,受到每條光線方向向量的限制。光線從未真正的移動到此一中心球點的地方。ASAP只報告中心球體的座標,留下在檢光器上的光線。 11-210 ASAP Primer 入門指南 / 基礎分析
圖 FOCUS MOVE命令不只計算焦點中央球體的位置,而且移動這些光線到一個通過焦點中央球體的平面(光線仍然限制地沿著他們方向向量移動)。這個平面可能是z平面,如果所有光線的平均方向是在z方向。 事實上,這些光線(在空中的點,經過光線追跡後,落在檢光器上),被允許沿著它們的方向向量移動,向前或向後,直到光點的距離平方和與光通量加權的焦點球體為最小。在數學上,我們嘗試去尋找一個中央球體點中心,其可將下面表示式參數D最小化: 2fd∑jjjD= f∑jj其中,fj是第j條光線的光通量,dj是從第j條光線到中央球體的距離。這個計算是以光通量加權的,所以這些光線擁有最大光通量,將對結果有最大的影響力。 這個焦點分析Analysis︰ FOCUS對話框 (Analysis>Focus Rays) 給我們對焦點的三種選擇(見圖)。 ASAP Primer 入門指南 / 基礎分析 11-211
圖 在這Analysis: FOCUS的對話框中,Show Best Focus顯示最佳焦點只報告了在中央球體體積內的座標(圖)。Move Rays to Plane of Best Focus移動光線到最佳焦點平面執行相同的計算,然後移動這些光線,從目前的位置到通過中央球體的平面(圖)。我們也有選項,可以移動這些光線到參考球體,其計算的中央球體點在其中心。 顯示最佳焦點Show Best Focus選項,在命令輸出Command Output視窗列印出中央球體的位置,伴隨著其他有用的訊息在計算當中或計算之後,下面是ASAP命令FOCUS在命令輸出視窗顯示的計算數據態樣。 移動光線到最佳焦點平面Move Rays to Plane of Best Focus,列印相同的資訊到命令輸出視窗,同時移動這些光線到通過中央球體平面。這個ASAP命令是FOCUS MOVE。如果這個選項被選定,你將有一個新的點陣圖顯示聚焦過程的效應(圖) 11-212 ASAP Primer 入門指南 / 基礎分析
圖 顯示最佳焦點Show Best Focus只報告了在中央球體體積內的最小趨近 (approach) 在空間點的座標(左圖)。移動光線到最佳焦點平面,展示相同的計算,然後,移動這些光線從目前的位置到通過中央球體的平面(右圖)。 在光線追註︰我們前面說過,ASAP的光線永遠伴隨著一個物件。然而,在這跡中,光線永遠要個案例中FOCUS MOVE我們將允許光線離開檢光器,那麼現在光線伴隨它們伴隨著哪一個物件呢?如果你使用Rays>Locate Rays在FOCUS 接觸的最後一個物MOVE之後,你將發現光線仍然被報告在檢光器上。在光線追跡中,件,甚至光線永遠要伴隨它們接觸的最後一個物件,甚至於,它們的座標已於,它們的座標已經改變。 經改變。 在Analysis: Focus對話框中的最後一個選項是移動光線到球體Move Rays to Sphere,其中球體半徑我們必須輸入。這個指示允許我們移動光線到一個參考球體,此參考球體的表面落在系統的入瞳(在這個例中大約是透鏡的位置)。現在除了中央球體數據之外,ASAP也列印光路徑偏差的數據,有波峰到波谷peak-to-valley量測法及波前的均方根和wavefront variance波前標準差的均方根RMS︰ --- FOCUS MOVE ... F xul dethgiew :scitsitats PV- O lacitpP htaD ecnereffi= .246618E970- 2 W tnorfevaV ecnairaR(MS )= .71255E8280-3 如果光線形成一個理想的幾何焦點(也就是聚焦成一個點),這些值都將為0。這有限的偏差是這個成像系統所呈現的像差aberrations大小的直接量測。 ASAP Primer 入門指南 / 基礎分析 11-213
摘要 Summary 在這一章中,我們已討論下面幾個新的命令︰ ASAP命令 選項 描述 STATS Rays>Locate Rays 或報告在每一物件上,光線Analysis>Calculate 的總數及總光通量。 Flux (Summary option)CONSIDER Rays>Choose Rays>選擇物件,給未來考慮到Consider Analysis>的圖式及分析用。 Choose Rays>ConsiderSELECT Rays>Choose Rays>在不同判別式下選擇光Select Analysis>線供分析用。 Choose Rays>Select STATS Analysis>Calculate 統計位置上的光線。 POSITION Flux or Rays>Ray Information>Show Ray Statistics>(Position option) STATS Analysis>Calculate 統計方向上的光線。 DIRECTION Flux or Rays>Ray Information>Show Ray Statistics (Direction option) FOCUS Analysis>Focus Rays尋找及印出最佳RMS焦>(Show Best Focus 點的中央球體。 option) FOCUS MOVE Analysis>Focus Rays尋找及列出最佳RMS焦>(Move Rays to Plane 點的中央球體,及移動光of Best Focus option)線到通過中央球體中心的平面。 FOCUS MOVE n Analysis>Focus Rays尋找及印出最佳RMS焦>(Move Rays to Sphere 點的中央球體,及移動光option) 線到半徑為n的參考球體。 11-214 ASAP Primer 入門指南 / 基礎分析
可能本章中最重要且要記住的重點是︰ 1. 在分析開始之前,必須告訴ASAP程式那些光線要分析。 2. 使用CONSIDER命令 (Rays>Choose Rays>Consider) 來告訴ASAP在往後命令中考慮那一物件。當你選擇不考慮一物件時,將影響與此物件和此物件有關的光線。 3. 使用SELECT命令 (Rays>Choose Rays>Select) 來進一步孤立隔離限制一組特定光線。當有複數光源時,這種孤立隔離是必需的。 本章末的練習給我們一個機會練習使用這裡所介紹的基本分析工具。這些工具只包含在ASAP中最簡單的基本分析工具。在第18章到21章中,仍將討論這一主題,可以計算及顯示定量的光通量的分布,為位置及方向的函數。 你可能已見過ASAP計畫的四個要素︰ •建立系統模型 •創立光源(射線) •追跡光線 •展示分析 在此入門指南Primer剩下的章節,我們將不但會再次討論分析的主題,而且計畫要件中的其他三要素也將會再討論數次。你將學習各要件領域中的更多複雜的工具,且練習及加強目前所介紹的基本技巧。 ASAP Primer 入門指南 / 基礎分析 11-215
練習5︰球面反射鏡的最佳焦點 Exercise 5: Best Focus of a Spherical Mirror 1. 建立一個球面反射鏡的模型,具有下面的規格︰ 反射鏡鏡頂在z=10 cm處 直徑為5 cm 曲率半徑為-20 cm 反射率為98%,穿透率為0% 註︰ASAP並不會要求能量守恆,假設材料為“可吸收的”,其能量可能轉換為熱能。 2. 使用System>Profiles及滑鼠游標來確定你的反射鏡模型的位置及直徑。 3. 定義一個21 × 21格子光線的準直光線集合,給予格子光源的方向平行z軸,及光源的直徑使其與反射鏡的直徑相當。 4. 在3D Viewer中使用System>Plot Facets及Rays>Graphics>Plot Rays 2D確認光源的大小及光線的方向(見160頁,第9章)。使用Y-Z視窗,其y軸範圍為 - 40到 + 40,z軸範圍為 - 10到110。 5. 追蹤光線,使用Plot Facets繪製幾何形狀,使用與第4項相同視窗。 6. 使用Rays>Locate Rays來確認所有射線都在反射鏡上。 7. 使用Analysis>Focus Rays中Move Rays to Plane of Best Focus選項移動這些光線,尋找最佳焦點。 8. 使用Analysis>Calculate Flux(Position選項)來計算位置的統計。 9. 在最佳焦點繪製點陣圖 (Rays>Graphics>Plot Positions 2D)。 一些問題來測試你了解的程度 Some questions to you’re your understanding • 在移動光線到最佳焦點後,光線屬於那一物件? • 被Focus計算的中央球體坐標為何? • 在最佳焦點,RMS模糊直徑的大小為何? • RMS偏離值為何?在最佳焦點x-y平面上,光線的最大偏離值為何? • RMS偏離值與在Focus輸出的模糊直徑有何關係? • 為何位置統計RMS偏離值,與從Focus命令報告的RMS偏離值有些微的不同? • 在光線移到最佳焦點後,光線落在那一物件? 11-216 ASAP Primer 入門指南 / 基礎分析
附錄11A 第11章的程式集 ASAP SCRIPTS FOR CHAPTER 11 下列ASAP程式參閱第11章,“基礎分析” 程式 11-1_________________________________________ !!THIS IS THE COMMAND SCRIPT PRODUCED FROM THE PULLD-OWN MENUS. !!FIRST TRACE THE RAYS USING THE SAME COMMANDS AS IN CHAPTER 10. WINDOW Y Z PLOT FACETS 5 5 OVERLAY MISSED ARROWS TRACE PLOT !!THE NEXT COMMAND LOCATES THE RAYS. STATS 程式 11-2________________________________________ !!THIS IS THE COMMAND SCRIPT PRODUCED FROM THE PULLD-OWN MENUS. !!THE NEXT COMMAND CHOOSES RAYS ONLY ON THE DETECTOR ,OBEJCT 5. CONSIDER ONLY 5 !!THE NEXT COMMAND SELECTS RAYS ONLY FROM THE FIRST SOURCE. SELECT ONLY SOURCE 1 ASAP Primer 入門指南 / 基礎分析 11-217
11-218 ASAP Primer 入門指南 / 基礎分析
第 12 章 ASAP資訊框 MORE ABOUT THE ASAP LANDSCAPE ASAP資訊框首先在第2章,第33頁,“快速導覽”中介紹。當時只是快速的介紹使用者介面中最基本的資訊來使用ASAP,此介面稱之為資訊框 (landscape)。我們將再回到這一主題,來介紹進一步的特色,讓使用者更有效率地使用ASAP。 在這一章中,我們將討論3個大主題︰ • ASAP工作區。如果你選擇打開這架構,同時定義一個ASAP的計畫,你將可以更加容易及有效的管理不同型態的多種檔案。經常使用的檔案,可以組織成一個簡單的索引,同時變成ASAP工作視窗的一部分。檔案清單中的任一檔案可被開啟來編輯或執行不必開啟檔案,一旦你已經發展並完成這些檔案。你可以選擇連結多數檔案在一起,並且以一特定次序執行。 • 自訂資訊框。因為不是每位使用者都同意此最佳或最效率的視窗應用,ASAP給予你這種修訂資訊框的能力,適合你的特別需要、電腦硬體及工作型態。ASAP在資訊框之下端的主選項列及狀態列,是工作環境的必要元件,其不可被分離、移動或改變大小。一旦,你將其安裝在資訊框中,ASAP將記得它,同時在未來都視為內訂。 • 自訂工具列按鈕。ASAP已經預先定義了一些按鈕在工具列上,其將是最常用的ASAP函數。當然這些按鈕所顯示的函數,可以用其他選項或程式語言來完成,他們表現的是一種方便、省時的工具。然而,或許使用者有一些特定的工作,可能需要非常頻繁使用ASAP的某些命令,但它們卻不可能包含在工具列上的按ASAP Primer 入門指南 / ASAP資訊框 122-19
鈕。ASAP提供20個自訂的外加按鈕,其可以以撰寫程式來適合使用者的個別需要。 • Object Properties toolbar物件特性工具列 你可以輕鬆的接近光源及應用物件的媒體介質、散射模型、及表面粗糙模型。直接進入範例的程式集資料庫也是可以的。玻璃目錄包含有Schott、Ohara 、French、Hoya、Sumita及Hikari等玻璃廠商。在玻璃名稱上按滑鼠右鍵及可以看到此玻璃的色散資料圖。在使用建造器或程式產生幾何形狀後,相關的介質媒體及模型可以拉到ASAP Workspace的物件上。你可以在ASAP的視窗中標定此物件特性在Object Properties toolbar工具列。 使用ASAP工作區 Using ASAP Workspace 許多有經驗之ASAP使用者,在計畫中組織他們的ASAP工作。你可以放置每一個使用ASAP分析的設計進入不同的工作目錄,使相關的計劃程式檔案在一起。在主ASAP選單中,使用File>Set Working Directory來指定工作目錄。當你開始使用這本入門指南Primer。你可能已經如此做了,選擇一個目錄名稱叫作ASAP primer,當作與入門指南Primer之範例或練習有關的工作區。 使用ASAP Workspace可以使此概念更進一步。假設你已使用不同Builder檔案來代表不同的實驗,暫時的簡化及具有明顯錯誤的檔案,其為你尚不準備放棄的開始練習。這個動作事實上會造成一些雜亂。當你從這本入門指南Primer的前11章中的範例及練習中,你可能也已經發現此一事實。所有你選擇的經常使用或參考的Builder檔案,將其放置在一個特別“短的清單”,現在對你是否重要?,或許你只將練習的解答放在清單上,因為你正經常的使用這些檔案來提醒你。一個特別的命令如何使用。這種活動與作為正是ASAP Workspace工作區的最主要功能。它可以在任何時刻非常容易地從清單增減檔案,而不會在你的硬體驅動上以任何方式影響實質的Builder檔案。 然而,ASAP工作區的使用是可選擇的,我們建議你,嘗試設立的Primer工作為一個ASAP計畫來獲取一些相關的經驗。下一節,將引領你來設立一個ASAP計畫,及描述一些你可以使用的特性,一旦你建立ASAP的計畫。 122-20 ASAP Primer 入門指南 / ASAP資訊框
設立一個ASAP計畫 Setting up an ASAP Project 你可以在任何時刻定義一個ASAP計畫一在你開始一個新的ASAP任務,或稍晚當你決定組織,你已存在的工作目錄。在任一個狀況下,相同的過程是: 1. 若ASAP尚未執行,如平常的開啟程式。 2. 從ASAP的主工具列,按New鈕的右側倒箭頭符號。從下拉式選單中選擇Project。 3. 若文件檔案已被目前的ASAP開啟,一個對話框會出現詢問你是否要關閉它們。回答yes。你將被提示儲存你的工作,如果需要的話。 4. 在New Project對話框(圖),航行到你想要表現工作的位置。如果正在組織你已存在的計畫,你將能瀏覽目前的工作目錄 (ASAP Primer)。如果是新的ASAP任務,如果需要,此對話框也將讓你產生一個新的檔案夾。 5. 在檔案名稱File name視窗中輸入計畫的名稱。你可以使用Primer Work這個名稱。一個稱為Primer 的檔案會自動加到目前的工作目錄。當你想要再開啟這計畫時,利用File>Project>Load來瀏覽或從File>Recent>Projects來選擇此計畫。 圖 一個新的計畫對話框:我們已經瀏覽其工作目錄,ASAP Primer及被命名為Primer work在檔案名稱File name區中的新ASAP計畫。計畫的位置及名稱可以相同也可以不同。 ASAP Primer 入門指南 / ASAP資訊框 122-21
檔案選項 Files Tab 在完成上述程序之後,在ASAP資訊框中只有一個重要改變,就是ASAP工作區視窗中有一新的選項產生(圖)。 圖 在圖的左側是ASAP Workspace工作區中File tab的圖示。新增加的檔案可在背景區域按滑鼠的右鍵,來產生Select Files對話框(右圖)。你可以按下Ctrl鍵同時用滑鼠左鍵點選清單上的檔案來選擇複數檔案。在你按開啟Open之後,ASAP將這些檔案增加到ASAP的Workspace工作區視窗。 選擇Files tab選項來觀看你的計畫中被活化的檔案。最初,除了在資訊框頂端之計畫的全路徑外,視窗是空的。下一步是增加檔案。可以藉由在視窗的背景區域任何一處按滑鼠右鍵,選Add File(s) to Project。在Select Files對話框(也顯示如圖)中選定一個或複數個檔案,你將正常地增加檔案。在這裡或者任何你正在使用或參考的目錄。當你完成時,按Open來完成此過程。在你按“+”號時來展開清單後,這些檔案將出現在ASAP Workspace工作區的Files tab視窗。藉按著且122-22 ASAP Primer 入門指南 / ASAP資訊框
拖拉這些檔案到清單中的任何位置,你可以改變這些檔案的次序。 現在,你有這些檔案在清單上,你可以在檔案名稱上按滑鼠左鍵二下,快速地開啟任何一個檔案。這個步驟可以節省時間,當一個檔案在一個很長的檔案清單上定位的時候。特別是,這個檔案不在目前的工作目錄上時特別有用,因為你不必每一次想要觀看檔案時,就要去瀏覽這些檔案的位置。 你可以在檔案名稱上按滑鼠左鍵二下來執行這些檔案,從下拉式選單中選擇執行Run如圖所示。以這個方式,檔案不需要開啟來執行它,但它可以做到。自上次儲存至碟片後,如果你又已經編輯了它,你將被提示要儲存這些檔案。 圖 你可以從Files tab執行一個檔案,在檔案名稱上按滑鼠右鍵,然後從選單中選擇Run來執行。 在檔案名稱上按滑鼠右鍵,你將可以從圖下拉式選單表中看到,你可以從清單移除這些你不再需要的檔案。然而,從清單中刪除這些檔案,並未將Builder檔案真正地從硬體中移除。這唯一的區別是,你從ASAP Workspace工作區視窗中Files tab中看不到這些檔案。 然而,在222頁之圖檔案清單中,只包含Builder檔案(其副檔名為*. ent),你也可以增加任何型態的檔案到清單上。通常,它們將開啟在適當的ASAP環境。而且當恰當時可被如上述的描述執行。表摘錄這些你可以增加到Project清單的不同型態檔案。 ASAP Primer 入門指南 / ASAP資訊框 122-23
表 Project計劃的檔案型式 檔案型式 副檔名 開啟在 執行? 命令程式 .inr ASAP文字編輯器 是 巨集庫 .lib ASAP文字編輯器 產生.mac檔 巨集 .mac ASAP文字編輯器 產生.mac檔 螢幕檔(自訂對.scr ASAP文字編輯器 顯示對話框 話) 文字檔 .txt ASAP文字編輯器 是,類似.inr處理散射數據 .hs, .fit, .atmBSDF 合公用程式 否 Builder檔 .ent, .enx Builder 是 繪圖檔 .plr, .plx Plot檢示器 否 分佈檔 .dis Display檢示器 否 Vector (3D) 檔 .vcr 3D檢示器 否 IGES檔(CAD輸.igs IGES檔轉ASAP轉碼器 是,類似Open 出) Oslo檔 .len Oslo檔轉ASAP轉碼器 是,類似Open Zemax檔 .zmx Zemax檔轉ASAP轉碼器是,類似Open Code V檔 .seg Code V檔轉ASAP轉碼是,類似Open 器 所有其他 *.* ASAP文字編輯器 否 自動執行 Autorun 當你可能滿足現況只想檢視內容或手動的執行這些計畫表中的檔案,你也可以設定自動執行Autorun的順序。可能你已經定義三個Builder檔案其中包含檔案一定義你的幾何形狀物件,及第二檔案定義沿著光軸的光源,及第三檔案定義-離軸的光源。你可以藉按住滑鼠左鍵且拖拉這些檔案至所希望的由上到下的順序,來轉成這清單中的部分為自動執行順序,然後每一檔案左邊框上按滑鼠左鍵,(如圖在頁顯示)。有一閃電記號將出現在這個框中。現在,在視窗背景按滑鼠右鍵,你可以選擇Autorun就會自動依序執行這三個檔案。 122-24 ASAP Primer 入門指南 / ASAP資訊框
註︰如果你在自動執行Autorun框中留下閃電記號,當你離開計畫或關閉ASAP,這些檔案的關聯將自動在下一次計畫被導入時自動地執行。這功能將非常有用,如果你經常希望開始工作時,幾何形狀及光源已經定義好。雖然如此,但它並不是經常性的需要。要避免如此行為,在離開Autorun時,按(消除)這些閃電記號來消除自動執行Autorun。 圖 你可以設立一個有執行順序的檔案,藉由選擇檔案名稱左端的選擇小方塊。當你在視窗的背景處按滑鼠右鍵,且選擇開始自動執行 Start Autorun,ASAP會由上而下依序執行這些被選擇的檔案。在此例中,檔案名稱為Spherical 被首先執行,隨後有兩個定義光源的檔案被執行。光線追跡及分析也可以進行。如果你想要再一次追跡光線,你只需要執行光源檔案之一來定義新的光線,你也可以選擇兩個光源檔案。你也可以快速的替換不同的幾何形狀,藉由取消緊鄰Spherical 檔案的盒子選擇,及選擇Cassegrain with 檔案。 計畫的優先設定 Project Preferences 藉由使用主選單中File>Preferences對話框,ASAP允許我們去設定使用者介面來適合不同的個人優先喜好。其中的三個被特別指定為計畫,可以在圖的General tab選項中尋得。如果你按名稱為Automatically load project on startup的選項,你目前的計畫將在你下次執行ASAP時自動開啟。沒有此設定,ASAP將不會在計畫模式下開始,你必須藉由File>Project>Load,來瀏覽你的計畫。當你離開計畫或關閉ASAP時,Auto save project這個選項,會自動的儲存目前的組態。ASAP Primer 入門指南 / ASAP資訊框 122-25
你可以設定Default Project Directory這個功能,當你載入一個計畫時可以從這計畫的位置開始瀏覽。使用內訂的計畫目錄,可以節省你的時間來尋找你的硬體儲媒體的目錄,其中包含你副檔名為*.apf檔。 註︰因為我們還沒有討論preferences對話框,這或許是好時機來發現一些其他的選項的使用。部分選項在Builder, Plot Viewer和3D Viewer選項中或許也是我們有興趣認知的。 圖 ASAP提供我們許多不同的參考設定,它可以控制內訂的行為,在使用者介面定義的許多面向。在General中的三個選項,只在我們使用計畫中影響我們。 122-26 ASAP Primer 入門指南 / ASAP資訊框
自訂資訊框 Customizing the Landscape ASAP工在第2章中,我們提供一種快速的ASAP資訊框導覽,其結構在預設作區及命RR令輸出視內訂的組態中(圖)。ASAP的設計者,配合Microsoft Windows的窗是使用者介面的標準,符合最多可能的功能。這是一個優點-特別對ASAP 與你交通信ASAP的新使用者-將ASAP Workspace工作區及命令輸出Command 息的主要Output視窗保持在最上面,而不是被Builder視窗,Plot檢視視窗3D工具。 檢視視窗或其他文件視窗覆蓋。ASAP工作區及命令輸出視窗,這兩個視窗是ASAP與你溝通在目前的狀態訊息的主要工具。 然而,就目前的情況,內訂的資訊框可能不適合你使用。例如︰如果你正在使用筆記型電腦或其他有限制顯示幕大小的機器,小面積保留在使用者任務區User Task Space可能不夠大。當然,第一個選擇來解決這問題是F11鍵。按此鍵暫時的放大視窗,來放大任何視窗來蓋過提供給ASAP應用的螢幕空間(見第三章,在第2-44頁,標頭為“Builder簡介及基礎”)。然而,放大視窗也防止我們同時觀看兩個或多個視窗,這卻是多文件視窗介面的主要優點之一。 另外一種可能的方法來增加使用者任務區User Task Space的方法是縮小ASAP工作區及命令輸出視窗的大小。然而,這樣會危害到這兩個重要視窗的使用。如果你的需求是很大的,兩個按鈕可以提供在ASAP的主工作列上(Toggle Workspace Window和Toggle Output Window)這樣可以允許你暫時關閉(或開啟),任一或兩個大的視窗。當然,這是最後的一個選擇,因為你可能失掉重要的錯誤訊息或資訊,有關物件Object清單上目前考慮的成員。 這些有衝突的需求經常造成有經驗的ASAP使用者來自訂ASAP的使用者介面,特別是:不錨定及重新定位資訊框內的關鍵元件。 錨定與非錨定 Docking and Undocking 在Windows視窗中,錨定 (docking) 這個字的意義是使用者介面(UI)的一個元件可以黏貼或錨定在主要應用視窗的邊緣或其他錨定元件。基礎的ASAP資訊框包含七個主要元件,大多數是可以錨定的(見表)。 ASAP Primer 入門指南 / ASAP資訊框 122-27
表 ASAP資訊框中可錨定的元件 元件 可否錨定 動態選項列 否 ASAP工作列 是 使用者定義工作列 是 ASAP工作區視窗 是 命令輸出視窗 是 狀態列 是 命令輸入視窗 否 不錨定部分元件的優點是他們不再受限制於填滿ASAP資訊框的全長度或寬度。將ASAP工作區視窗的標題列按住且拖到右邊。一旦你將它全部地移到使用者任務區User Task Space,它的外觀改變,顯示它為非錨定。它可以在使用者工作區User Task Space (其可變大些) 中的任何地方放置,如你所需要的改變大小。命令輸出Command Output視窗也可以用相同的方法工作。 雖然,命令輸出Command Output及ASAP工作區Workspace視窗可以被非錨定,此二者仍然具有其他視窗不可以放在他們上面的特性。它們永遠顯示在視窗最上層。你可以改變命令輸出視窗的這些行為,在背景上按滑鼠右鍵及在底部取消Docking View的選項。這個大視窗現在可以被相當地縮小,且沒有特別的狀態列。Docking View選項對ASAP Workspace工作區視窗不適用。它總是保持在使用者工作區User Task Space中任何視窗的最上層。如果他無法縮小,或者從你其他工作中移開足夠的遠,你必須暫時的使用主工具列main Toolbar中的Toggle Workspace window按鈕來關閉它。 你可以按住且拖拉“gripper bars”來非錨定其他的元件(圖)。一旦從ASAP視窗的邊緣獲得自由,他們可以放置在任何地方,或者錨定在其他視窗的邊緣。圖顯示一個資訊框組態樣本,經過一些必要的步驟來達成的。 註︰你可以在任何時刻回到內訂的設定,利用File>Preferences對話框。在General tab選擇中,挑選標記為Reset window environment to ASAP defaults的盒子選項。離開及重新開始ASAP就可以回到預設內訂的組態。 122-28 ASAP Primer 入門指南 / ASAP資訊框
標題列操作列 標題列 操作列 圖 一個使用者自訂的ASAP資訊框的範例。錨定的工具列把手及標題列被用來解開錨定,且移動命令輸出Command Output視窗。在此視窗按滑鼠右鍵,Docking View選項將被取消,所以其他視窗當其被點選 (Focus) 時,可顯示在視窗的最上層。ASAP Workspace工作區視窗向下擴張,Builder視窗就會縮小。 記憶其他視窗的位置 Remembering Other Window Positions 我們尚未提到文件視窗,例如Plot Viewer, Chart Viewer, 3D Viewer和Builder視窗。它們內訂的位置是在使用者任務區User Task Space內,預留空間給增加的相同型態視窗向下及向右捲簾。你可以改變內訂的視窗大小和長寬比例。第一,定位及重訂視窗的大小。在視窗的標題列按滑鼠右鍵,選擇Set as default position。所有這一類的視窗都將定位在這個位置,當未來的視窗不會捲動,你可使用在ASAP工作區視窗內用Views tab選擇使用想要的視窗。 ASAP Primer 入門指南 / ASAP資訊框 122-29
使用者定義的工具列 User-Definable Toolbar 另一個自訂的ASAP是使用自訂工具列。在上一章中,你學習到開始分析的第一步是訂位光線位置。我們在選項中選用Rays>Locate Rays 來達成它。當許多基本ASAP任務,在ASAP Toolbar工具列上有一按鈕,此一重要函數卻沒有。然而,你可以將這個功能指派到20個使用者自訂按鈕。你只 必須了解ASAP中的命令就可以完成這項任務。雖然,這個特性在你學習命令語言後會更感到有趣,它仍然值得目前快速的關注。 從File> Preferences對話框,選擇Custom Toolbar Editor選項。當你使用Rays>Locate Rays時,ASAP可執行的命令是STATS。直接在名稱為Tooltip Text區中輸入此命令。 註︰如果你不能記得這些,回想ASAP計算引擎對所有的被執行的命令都會在命令輸出Command Output視窗中回應。選單中的有選擇選項有一Script按鈕來顯示這些命令,甚至在命令被執行之前。 摘要 Summary 在這章中,我們已經討論下列ASAP的資訊框區域︰ •從ASAP工作區視窗組織你的工作檔案進入計畫。 •利用使用者介面User Interface Preferences對話框設定執行工作的優先設定。 •使用錨定及非錨定工具列重新定位文件視窗,來自訂資訊框。 •在Custom Toolbar Editor創立或編輯按鈕。 122-30 ASAP Primer 入門指南 / ASAP資訊框
第 13 章 邊緣 EDGES 在這一章中,你將學到ASAP中以為邊緣基礎的幾何形狀。我們將顯示如何使用高階的邊緣定義來製造基礎的曲線,然後,如何將這些基礎的曲線轉成ASAP物件。我們同時也將研究彈性的POINTS命令,就是這一個原始的定義隱藏於所有ASAP中以邊緣為基礎的幾何形狀物件。 我們自第四章學習到建立幾何形狀模型時,ASAP處理的方式是以表面或者“殼層”的結構,而不是立體的幾何形狀。一個立體的物件,例如透鏡是被從三件獨立的物件建立的︰圓球面在前表面與後表面,及一個管狀物代表外部的邊緣。直到目前,我們使用ASAP製作的所有的模型皆以表面為結構的幾何形狀,在Builder中以路徑System>Geometry>Surfaces下將這些幾何形狀集結完成。 註︰我們必須對我們的名詞非常小心,因為我們非常頻繁的使用“surfaces”來描述這種殼層之一。然而,surface這個名詞卻有許多不同的意義,它是一種特別的ASAP命令。一個以表面為基礎的物件,在ASAP中是三種產生表面的方法之一。ASAP程式,同時也提供我們以邊緣EDGE-及以透鏡LENS-為基礎的物件定義。以邊緣為基礎的物件是本章的主題。以透鏡為基礎的物件,將在第十四章,“Lens 實體entity”中討論。為了避免混淆,我們將使用物件“Object”這個名詞,而不使用表面“Surfaces”來描述這些普通的殼層。 表面SURFACE的定義,例如管狀物TUBE、平面PLANE及球面SPHERICAL都是表現在ASAP的隱多項式中。這個數學的表示方法對有效率的光線追跡是理想的。對大多數的案例來說,對於光線與此數ASAP Primer 入門指南 / 邊緣 13-231
學表面的交界點,會有一精確的解析解。不幸的是,很難也是不可能將所有的幾何形狀都給予一個多項式。通常,許多物件它們有尖銳的角或複雜的形式較適合以參數方程式表示,該類是應用電腦輔助設計 (CAD) 及其他圖象為基礎的程式來定義。 邊緣(ASAP中也稱做“曲線”)原本被加到這個程式中是為了能夠從CAD程式中輸入幾何形狀。ASAP使用Builder或其他程式的語言開發類似的工具來直接產生邊緣為基礎的物件。在這個案例中,不需要CAD程式,同時這一類的物件,不論你是否擁有ASAP/CAD模組都可以執行。藉著這些工具的支持表面為基礎的幾何形狀,我們可以在ASAP中模擬虛擬的任何物件。邊緣物件特別有用於模型化你的光學系統中的機械結構。邊緣為基礎的物件也是非常理想,來輸出你的設計從ASAP到CAD環境。 什麼是邊緣? What is an Edge? ASA ASAP的邊緣是一組P的被連接在一起的點。這些連接可以是直線(圖邊緣是一),或平滑曲線(圖在233頁)。它們都是以Bezier多項式為組被連接在一起的基礎的參數化函數。 點。 圖 ASAP EDGEES是被連接的點。在這個範例中,這些點是以直線連接。ASAP中,所有邊緣是以Bezier多項式表示。 13-232 ASAP Primer 入門指南 / 邊緣
圖 在這個例中,點與點之間是由圓滑曲線連結。 幸運地,你並不需要了解Bezier數學的詳細內容來建立ASAP的邊緣物件。ASAP在內部幫我們處理好了。結果,邊緣物件可以輕易的使用簡單、描述性的參數來定義,其使用方法非常類似目前我們已經使用到現在的SURFACE-based曲面為基礎的物件。 註︰如果你有興趣深入了解ASAP邊緣物件及Bezier多項式的數學,在ASAP技術導引中,有一主題為More about Edges中會詳細介紹。 在大多數的你可能發現以邊緣為基礎的物件,可能在光線追跡時比較以表面為基案例中,若礎的物件來的慢。當一個相同的物件使用兩種方法建構時,這個結果沒有是由於它們的參數式數學,因為它不再可以找到光線交界的精確的解SURFACE曲面為基礎析解,ASAP必需使用迴歸式的收斂解。邊界物件在ASAP中盡可能以的選項可用在建造我們有效的方法來完成,所以所耗費的時間不會太長。此外,我們常常沒所需要的系有選擇。在大多數的案例中,若沒有SURFACE曲面為基礎的選項可統時,我們只好採用邊用在建造我們所需要的系統時,我們只好採用邊緣物件。 緣物件。 遞迴式的光線追跡方法也有另一個不想要的結果︰有時候光線會從邊緣為基礎的物件洩漏出去。當一條光線指向一個物件的接縫(例如,正對上定義邊緣物件的點),有一點小的機率,這條光線可能無法看到這個邊緣物件,而直接追跡到下一個物件,這個情形有時候會在非常大量的光線追跡中發生。不過,這種光線通常可以忽略。 ASAP Primer 入門指南 / 邊緣 13-233
從邊緣製造物件 Making Objects from Edges 一個邊緣一個邊緣物件,如你所見,是任意畫在二維或三維的曲線。照例,它物件是任不能與光線交叉。我們必須使用下面三種方法之一來建立曲線進入真意畫在二維或三維實的物件: 的曲線。 1. 使用封閉曲線限制一個平面, 2. 掃過一個方向、指向一點、或環繞一軸來形成一個邊緣物件,或 3. 將兩個邊緣物件推擠在一起。 三個選項的意義圖型化顯示在圖。 圖 在圖中顯示的藍色線條及曲線是邊緣物件。這些物件與光線不會有交互作用,所以沒有交接點。這些邊緣物件只被用來堆積木式的建造ASAP物件,並且圖示三種方法來將邊緣改變成物件。在 (a) 中,一個曲尺形狀的平面是由一封閉式的平面邊緣所定義。在 (b) 中,一個圓弧面是由一條槽線平移掃描而成。在 (c) 中,兩個正方形邊緣物件被連結起來形成一個如圖 (c) 所示的物件。 由封閉的邊緣形成有邊界的平面可能是最簡單的邊緣物件。ASAP的Builder總是希望使用這種內訂的方法,自動的轉換你所定義的任何邊緣進入一個物件。 註︰當這個界限性的邊緣物件成功,ASAP事實上轉換這個新的物件為表面基礎的PLANE。這邊緣物件因此被用來定義這個平面的邊界BOUNDS。ASAP自動地替我們執行所有的這些步驟。以這種方式定義一個界限的平面,並沒有任何光線追跡時間浪費的不利情況。 你也可以掃過邊緣來定義物件。ASAP的Builder允許我們“掃過”曲線沿著一個方向,指向一點或者繞著一個轉軸。使用命令程式,甚至可能沿著一條曲線“掃過”另外一條,在數學上這種方法稱作13-234 ASAP Primer 入門指南 / 邊緣
“lofting”。雖然這個lofting的主題超出這本入門指南Primer的範圍,在ASAP技術導引中,More about Edges有進一步討論。 最後一個選項,我們將討論將“邊緣”轉化成物件的方法為extruding,其邊緣物件上的點,逐點連結到另外一個邊緣物件上。這個物件變成細網格連結住這兩個邊緣物件。雖然這個方法看起來複雜,它卻是容易而且有效的。在幾個練習範例之後這個過程將會變得比較明朗。 橢圓範例 Ellipse Example 作為邊緣基礎物件的第一個範例,我們將使用Builder建立橢圓邊緣的物件,你可以完成這個橢圓邊緣由Builder的Type欄位中按兩下這個格子,然後從選單中選擇System>Geometry>Edges>Ellipse,或其他在Builder中提供的邊緣定義。動手試試這步驟,利用這個修飾modifier內訂的橢圓來產生圓形的邊界具有X軸Y軸的semiwidth半寬皆為1,該平面坐落在沿著光軸Z=1的位置,如圖所示。 圖 在Builder中產生橢圓邊緣的範例。 記得所有的邊緣都是連結在空間中的點。組成這個圓的點的總數是16,為內訂值。這個值對我們的目的而且是恰好的。我們也有能力可以來定義部分的橢圓,藉由定義起始角 (Start Angle) 與終止角 (Stop Angle)。我們將保留這些數值為ASAP內訂的數值,這些內訂值會給我們一個完整的圓。當你預視這個上面圖例所定義的物件,你將看到顯示在圖(左)的結果。 a. . 圖 一個橢圓邊緣。由16個點定義,(a) 事實上是一16邊的多邊形而非一個真正的橢圓。這個結果可以相當的改善,藉由增加邊緣物件的點數。在中間圖 (b) 中顯示的邊緣是以64個點組成。相當程度改善多邊形。檢視 (c) 顯示的是一個數學上完美的圓,利用邊緣修飾命令SMOOTH獲得。 ASAP Primer 入門指南 / 邊緣 13-235
在圖中,反白強調的邊緣是被用來產生中間的圖像,顯示刻面輻射到64個點來定義橢圓。雖然這個結果非常接近一個圓,但是此物件仍是多邊形。獲得最佳的結果是圓滑化曲線,利用SMOOTH modifier修飭命令,(c) 然後產生(在這個範例中)一個數學上完美的圓。 你可能需要旋轉這個檢示窗,假如物件是被畫為edge-on。如同在上一節所提到的,ASAP自動假設,我們嘗試建立一個平面物件,其邊界被邊緣物件界限。然而,注意這結果的物體是一個16面的多邊形,而不是一個真圓。ASAP內訂利用直線來連結這些點,如圖所示。 其次,嘗試增加在ELLIPSE定義中的點數為64,再預視圖形。這改變的結果顯示在圖的中間圖。雖然改善許多,此物件基本上仍然是多邊形,而不是橢圓形。 在許多例子中,你將發現多邊形以一序列的直線線段來趨近一個連續的曲線,是可接受的。然而,它也可能做的更好。在Builder顯示列下直接在橢圓Ellipse定義的下一列,增加一個命令,System>Geometry>Edge Modifiers>Smooth。 藉著使用內定預設的次數值order為2,這個特別的邊緣修飾命令執行一2次曲線圓滑化此邊緣物件。在這個圓形(或橢圓)的例子中,有效邊緣現在是一個完美的圓。 見第13章附錄,在第261頁的“程式13-1”。 真正邊緣物件藉由這種方法定義一個圓形的平面,我們幾乎沒獲得什麼。它可能可的功效是從一以較簡單的使用,System>Geometry>Surface>Plane的命令,該命令我們簡單邊緣物件,例如橢圓已在第6章“凱薩格林望遠鏡模型”中介紹過,選擇通光孔徑Aperture或從有邊界的的形狀為Ellipse橢圓。真正邊緣物件的功效是從一簡單邊緣物件,例平面伴隨更複雜的邊緣形狀如橢圓或從有邊界的平面伴隨更複雜的邊緣形狀以掃過 (sweeping) 以掃過 或擠壓 (extruding) 產生。 (sweeping) 或擠壓 (extruding) 產擠壓的邊緣物件 Extruding Edges 生。 其次,我們將擠壓兩個邊緣在一起,形成單一物件。我們從介紹另一個有用的邊緣形態物件,RECTANGLE開始。嘗試建立長方形的邊緣物件,在上述ELLISPE物件所使用的相同Builder列。這個命令可以從Builder選項中的Edges>Rectangle尋得。定義一個在Z軸原點 (Z=0) 的長方形平面,再設定兩個座標方向,(X軸與Y軸的半寬)各為2個單位。邊緣的點數保留預設的16。當然,只需要用4個點就可以來13-236 ASAP Primer 入門指南 / 邊緣
指定一個完美的長方形,但是我們的目的是要擠壓兩個邊緣在一起。擠壓兩個邊緣物件在一起的條件是這兩個邊緣形狀要相似,且邊緣要擁有恰好相同的點數。ELLIPSE及RECTANGLE邊緣物件符合這些要求,只要我們小心的設定這兩個邊緣。物件的點數為相同的數值。其在Builder上的結果列將顯示如圖。 圖 在Builder中增加RECTANGLE邊緣物件。 現在,當你預視所有的物件時,你將看到如圖所顯示的結果。再一次強調,這並不是最佳的方法來產生一個簡單的長方形平面。然而,現在我們的目標是去擠壓這兩個邊緣物件在一起,來產生一個非常不同的物件。 圖 在這個預視圖中,由一個橢圓及一個長方形的限制邊界的兩個平面。 分別在z=1及z=0建立。在這兩個物件中,ASAP自動假設我們希望平面的邊緣物件,來定義一個平面的邊界。 見第13章附錄,在第261頁的“程式13-2”。 當我們擠壓邊緣物件時,我們通常需要超越Builder所內訂的行為,防止邊緣自動變成物件。我們要改變這一個狀態,藉由改變Builder列的狀態從Object (OBJ) 物件改成實體entity (ENT) 狀態。我們可以改變在Builder中任何物件的定義的狀態,不論它是表面為基礎,或邊緣為基礎,或透鏡為基礎的物件。當建立物件區塊中,我們可以做這個動作來定義幾何形狀的部份,但是有許多不同的理由,為什麼我們想要改變幾何形狀的定義,從物件Object狀態改變為實體entity狀態。這些將在255頁的補充附錄,“物件Objects vs. 實體entity”中討論。 首先,選擇Ellipse定義藉由在Builder列的任一個格子產生。其次,按滑鼠右鍵並在選擇下拉式選單中選擇實體entity Status,或從Builder工ASAP Primer 入門指南 / 邊緣 13-237
具列中按實體entity Status鈕。 對長方形Rectangle做相同的動作,然後再一次預覽這系統。其結果將與圖相同。只有邊緣或者這兩個實體entity的外緣存在。 圖 經過改變ELLIPSE及RECTANGLE的定義為實體entity狀態,只剩下邊緣留下了。這個邊緣不會與光線交互作用接觸。 在擠壓過程的最後一個步驟,牽涉到OBJECT命令。這是我們告訴ASAP哪一個實體entity是被用來架構這個物件。這個命令可以在Builder下拉式選單中尋得,選擇System>Object。在標題為Entity Number的格子輸入 . 1 . 2 (兩數值之間必須有一空格)。 圖 在擠壓過程的最後一個步驟,牽涉到OBJECT命令。 我們再一次使用“.”記號,上一次在第四章介紹過的“dot”這個符號,允許我們(從目前的列)向後倒數來選擇想要的實體entity。在這個例中,我們選擇最接近的實體entity為 . 1及第二接近的為 . 2。 註︰ASAP是計算全部的幾何形狀定義。它不管這個定義是Object狀態或實體entity狀態。在ASAP中對所有幾何形狀的參考點都是適用的,不論你是產生物件,有邊界的物件或者執行任何其他的操作,其需要前一個定義幾何形狀的參考點。ASAP維持兩個表當作幾何形狀的資料庫,大的資料庫是完整的清單對所有的幾何形狀定義或者實體entity。它們排列在那兒,以它們被定義的次序。第二個資料庫是物件Object清單,它使用相對參考或絕對參考點來指出實體entity清單中的幾何形狀。因此,所有的物件也是實體entity需要被計算,不論他們如何被使用。 13-238 ASAP Primer 入門指南 / 邊緣
見第13章附錄,在第262頁的“程式13-3”。 現在,當你預覽Builder檔時,你將看見新的物件如在第13-239頁的圖。 圖 當兩個邊緣物件擠壓在一起,成一個單一的物件。這個物件是由連結邊緣物件的點到另外一個邊緣物件的點而形成。這個方法只有對類似的邊緣物件及具有完全相同的邊緣點數才能工作。 如你所見,ASAP連結邊緣物件的點形成扁平多面體。你可以致使這個要求變成一個圓滑的物件介於長方直角及橢圓之間,藉由使用SMOOTH到這兩個實體entity(如上所述)但是要記得對2個實體entity都要加以平滑化。這個保證它們能保留“類似”,其為擠壓兩個實體entity在一起的要件。其結果顯示在圖及圖。 圖 這個圖是與前一個圖例相同的物件,但是在擠壓之前,物件已經被平滑化。這個結果的物件是一個很好的混合,從正方形的底座到圓形的孔。 ASAP Primer 入門指南 / 邊緣 13-239
圖 如Builder檔顯示,我們已經增加物件的刻面數應用到一物件,藉由使用FACETS當作物件的修飾。這個刻面數的改變,改善了在3D Viewer裡面的表現,光線見到的物件將更接近完美數學物件。 見第13章附錄,第262頁的“程式13-4”。 作為擠壓的最後一個範例,將橢圓及長方形都放在相同的Z軸位置(例如,Z=0)。這個產生一個圓形孔在正方形板的中央,如圖所示。 圖 這個擠壓過程也可以用在兩個邊緣物件,放在相同的面上。這個方法很成功的可以製作光闌孔徑,平滑化應用在這兩個實體entity上來形成中央部分完美的圓形孔徑。 在第六章中,以討論過表面為基礎的平面PLANE命令,允許我們產生一個方形平面中有一方形孔或圓形平面中間有一圓形孔,假如我們設定一個值在Obscuration Ratio格子。然而,這樣沒有辦法產生方形平面中的圓形孔,或者相反。但是,利用如上述擠壓邊緣物件的方法,我們能夠產生一個任意形狀的孔不必管其邊界的種類。 見第13章附錄,在第262頁的“程式13-5”。 13-240 ASAP Primer 入門指南 / 邊緣
線條的掃過的面 Sweeping a Line 掃過一個邊緣物件是第三種由曲線形成物件的方法。這一次我們從最簡單的邊緣實體entity開始,一條由兩個點定義的直線,此線段繞著Z軸旋轉,掃過的面形成一個杯狀的反射面(圖)。 圖 一條線能夠環繞一個軸掃過,來形成一個連續的曲面。在圖的上半部,一個邊緣物件為基礎的線條實體entity被以卡氏座標來定義線條的端點。在圖的下半部,為線條掃過形成的邊緣物件。 我們指定這線段使用全域的座標來標定開始及終止點。我們也已經將其定義從OBJ狀態改變為ENT狀態,如同前面範例。 ASAP Primer 入門指南 / 邊緣 13-241
其次,我們將直接在此定義下增加一條直線,使用System>Geometry>Edge Modifiers>Sweep>Axis。類似SMOOTH命令,這是一個只適用於邊緣物件的修飾工具。正因為如此,它顯示出來彷如是Edge Modifiers的部分次選項。我們指定一個角度其為我們所想要掃過這條線與所繞之軸的夾角。我們可以完成這些定義,藉由使用Object命令,這次只指定有一個實體entity如這裡所顯示的: 圖 掃過一直線形成一杯狀物邊緣物件。 見第13章附錄,在第259頁的“程式13-6”。 目前真正所被執行之命令是SWEEP AXIS。ASAP也允許我們對一個點做掃描,SWEEP POS或沿著一個方向做掃描SWEEP DIR。 刻面 Facets 如果你想要創造一個“杯狀物件”如上節所述,當你預覽時可能無法看到平滑的物件,如在241頁,圖下側圖所顯示的。你的結果可能像下面圖所顯示的檢視圖。 圖 使用預設的刻面設定,在Builder的預覽功能中,一個杯狀物的線型掃描出現如這裡圖所示。這平面的刻面是使用3D預覽,詮釋的演算流程所產生的人工結果。 為何它不是平滑且連續的呢?我們並未連結兩個多邊形邊緣物件的點。掃描一條線,在數學上應該是完美的。它確實是的。圖是3D檢視演算法的人工結果。回憶我們第一次討論3D Viewer在第4章13-242 ASAP Primer 入門指南 / 邊緣
中 “建造及預覽幾可形狀”在該章中檢視所有表面是使用平面多面體的序列來趨近。這個趨近法允許ASAP程式能夠快速的操作視窗-旋轉,平移,放大縮小-以最少的計算時間延遲。 在第五章中,“執行及證實幾何形狀”,當你在ASAP的選單列中使用System>Plot Facets來產生你的二維及三維的刻面圖象,你可以控制刻面的數目來改善圖象。我們也解釋Plot Facets命令是基本上與ASAP在Builder中的Preview功能是同義的等價的。是否有一個方法可以同時來改善預覽的功能?答案是肯定的。事實上有兩種方法。第一,當Builder視窗正在被使用,你將看到Builder的選單在ASAP的選單列上,選擇Builder>Facets。ASAP顯示Facets對話框可以來改變預覽的內訂刻面階數,它將影響Builder檔中所有物件的刻面數。 另外一種改變內訂刻面數的方法是:你可以改變刻面數一個接一個物件。這個彈性有時候是非常有用的,當某一物件需要額外的刻面數來觀看時好看,其他可能對內訂的刻面數(5及 5)非常恰當。要記得增加刻面數會減慢3D Viewer的速度。刻面數也可以直接從Builder檔的列中輸入,扮演物件的修飾角色。它在選單上是一個一般修飾命令 (System>Object Modifiers>Facets),可以被應用到任何一個物件的定義。ASAP中被執行的真實命令是FACETS。我們已經使用這個選項來產生圖的圖式,設定刻面間Inter參數為1,刻面內Intra參數為21。注意,這些參數是被放在物件的定義。 圖 使用至少11個刻面(而不是內訂的5)在刻面內 (Intra) 的方向上,顯示平滑而連續的ASAP物件。 ASAP的新使用者,通常在邊緣物件的定義中,對設定刻面、平滑化及改變邊緣的點數會感到混淆。它們產生諸如,“何時做平滑化會有ASAP Primer 入門指南 / 邊緣 13-243
幫助?”“當橢圓邊緣的點數增加時,到底發生了什麼事?”,“當刻面數改變時,光線看到什麼?”及“我們如何看到,光線看到的物體像什麼?”之類的問題。 這裡是一個快速的摘要來回答這些問題: •邊緣物件的點數例如橢圓ELLIPSE命令基本上會改變物件。當沒有平滑化命令時,橢圓邊緣是由點與點之間用直線連接。 •平滑化也會改變物件的數學特性。光線看到不同的結構,假如邊緣其定義的物件被平滑化。 • 詮釋物件的刻面數目的使用和物件在系統內的資料庫與光線的交互作用沒有衝擊,刻面數只影響圖像。 這裡是一些要記得的簡單策略: 如果你在3D Viewer中關心你所看到的,增加任何有問題物件的刻面數。假如這個圖象改善了,繼續使用更多的刻面數來改善,這問題只是Viewer使用的圖象近似。如果刻面數改變View的圖象沒有太多改變,你所看到的可能就是物件真實的樣子(圖)。 圖 假如一個杯狀物是由兩個橢圓邊緣物件擠壓而成(沒有平滑化),在3D Viewer中沒有大量的facets刻面數需要改變。在這個案例中,點與點之間的線段是平的,這也就是光線所看到的杯狀物件。 13-244 ASAP Primer 入門指南 / 邊緣
註︰對於這個問題,物件被光線看起來是像什麼?ASAP包含兩個命令,其使用光線追跡的方法來產生圖像。一種方法是PROFILES,我們已經在第五章中討論。ASAP將物件表面經過計算光線與取樣格子光線的交界點來標定曲面的位置。像素點的數值控制取樣點的個數。連結這些取樣點產生外形的輪廓。另一個有用的命令是RENDER,我們還沒有討論過。它可以在系統System的選單中尋得。它也可以畫物件的陰影,三維(雖然是固定的) 在你的系統中表現物件,在一次使用光線追跡方法來標定物件的位置及陰影。詳細的詳情可以在線上的說明Help中看到。 其他邊緣物件 Other Edges 除了直角RECTANGLE、橢圓ELLIPSE及直線LINE命令你已經看到之外,Builder允許你定義五種其他高階的邊緣物件。它們是弧線ARC、卵形的OVAL、跑道形的RACETRACK、圓角形的ROUNDED、鋸尺形SAWTOOTH的邊緣物件。每一類型有一個範例及簡單的描述,顯示在圖到圖,如果你使用命令語言,有另外五種邊緣物件可以使用,字元CHARACTER,圓錐曲線CONIC,螺旋線HELIX, BEZIER及SPLINE。 圖 Arc弧線的邊緣物件可以產生平面上的圓弧。可以指定平面的軸、起始點的座標、中心點及弧所對應的角度。 ASAP Primer 入門指南 / 邊緣 13-245
圖 Oval卵形的命令產生一個多面體的邊緣物件是連續變化介於橢圓 (Q=0) 與長方形 (Q=1) 之間的形狀。這個邊緣例子使用的點數是16個點,但是已經平滑化了。 圖 RACETRACK跑道形命令產生一個長方形帶著圓滑的角落,指定長方形的大小及從角落開始圓滑的距離(在兩個方向的半徑這個例子)圓滑化是不需要的,因為角落已經是連續曲線。 13-246 ASAP Primer 入門指南 / 邊緣
圖 ROUNDED圓角形的命令與跑道形的命令非常相似,但是圓角形的只包含直線線段,是與其他例子如橢圓、長方形的邊緣物件相似。 圖 SAWTOOTH鋸齒狀命令允許我們來指定鋸齒的一個齒,其自原點開始。指定其他兩個點及鋸齒的個數。鋸齒由內訂形成尖銳的角,也可以使用Bezier加權參數將它“圓角化”。 點與點間以直線連結 Points Connected by Straight Lines 所有的這個點POINTS的命令在ASAP所有邊緣實體中是基本且“原始的”邊緣物工具。所有的邊緣物件都是一連串點的連結。這個點POINTS命令允件都是一連串許你指定個別的點及控制每一個點連結到下一個點的方式。當然,這點的連個點的命令的其他用法不在本書Primer入門指南的範圍,POINTS有許結。 多簡單的使用法,其值得我們看一下這個命令。 考慮單一透鏡的固定座顯示,從圖到圖。你已經從本書Primer前面章節中,學到足夠的技巧使用曲面為基礎的實體來模擬這ASAP Primer 入門指南 / 邊緣 13-247
個構造。 圖 一個透鏡固定座被設計來固定一個平凸透鏡 (Plot Viewer) 圖 一個透鏡固定座被設計來固定一個平凸透鏡 (3D Viewer) 13-248 ASAP Primer 入門指南 / 邊緣
圖 當需要六個曲面為基礎的物件來模式化一個簡單透鏡的固定座,相同的幾何形狀可以利用繞一個相同的軸掃過一個邊緣物件(用POINTS定義)。 然而,使用我們已經教過的方法,這個模式需要六個ASAP物件,三個管狀表面及三個帶著中間孔的平面表面,如圖所示。現在我們要模擬這個構造使用一個由POINTS命令定義的掃過邊緣為基礎的物件。 圖顯示一個透鏡固持體的截面圖。我們的計畫是使用POINT命令定義邊緣來計算L-型透鏡固持體的截面角落的全域座標,並繞Z軸掃過來形成此物件。 ASAP Primer 入門指南 / 邊緣 13-249
圖 一個L形的邊緣物件需要六個點的座標來定義,然後經過繞z軸旋轉掃過形成透鏡固定座。注意有一個小“空隙”公分在直徑為5公分透鏡的周圍被留下,所以兩個物件不會占有完全相同的位置。若非如此,這個模型將會在光線追跡時會不切實際及產生問題。 ASAP有兩個不同的POINTS命令,一個命令是在全域座標面上定義曲面的 (System>Geometry>Edges>Points>2D),另一個命令更一般的形式為在三維座標中之(… Edges>Points>3D)。 二維型式對我們目前的案例工作的不錯。 我們指定平面的軸Axis,該平面的點將被定義,及沿著該軸的位置Location。在這個案例中,我們選擇x軸,因為POINTS已經定義在yz平面。無論何時,游標在這個資訊格Cell的上面時,該格目前的參數將會出現,如上圖所示。要進入及修改這些參數,你必須在此資訊格的上面按兩下滑鼠左鍵,來啟動一個特別的命令編輯視窗。 在每一行的前兩個值是這個點的(Z軸及Y軸)的座標值,因為我們定義的邊緣物件在垂直x軸的平面。第三個值是連結因子。我們使用這個來描述點與點之間的性質,我們使用這個來描述我們如何連結這個點到下一個點,連結因子在最後一點允許我們將最後一點連結到第一點,假如是需要的。在我們的案例中,我們將連結因子定為1,其意思是我們將點跟點之間的連結是直線。 13-250 ASAP Primer 入門指南 / 邊緣
註︰有些ASAP範例中,在這命令於點之間或一組三個點之後有逗點。這些逗點並不是必需的只是形式上的,所以他們可以被忽略。在同一行中複數的點可以被指定,只要這個命令列的全部長度在344個字元之內。 我們馬上改變Builder列為實體entity狀態,因為這個邊緣物件,只是我們真實物件的一個建造物塊。如果要維持一個物件,我們就只能夠定義此六點為一個L形的平面。 這個命令的剩餘部分來定義一個物件,顯示在圖 圖 在Builder中的POINTS命令允許我們來定義一個平面,“點”位於在該平面上的平面。在Parameters格子按兩下滑鼠左鍵,我們開啟一個特殊的視窗稱為Command Editor,在其中我們可以輸入這些點。在這個案例中,我們已經定義一個x plane,所以這些點輸入的次序是y,z跟隨著參數。參數1的意義是這些點由直線來連結。在最後一個點的參數為1,其意義為將最後一個點與第一個點以直線連結起來。最後,這個邊緣物件是繞Z軸掃過,來形成透鏡的固定座物件。 我們使用SWEEP邊緣物件的修飾命令,正如同在前面我們掃描一條直線來形成杯狀物一樣。然後,我們使用OBJECT命令來完成這個定義,隨後的適當的物件修飾命令有INTERFACE, REDEFINE, COLOR,及FACETS。 見第13章附錄,在第263頁的“程式13-7”。 ASAP Primer 入門指南 / 邊緣 13-251
除直線之外的連結因子 Connection Factors other than a Straight Line 直線並不是在點POINTS命令之後的唯一連結因子。從線上的說明,表從線上求助說明摘錄了其他可能的連結因子,或稱為q參數。 表 連結參數 q參數 邊緣物件的點連結 q= 0 不連結到下一個點(開口) q= 1 以直線連結到下一個點 q= 2 以二次Bezier圓錐曲線連結到下一個點。下一個點是中間控制的頂點。下一個q是中間加權因子,且一定為正值︰ 0 = 直線 <1橢圓 1 == 拋物線 >1 雙曲線 q= -2 以橢圓圓弧連接到下一個點。下一個點是根源橢圓的中心,下一個q是圓弧張開的角度(單位為度)必須小於180度 q= n 連結以第n(最多為10)個degree rational Bezier curve。這個中間的n-1個點是控制頂點,具有給定的(正)加權因子。 這個點的命令被建立進入ASAP,主要是用來便利翻釋IGES檔案格式進入ASAP命令。當你從CAD程式輸入資訊時,ASAP產生POINTS命令,伴隨著必需要的控制點及上表中描述的加權因子。然而,許多ASAP的使用者繼續寫他們自己的POINTS命令,使用Builder或命令程式,因為他們具有較佳的功效及彈性。對於相對的簡單狀況,例如以圓弧,或者簡單的二次曲線連接兩點之間,這個過程不會比我們已經學習過的範例困難。 圖顯示q= - 2的使用以橢圓圓弧來連結兩個點之間。在這個例子中,我們能夠創造發光二極體的基體部分,就是只使用一個邊緣物件的掃過命令。 13-252 ASAP Primer 入門指南 / 邊緣
圖 使用POINTS命令的範例,其連結因子(q值)為-2,來連結第三個點到第四個點,這個參數需要出現在Command Editor視窗。在這個例中,顯示在Command Editor的第四個點是圓弧(橢圓)的中心,此Builder列的第三個值是圓弧所張開的角度。這個結果是單一的ASAP物件,代表發光二極體的身體部分。注意,這個方法只能夠用在物件的所有元件(底部邊緣或者圓頂)具有相同的光學特性,因此只需指定一種界面特性。 圖顯示q=2的控制點及加權因子。這加權因子是貝使用如一個自由參數來產生二次圓錐曲線家族的連結。 ASAP Primer 入門指南 / 邊緣 13-253
圖 以二次Bezier多項式,使用POINTS命令來連結兩個點。這兩個被連結的點顯示在參數清單中是第一及第三個點。我們指定一個連結因子(q值)為2。ASAP期待第二點為控制頂點。在此Builder列中第三個參數為一個加權因子,它們可以被認為是這個曲線被推往控制頂點的程度。這些曲線都是二次圓錐曲線。在ASAP技術導引,“More About Edges”可以找到計算指定二次圓錐曲線的控制頂點位置及加權因子的方程式。 輸入及輸出邊緣物件 Importing and Exporting Edge-based Objects 我們歸功於CAD程式,使得邊緣為基礎的物件在ASAP中可以存在。目前最通常使用的ASAP邊緣物件,仍然是從CAD程式輸入幾何形狀TM到ASAP,藉由利用ASAP/IGES的翻譯器,smartIGES。如果你的ASAP擁有CAD模組,輸入幾何形狀就如同在ASAP中讀IGES檔一樣的簡單。這翻譯器自動的產生所有需要的命令來模型化物件,並將他們放在單一的程式檔。你可以執行這些檔案,並不需要知道其詳細內容。你也可以有選項來增加光學性質到這些物件當作轉譯過程中的一部份。操作這些過程的步驟在ASAP技術導引,“IGES Import”中可以見到。另一個在ASAP中使用邊緣物件的優點是藉由系統選單上的13-254 ASAP Primer 入門指南 / 邊緣
Export to CAD任一個邊緣物件可以輕易的由ASAP輸出到CAD環境。幾何形狀的訊息是寫在IGES或DXF的格式檔案中,被執行的命令分別為CAD IGES或CAD DXF。 註︰你所建立的許多ASAP以曲面為基礎之物件,也可以以相同方式輸出。然而,它們是受限的。部分物件,例如具有非球面的OPTICAL表面,必須由三次方的splines曲線來逼近。對它們的一般代數規範,並沒有完全的CAD標準。同時,bounds的修剪訊息也將丟失。假如我們輸出我們在第4章“建立及預視幾何形狀”中所建立的模型,Cooke三片式鏡頭曲面,則每一個透鏡的管狀物都需要在CAD程式中重新修剪。 摘要 Summary 在這一章中,我們已經討論了下面幾個新的命令︰ ASAP命令 選項 描述 EDGE; ELLIPSE Builder: 由連接點產生一接近System>Geometry>橢圓邊緣。 Edges>Ellipse EDGE; Builder: 產生一直角邊緣。 RECTANGLE ...Edges>Rectangle EDGE; ARC Builder: 產生一平滑弧線。 ...Edges>Arc EDGE; OVAL Builder: 產生一般曲線,由橢...Edges>Oval 圓,漸變到直角。 EDGE; Builder: 產生帶圓角的直角邊RACETRACK ...Edges>Racetrack 緣。 EDGE; ROUNDED Builder: 與Racetrack相同,但...Edges>Rounded 可擠壓成橢圓或直角。EDGE; Builder: 產生連續三角形邊緣。SAWTOOTH ...Edges>Sawtooth ASAP Primer 入門指南 / 邊緣 13-255
ASAP命令 選項 描述 EDGE; POINTS Builder: 使用點,連接因子,控...Edges>Points 制點,右權因子產生一般的曲線。 OBJECT Builder: 將一個或多個實體Object Control>Object entity轉化成object。 SMOOTH Builder: 一邊緣實體entity修...Edge Modifiers>飾,可以二次方的平滑Smooth 化曲線。 SWEEP AXIS Builder: 一種邊緣實體entity的SWEEP ...Edge Modifiers>Sweep修飾,掃過曲線/邊緣DIR
SWEEP POS >Around Axis 來形成object。 >Along Direction >Towards Point FACETS Builder: 一種object修飾,可以System>Object Modifiers改變所修飾object的刻>Facets 面數。 RENDER ASAP Menu: 使用的方法與光線追System>Render 跡類似來產生一個有陰影的圖象表現。 CAD IGES/DXF ASAP Menu: 轉譯ASAP物件為System>Export to CAD IGES或DXF檔案格式。 在這一章中,我們介紹了邊緣物件EDGE,一個新種類的ASAP物件,它是與先前介紹的曲面為基礎之物件,大不相同。一個邊緣物件通常是由一組連接的點組成。點與點間的連結可以是圓滑曲線或直線。假如邊緣物件的點為自我封閉,ASAP可以將它成為一個平面物件,且以這個邊緣實體為邊界,這些特性是ASAP內訂的設計。 邊緣也可以轉化為物件,藉由繞軸掃過或沿著一個方向或繞著一個點旋轉這些點。為了完成這個動作,我們必須在Builder掃出 (Sweeping) 之前將這邊緣的定義改變為實體entity。然後,Object命令必須用來將掃過的實體entity轉化為物件,物件才能與光線有所交互作用接觸。 兩個邊緣物件也可藉由擠壓,轉變成一個物件。利用此方法,我們利用連接兩個邊緣物件的點來定義一個新的物件。再一次,從基本物件的建造區塊所形成的邊緣物件,必須在Builder中給予實體entity的狀13-256 ASAP Primer 入門指南 / 邊緣
態,否則ASAP只能產生在擠壓物件上下的邊界平面。 邊緣物件有幾項優點,使邊緣物件在系統模型化中具有價值︰ •邊緣物件允許我們輸入以CAD為基礎的幾何形狀進入ASAP。對複雜的機械結構, CAD程式通常較容易也較有效率來完成。 •任何一個我們能使用ASAP模型化的邊緣物件,將在CAD環境會有一個確切的表示式,如果你選擇它們。一些以曲面為基礎之物件,必須做近似。 • 掃過或擠壓的邊緣物件允許我們來產生許多物件,可能困難或不可能藉由使用曲面為基礎物件的隱多項式數學來逼近。 對邊緣edges這裡同時也有兩個缺點你必須考慮,無論何時你選擇一個ASAP的實體entity實體型態的邊緣: •以邊緣為基礎的幾何形狀物件通常會使光線追跡相較於以曲面為基礎的模型來的慢。 •邊緣為基礎的幾何形狀有時會“漏光”,允許光線迷失一個曲面,而該曲面正沿著其路徑。這種漏光是很少的,通常是可以忽略的。 ASAP Primer 入門指南 / 邊緣 13-257
練習6︰使用邊緣物件產生Fresnel透鏡 Exercise 6: Creating a Fresnel Lens using EDGES 1. 使用下圖中所提供的資訊使用POINTS定義Fresnel透鏡的後表面,包括內層及外層,要記得改變定義到實體entity狀態,然後預視這邊緣圖象來確定。 2. 繞z軸掃過這個邊緣,並將它改為object物件,增加一個穿透的介面指定介質其折射率為。將此物件的刻面數設定為11, 11。預視這物件的圖象來確定。 3. 藉由擠壓兩個弧來定義Fresnel的外層邊緣。增加一個吸收的介面。將此物件的刻面設定為11, 11,預視這物件的圖象來確定。 4. 使用平滑後的ELLIPSE定義透鏡的前表面。給予如後表面相同的穿透的介面光學特性。 5. 定義一個平行的極座標網格光源光線指向透鏡的前表面。格子光源的2總光通量設為5 Watts/cm。 6. 做光線追跡通過此透鏡,然後尋找最佳焦點。並在最佳焦點上做光線的點陣圖。 13-258 ASAP Primer 入門指南 / 邊緣
物件vs.實體 Objects vs. Entity ASAP中物件Objects與實體entity狀態有什麼不同呢? •ASAP中“物件Objects”是幾何表面具有邊界、一個位置、一個方向及光學特性。物件與光線可以交互作用接觸。 • 在ASAP中“實體entity”是一個幾何定義,它與光線不交互作用接觸。它沒有界面的命令伴隨著。 Objects與實體entity都是使用相同的ASAP命令來定義。事實上,在ASAP中每一Object也同時被考慮為一個實體entity。然而,並不是所有的實體entity可以有Object狀態。 假如光線看不到實體entity,為何我們要自找麻煩在ASAP中來定義一個實體entity?至少有四個理由讓我們來定義一個實體entity︰ Object建造方塊。在這章中我們 將使用兩個邊緣實體entity藉由擠壓來定義一個單一的Object物件。 限制(修剪)實體entity。在右圖中一個平面來限制一個橢圓球體,我們可能需要來修剪一個積分球的頂部,保留(紅色)下面的底部去掉(藍色)部分的頂部,這個限制性的平面只是用來定義球型物件的邊界光線並不需要看到它。 視角修剪邊界。當使用ASAP 在波動光學時,邊緣-實體entity,常常被用來定義視場的限制。在傳輸之前,在一邊緣的視場角外或內可以被修剪“clipped away”來模擬一個障礙物或孔徑的限制。 重要區域的邊界。在散射光應用上,ASAP允許我們使用邊緣實體entity來定義在空間一個重要的區域或方向。這個允 許我們只來產生及追跡光線,該光線將散射在一有興趣的方向。 ASAP Primer 入門指南 / 邊緣 13-259
13-260 ASAP Primer 入門指南 / 邊緣
附錄13A 第13章的程式集 Scripts For Chapter 13 下面ASAP程式是第13章“邊緣”的參考。 程式13-1 !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE ELLIPSE EXAMPLE. !!THE SCRIPT HAS BEEN EDITED TO THE PREFERRED SCRIPT FORM. !!EDGE STATUS IS ENTITY IN THE NEXT EXAMPLE. EDGE ELLIPSE Z1 16 SMOOTH !!EDGE STATUS IS OBEJCT IN THE NEXT EXAMPLE. EDGE RECTANGLE Z1 16 SMOOTH OBEJCT 程式13-2 !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER EXAMPLE. !!EDGE STATUS IS ENTITY IN THIS EXAMPLE. EDGE ELLIPSE Z1 16 RECTANGLE .20 .20 16 ASAP Primer 入門指南 / 邊緣 13-261
程式13-3 !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER EXAMPLE. EDGE ELLIPSE Z1 16 RECTANGLE .20 .20 16 OBEJCT .1 . 2'EXTRUDED OBEJCT' 程式13-4 !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER EXAMPLE. !!EACH OF THE EDGES NOW HAS SMOOTHING APPLIED. EDGE ELLIPSE Z1 16 SMOOTH RECTANGLE .20 .20 16 SMOOTH OBEJCT .1 . 2'EXTRUDED OBEJCT' 程式13-5 !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER EXAMPLE. !!BUT NOW THE 2EDGES AIR IN THE SAME PLANE. !!EACH OF THE EDGES HAS SMOOTHING APPLIED. !!THE RESULT IS AN SUQARE APERTURE WITH A CIRCULAR OPENING. EDGE ELLIPSE 16 SMOOTH RECTANGLE .20 .20 16 SMOOTH OBEJCT .1 . 2'EXTRUDED OBEJCT' 程式13-6 !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER EXAMPLE. 13-262 ASAP Primer 入門指南 / 邊緣
!!THE COMMAND SCRIPT NOW INCLUDES THE COMMANDS TO SEE THE RESULT IN THE 3D VIEWER. !!THE HIGHER FACETS VALUE MAKES THE OBEJCT SMOOTHER IN THE 3D VIEWER. EDGE LINE 0 2-1 0 1- 0 SWEEP AXIS 360 0 0 1 OBEJCT .1 'CUP' FACETS 1 12 ERTURN PLOT FACETS V$IEW 程式13-7 !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER EXAMPLE. !!THE COMMAND SCRIPT INCLUDES THE COMMANDS TO SEE THE RESULT IN THE 3D VIEWER. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED AT THE BEGINNING. SYSTEM NEW RESET COATING PROPERTIES; 0 0 'ABSORB' EDGE POINTS X 0 .251 1 .251 1 1 1 .200 1 .200 1 SWEEP AXIS 360 0 0 1 OBEJCT '' INTERFACE COATING ABSORB AIR AIR REDEFINE COLOR thgil eulb3 FACETS 11 11 PLOT FACETS V$IEW ASAP Primer 入門指南 / 邊緣 13-263
13-264 ASAP Primer 入門指南 / 邊緣
第 14 章 透鏡實體 LENS ENTITIES ASAP支援三種實體形態。我們已經介紹了曲面為基礎及邊緣為基礎之實體,我們現在將討論第三種實體形態︰透鏡。雖然我們以前做過模型化透鏡,我們總是使用optical命令(在Builder中從System>Geometry>Surfaces>Spherical)。透鏡實體會是一個較好的選擇嗎?不,不一定是。透鏡實體有一些特殊性質,同時也有一些特殊的限制。名稱就有一些會令人誤解。這一類的實體被稱為“透鏡”,因為實體的本性及其參數化非常類似於在透鏡設計程式中所使用的。ASAP的透鏡實體包含透鏡,反射鏡,開口窗,稜鏡甚至望遠鏡等模型化。在下面這節中,我們將解釋這些元件所共有的特性,及它們如何被視為差異當被模型化為透鏡實體,而不是表面或邊緣實體時。 透鏡實體是什麼? What is a Lens Entity? 在ASAP中,一個透鏡為基礎的實體是一序列折射或反射的二次圓錐曲面(圖)。這整個的順序被視為單一物件處理。光線必須依序進入第一或者最後圓錐曲面,同時必須從最後一曲面或第一曲面出去,光線傳播依順序通過介於其間的圓錐曲面。假如光線無法與下一個圓錐曲面接觸到,光線將會停止。 ASAP Primer 入門指南 / 透鏡實體 14-265
圖 一個ASAP透鏡實體是一序列的圓錐曲面。這序列被視為單一的物件來處理。如圖所示,光線自左向右,或自右向左進行,但它們必須碰到序列中每一個圓錐曲面。 這個序列的行為很清楚的是違反ASAP原則。由於這點,所有我們的物件都被當作獨立的物件,及光線以完全無限制之方式穿越系統。為什麼我們要定義一個實體entity,卻打破精確光線追跡的基本原則?這裡有幾個理由︰ • 如同我們在第一章中所提示的,序列式的光線追跡較快。這九個透鏡(十八個圓錐曲面)顯示在圖,一個透鏡序列模式的光線追跡將比十八個optical曲面及九個tube管狀邊緣快五倍。 • 透鏡實體將比較容易以古典光學參數定義,例如焦距,厚度,彎曲因子,放大率,及視場角等。 • ASAP包含工具可以來做局部或全域的優化集中的成像系統,這些系統都是以透鏡實體entities定義的。(這些特性,只有在使用命令程式時才有效,見ASAP線上輔助說明MINIMIZE極小化和ABERRATIONS像差)。 • 透鏡實體具有一個精確的IGES表示法,所以類似邊緣物件,容易輸出到CAD程式。 然而,易於操作及較快光線追跡的速度需要付出代價的。是使用透鏡實體entities來建造ASAP物件時,有一些重要的缺點存在。下面幾種狀況是不可能的: • 指定不同光學性質給個別的表面,因為整體的透鏡序列是被當作單 一Object物件處理。 14-266 ASAP Primer 入門指南 / 透鏡實體
• 對一個光線的散射或離開這個序列。 • 對一個光線不是通過第一或最後一個曲面進入這個曲面的序列 註︰有一個正面有益的例外是:當一個光線經由Fresnel反射面分裂,這分裂的光線能夠經由序列繼續進行,雖然它沒有通過序列的第一或最後一面。這個條件允許我們來做“鬼影”分析使用透鏡為基礎的物件。 有一個方法可以保留透鏡實體lens entities的優良性質-易於使用及邏輯化的參數-同時具有非序列光線追跡的優點。ASAP包含一個內建的特性可以來轉換透鏡序列為一等效的曲面為基礎的物件。在你見過幾個透鏡定義後,我們將示範這個轉換。 單片透鏡 Singlet Lenses 單片透鏡是單一透鏡元件,由單一均勻的玻璃形成的。Cooke三片組的每一片都是單片透鏡。一個單片透鏡基本上是兩個曲面序列,當你在第四章中模型化Cooke三片組時,你給了前後兩個曲面的曲率半徑,及使用曲面為基礎的Optical命令來產生這兩個曲面。我們也可以定義這兩個曲面,僅使用一個透鏡LENS實體entity伴隨一個SINGLET命令。這個命令在Builder選項中可以從下面路徑找到︰System>Geometry>Lenses>Singlet>RD,CV或FL。選擇RD代表曲率半徑,選擇CV代表曲率,(1/半徑)或選擇FL代表焦距。Cooke三片組的第一枚元件已經被使用RD選項來定義在這種方式下: 圖 Builder在Cooke三片組的第一枚透鏡的顯示列。 光學介質是定義為schott-SK4,這是ASAP中內建的玻璃目錄中的一種材料,所以你不需要MEDIA命令。我們將在下一章節中介紹更多一些玻璃目錄。 見第14章附錄,在第287頁的“程式14-1”。 假如你在Builder中預視Preview這定義,其結果將出現在如268頁之圖。 ASAP Primer 入門指南 / 透鏡實體 14-267
圖 當你預視一個單片透鏡(或其他任一具有複數曲面的透鏡實體),注意全部曲面都是相同顏色。這是因為ASAP將透鏡實體entity視為一個單一物件。ASAP並不模型化系統中的邊緣,因為沒有光線會經由此邊緣細縫進入或離開曲面序列。 兩個重要的特性為︰ 1.兩個曲面在預視中具有相同顏色(內訂為白色)。如同我們所說的,ASAP視單片透鏡為一個物件。 2.此曲線沒有邊緣。封閉前後兩曲面的管狀物tube已不見。事實上,管狀物與模型是完全不相關的。光線並不被允許進入或離開此邊緣細縫。任何光線如果具有接觸到邊緣的軌跡的將不會被進一步追跡。 注意這應用在SINGLET透鏡中的INTERFACE命令。通常在每一曲線的兩側,我們將指定二種介質。在這例中,因為我們已在SINGLET命令中指定在兩曲面間的介質,在INTERFACE命令中會列出Air及Air為在透鏡序列兩側的介質。在Interface列指定的鍍層可應用到透鏡序列的所有曲面。在此例中,我們已使用TRANSMIT鍍層,假定先前的定義使用COATING命令。我們沒有選項來指定個別的曲面不同的特性,除非,我們選擇轉換透鏡為基礎的物件為獨立的曲面,(見第273頁,“轉換透鏡為以曲面為基礎的物件”)。 14-268 ASAP Primer 入門指南 / 透鏡實體
你也可以使用SINGLET命令來產生具有特定焦距的透鏡。當然,在給定的厚度、材料及焦距條件下,若我們允許改變兩個曲面的半徑,會有無限組的透鏡存在。你可以使用造鏡者公式找到一個趨近的透鏡組態,來產生正確的焦距,但是SINGLET命令具有FL選項可以為你設計這個透鏡。你所需要做的是指定一個彎曲參數 (bending),這個彎曲參數是一個單值,可以讓你從其中選擇可能的曲率。它的定義為: r+r21b= r−r21其中r1跟r2分別為透鏡的前幅與後幅曲率半徑。記得這些半徑可以為正或可以為負,依據曲率中心在曲面的右側或在左側。圖顯示一些例子具有,不同彎曲參數 (bending) 的單片透鏡。平凸透鏡的彎曲參數可以為-1或+1,依據凸面在前(左)或在後(右)。一個對稱的雙凸透鏡,其彎曲參數為0。 Diameter = 2 Focal Length = 7 Bending parameter -4 -1 0 1 4 Diameter = 2 Focal Length = -7 圖 在上列中的所有正屈光屈光度透鏡都具有相同的焦距,在下列的負屈光度透鏡,也是具有相同焦距。這彎曲參數,被用來選擇具有相同焦距的各種可能透鏡。雖然這些透鏡具有相同的焦距,但是各透鏡的球差與彗差是彎曲 (bending) 參數的函數。例如,一個彎曲參數為之BK7正屈光單片透鏡具有當有一物在無窮遠時最小的球差(較高的曲率指向物體)。 在Builder中嘗試做一個平凸透鏡,藉由使用Lenses>Singlet及焦距選項 (FL)。設凸表面為第一曲面:假設透鏡的直徑為25 mm,厚度為4 ASAP Primer 入門指南 / 透鏡實體 14-269
mm,焦距為100 mm,以凸面為第一表面,彎曲參數bending parameter為 +1。當你完成時,Builder建造器的顯示列將如圖所顯示。 圖 平凸透鏡的Builder顯示列參數。 見第14章附錄,在第287頁的“程式14-2”。 使用玻璃目錄 Using the Glass Catalogs ASAP包含五個內建的玻璃目錄,French、Hikara、Hoya、Ohara、Schott、Sumita、和Unusual。這些目錄中,包含商業上大部分可取得的光學玻璃。這個Unusual目錄尚且包含其他通常在光學設計使用的物質,例如方解石、藍寶石、矽及硒化鋅zinc selenide。 你可以使用玻璃目錄,來輸入預先定義的玻璃形態的名稱在Interface中命令或任一LENS命令中,其需要你指定一個介質。在Builder中,在Media 1格子中按滑鼠左鍵來選擇它,然後再按Ctrl-Enter。你可以瀏覽玻璃目錄來選擇想要的玻璃介質材料(圖)。 圖 你可以進入玻璃目錄,從任一個Builder列中,它需要你去指定一個介質。在Media格子按滑鼠一下,然後按Ctrl-Enter。相同的玻璃可以被用在命令程式中,藉由指定玻璃公司目錄及玻璃形態,由下橫線“_”來分開;例如SCHOTT_BK7。這個字串可以被用在使用MEDIA命令時,你所定義的介質。 另一種接近玻璃目錄的方法是透過工具列上的Optical Properties (見圖 )。從這個Glass Catalog的選項tab,在玻璃廠商目錄的前頭「+」號上按滑鼠左鍵(例如french)。然後,在特定的玻璃名稱上按滑鼠左鍵14-270 ASAP Primer 入門指南 / 透鏡實體
兩下。Glass Editor玻璃編輯器的對話框將出現,你可以從其中看到你所選玻璃的色散函數(折射率與波長之關係)。 圖 Optical Properties工具列可以看到具有玻璃目錄Glass Catalog。 有一個重要的優點來使用玻璃目錄,是介質定義中包含有色散方程式。目錄中所有的實體entities包含有計算折射率的材料係數,其皆為波長的函數。不像使用MEDIA命令時的線性內插法來定義材料,在玻璃材料折射率的計算中可以根據Schott或Selmeier多項式來計算材料的折射率。 ASAP Primer 入門指南 / 透鏡實體 14-271
雙膠合透鏡 Doublet Lenses DOUBLET命令與SINGLET命令相類似具有FL選項。它允許你來“設計”一個膠合的雙透鏡。在這透鏡中具有足夠的自由度,來讓ASAP產生一個元件,其具有最小的軸上色差。換句話說,這透鏡對一個範圍的波長,幾乎具有相同的焦距。你需要指定總厚度,幅面半徑,使用的兩個介質,有效焦距及彎曲因子 (bending)(如同在上一節267頁描述的“單片透鏡”),見圖。 見第14章附錄,在第288頁的“程式14-3”。 圖 膠合的雙透鏡在Builder中的顯示列。 實務中,透鏡設計者也可以使雙合透鏡的其他像差減小,特別是球差及彗差,藉由使用玻璃型態及彎曲因子來增加自由度。ASAP並不想在DOUBLET的命令中做這些。我們的雙膠合透鏡只消除軸上色差。 我們已經使用WAVELENGTHS命令來指定三個波長。使用玻璃目錄,ASAP能夠計算兩種玻璃的色散。這個計算對消色差的膠合雙透鏡設計是非常重要的。 註︰這個計算是根據一般化的阿貝數Abbe number其定義如下︰ 當我們使用目錄上的玻璃時,ASAP根據波長WAVELENGTH命令中指定的三個波長來計算折射率n1、n2、n3。ASAP計算不同玻璃的阿貝Abbe數V值(V1及V2)。這個阿貝數的比值指出此二膠合雙透鏡的元件對消色差能力的比值。ASAP程式使用由玻璃目錄提供的色散函數來決定它們的比值。如果你使用目錄外的玻璃,你必須在MEDIA命令包含其對每一玻璃指定的三個波長的折射率。相反地,你可以有選擇來指定阿貝Abbe數比,使用命令的最後一個參數Abbe Ratio。這阿貝數比定義為r=V2/V1。阿貝數通常可以由玻璃製造商提供。在我們上面的例子中,Schott列出BaK2的阿貝數為,SF2為。在這個14-272 ASAP Primer 入門指南 / 透鏡實體
例中,阿貝Abbe數比值為V2/V1=。 當使用玻璃目錄時,若你未提供波長WAVELENGTHS命令或者阿貝數比時,ASAP替你計算阿貝數比,估計玻璃在波長為奈米時的色散。 將透鏡轉換為曲面為基礎的物件 Converting Lenses to Surface-based Objects 膠合雙透鏡DOUBLET命令(見第267頁的“膠合雙透鏡”),是一個非常好的例子來說明透鏡實體。使用單一的命令,我們可以設計一個消色差的物鏡。ASAP已經為我們決定了優化後的三個曲面曲率。 現在我們已經有了透鏡的模型,當我們增加鍍層到入射表面時,將發生什麼?假如我們施加一些散射特性到後幅表面,將發生什麼?當系統中的雜散光與膠合雙透鏡(不存在)的邊緣接觸時,將發生什麼?藉由使用透鏡實體來完成膠合雙透鏡,我們還能夠完成我們的目標,或其他序列定義的表面。ASAP具有“爆炸分解巨集程式”的能力,立體展示一個透鏡結構為獨立、以表面為基礎的物件。 為了顯示ASAP的“爆炸分解”命令,我們將從上面所定義的膠合雙透鏡開始。 1. 在Builder列中按任何一格來定義透鏡實體。 2. 在Builder工具列中按Explode。 另一種方法,你可以在選擇透鏡實體定義後按滑鼠右鍵,執行Explode命令,然後在下拉式選單中選擇Explode Lens。 這個Explode爆炸分解巨集程式操作的結果顯示在第274頁的圖。 ASAP Primer 入門指南 / 透鏡實體 14-273
圖 Builder能夠“Explode”,“爆炸”分解巨集程式一個透鏡基礎的膠合雙透鏡進入獨立的曲面為基礎的物件。這個雙合透鏡列,轉變成13個Builder列,包括5個曲面定義、介面命令,及圖形的顏色改變。你可能希望修飾一些這些內訂值。例如,在介面命令中指定的“BARE”鍍層,由於Fresnel反射造成光線分裂,其或許不是你想要的,依賴你分析的目標。 ASAP已經將序列的曲面轉化成五個獨立的表面為基礎的物件︰三個光學OPTICAL表面及兩個管狀TUBE表面。所有應用到透鏡實體的限制現在都取消。ASAP增加INTERFACE命令到兩個光學表面,然後給他們內訂值為BARE鍍層。這管狀物tube沒有介面INTERFACE命令,ASAP將管狀物視為吸收表面(當沒有指定介面時為內訂)。 注意只有三個光學表面在爆炸立體圖中,一個透鏡製造者可以製造兩個透鏡並將他們膠合在一起來產生雙合透鏡。事實上,這裡總共是有四個光學表面。許多新的ASAP使用者想要以這種方法模擬此一情況,造成兩個中央的曲面。然而,記住,ASAP中兩個曲面不可以佔同一個空間位置。 14-274 ASAP Primer 入門指南 / 透鏡實體
要模型化這種情形最精準的方法是:我們可以分別以有限的膠合厚度模型化所有的四個表面。因為折射率匹配的膠可以用來降低Fresnel反射,這個或許是要精準估計這些介面對“鬼影”的貢獻時是需要的。然而,這個細節通常是可忽略的。 ASAP也對Builder中DOUBLET命令做一些改變。注意在Builder顯示列的左邊的符號,現在有紅色的短棒在其上和其下。 圖 Builder狀態欄*在膠合雙透鏡爆炸之前(左邊)與之後(右邊)。 當Builder檔被執行或者被預視時,ASAP已經改變這些Builder顯示列的狀態,所以它將被忽略。這一列留在檔案中只是被當作註解,因為它包含透鏡結構處方的有用資訊,以邏輯及方便使用的格式。然而,這一列將不會保留活化性。如果它被執行,我們將在同一個位置有兩個有效膠合雙透鏡版本。 註︰你可以在任一列中按滑鼠右鍵來切換這個狀態,然後從下拉式選單中選擇Line Status。你也可以在Builder工具列中按Line Status鈕。 這是一個非常方便的Builder特色,允許你暫時忽略特定的Builder顯示列,而不必永久性的刪除他們。 見第14章附錄,在第289頁的“程式14-4”。 其他透鏡實體 Other Lens Entities 圖,在第276頁,顯示五個增加的透鏡實體及圖,在第277頁,顯示五個透鏡實體中的每一個entity的Builder檔。在圖標題之後有每一種透鏡實體lens entity的描述。 事實上,大多數的這些實體entities並不是透鏡。記得,這些物件被稱為“透鏡實體lens entities”,只因為這些實體的本質及其參數化是與透鏡設計程式類似。 ASAP Primer 入門指南 / 透鏡實體 14-275
楔形體 直角體 五角體 無焦系統 圖 其他五種以透鏡為基礎的 實體entities可以在Builder中被定 義。在傳統名詞中這些透鏡實體 entities它們並不是“透鏡”。在ASAP 中,以透鏡為基礎的實體是一個一般 的描述運用到複數的圓錐曲面,其可 以被光線序列地追跡。見在第277頁 的圖。 Mangin 14-276 ASAP Primer 入門指南 / 透鏡實體
圖 其他以透鏡為基礎實體的Builder檔。 System>Geometry>Lenses>Wedge-一個楔形物會產生一個玻璃窗。楔形的角度可以增加,它通常用來降低兩平行面間的干涉效應。 System>Geometry>Lenses>Right-一個簡單的稜鏡,可以改變光線方向90度。 System>Geometry>Lenses>Penta-一個五角形稜鏡,可以彎折光線90度,但是不會引進左右顛倒或上下顛倒的成像。換句話說,一個經此稜鏡成像的是與原來相同的。 System>Geometry>Lenses>Afocal-一個儀器系統沒有焦點(也就是一個儀器沒有辦法將影像聚到一個焦點)。望遠鏡就是一個無焦系統的例子,因為一個物體在無窮遠處,透過此儀器系統來看,其成像也在無窮遠處。只有物體的放大率改變,AFOCAL命令可以被用來定義簡單的兩元件,折射或反射望遠鏡。ASAP調整元件的圓錐常數來校正球差。 System>Geometry>Lenses>Margin (CV, FL, RD)-一個Margin反射鏡是一個單一的光學元件,同時帶著反射與折射表面。Margin反射鏡的參數,是與單一透鏡完全相同的,ASAP並不想以任何方式來優化Margin反射鏡,雖然一個透鏡設計者可以使用厚度,玻璃種類,曲面曲率來降低球差及部分彗差的校正。 定義一個透鏡序列 Defining a Lens Sequence SEQUENCE命令是最基本的透鏡實體定義。它允許我們輸入一個任意序列的二次圓錐曲面,再一次,其格式需與透鏡設計工具相容。在第273頁之圖,顯示一個Cooke三片組的序列規格,其為我們在第81頁的第4章“練習1︰完成Cooke三片組”中模型化的結構處方。 ASAP Primer 入門指南 / 透鏡實體 14-277
圖 Cooke三片組造成透鏡序列。序列的參數顯示在Command Editor視窗,它是在Builder的Sequence列中的Parameters格子上按滑鼠左鍵兩下來開啟。 你可以在Builder列中使用System>Geometry>Lenses>Sequence來定義這個序列。如同所有進入Builder的物件,你可以在Name格子中命名序列。類似其他透鏡為基礎的物件,這整個序列被當作單一物件處理,同時,這個名稱可應用到全部ASAP。 下一個格子是被標示為Vertex Type。你可以指定每一個二次圓錐,以曲率半徑 (RADI) 或其倒數-曲率 (CURV)。在這格子上按滑鼠左鍵二下來產生下拉式的選單。我們原始的Cooke三片組規格。是以曲率半徑表示,所以我們用它來做為一個範例。 我們輸入這序列指定的參數在Command Editor視窗。這個方法與我們在第13章中的Points命令輸入參數相同。編輯器是可以從Parameters格子按滑鼠左鍵二下來產生(或按Ctrl-Enter)。每一序列中的圓錐曲線是指定在一Builder顯示列上。第一列必須指定在一個“長格式long format”,其包含11個數值︰ x y z a b c h r k o m 0 0 0 0 0 1 0 0 SCHOTT_SK4前三個參數是x, y, z為圓錐編號1的鏡頂的全域座標。在這個例中,我們希望將第一個圓錐曲線放在座標原點 (0, 0, 0)。 其次三個參數指定圓錐曲面的方向。它是由曲面頂點位置的法線來決定,以方向餘弦向量 (a, b, c) 來表示。 14-278 ASAP Primer 入門指南 / 透鏡實體
我們定義Cooke三片組是沿著z軸,所以方向餘弦向量為 (0, 0, 1)。 第7個參數是h,光軸上通光孔徑的截高(半直徑),對Cooke三片組的第一元件而言,是 mm。 下一個參數是r。因為我們已經選擇RADI選項,這個數字就要是曲率半徑, mm。 第9個參數是圓錐常數,Cooke三片組中,所有曲面都是球面,所以全部的圓錐常數都是0。第十個參數是o,遮蔽(中空)比值。這個元件中,沒有中空的洞孔,所以這個比值的輸入值為0。 最後一個參數是光線要經過的介質的編號或名字。我們並不需要指定二個介質,如同我們在使用Interface命令時一樣。我們假設這個序列是被指定的,好像這個光線是從物件的外面通過,雖然第一個圓錐是在序列中。 註︰假如這個圓錐是反射曲面,你將使用關鍵字REFL來取代媒體的名稱,例如,這個長的規格曾使用在凱薩格林望遠鏡在第120頁,第6章的“練習2:凱薩格林望遠鏡”,它的Builder顯示列將為︰ x y z a b c h r k o m 0 0 0 0 0 1 REFL Cooke三片組的其他五個曲面,可以以“短格式short format”的方式輸入,其前六個參數可以被單一數值取代︰從前面一個圓錐的距離。你隨時可以使用 “短格式”緊接著的圓錐曲線具有相同的表面垂直:被指定在上一個的長格式輸入值。其他的輸入值,如下表: d h r k o m 0 0 AIR 0 0 0 0 AIR 0 0 0 0 AIR 一旦這個序列產生,你可以選擇將它爆炸立體化如上所述。記住,ASAP企圖以管狀物tube連結所有的獨立、以曲面為基礎的物件,甚至有時是不適當的。這個動作行為是必須的,所以Explode可以在大多數一般的環境中工作。你將需要手動的去消除部份不適當的管狀物(見本ASAP Primer 入門指南 / 透鏡實體 14-279
章的最後在第284頁的“練習7︰Cooke三片組為透鏡序列”)。 理想透鏡 Ideal Lenses 如果你想建立一個含有折射元件的“理想”系統,理想透鏡是有用的ASAP物件。ASAP參考導引Reference Guide描述理想透鏡為完美的,但並不實際。它的“完美”是在物與像間的距離全部的沒有像差。它是不實際不具體的,在實務上無法做出如此“完美”的光學元件。為了完美表現,理想透鏡必須違反,或最少壓縮一些物理定律。 為何你想要包含一個“不具體”的元件在你的ASAP模型中呢?ASAP工程師經常使用理想透鏡在光學系統的起始佈局中,來確證最基本的“第一階”設計。進一步設計時,再以實際的折射元件來替代理想透鏡,你可以設定系統特性的上限。這理想透鏡是列在其他透鏡實體entities中,在Builder的命令選項︰System>Geometry>Lenses>Ideal。一個範例顯示如下, 圖 理想透鏡的Builder顯示列 見第14章附錄,在第290頁的“程式14-5”。 這個IDEAL命令的特殊範例可以被用來模型化一個焦數為f/2的透鏡,其“物”在無窮遠處。它的行為圖象顯示在圖14-15。 14-280 ASAP Primer 入門指南 / 透鏡實體
圖 理想透鏡模擬完美聚焦元件的行為。在圖的上部的例子中,一個理想厚度的透鏡是被用圖像表示輸入與輸出平面。它們是厚透鏡的“主面Principal planes”。ABCD矩陣指出光線在光線追跡時應該如何的行為。在這個例子中,矩陣使它們聚焦。在圖的下部,一個完美的薄透鏡,可以設定Length參數為0。規格是相同。 理想透鏡有一輸入面及輸出面。我們可以在In Semiap及Out Semiap格子指定平面的大小,及在Length格子設定此二平面的間隔。它們是透鏡系統的主面Principal plane。如圖所示,光線從輸入主面進入,從輸出主面出去。光線被適當的彎折、集中到完美的焦點,它們的行為可以用ABCD矩陣元素來描述我們所想要模型化的裝置。你不必了解這些過程中的細節,雖然有一詳細的討論,在286頁的補充附錄“主面與矩陣光學”。了解ABCD矩陣對一個具有焦距為(自第二主面到焦點的距離)f的透鏡是必要的,該矩陣可寫為 我們輸入這方程式進入ASAP為 (A, B, C, D) (1, 0, -1/f, 1)。在上面這個範例中,焦距為4,所以C = -1/4。 理想透鏡IDEAL命令的最後一參數是物距Obj Distance,這距離是從“物”到“第一主面”的距離。雖然理想透鏡對物距沒有像差。 ASAP Primer 入門指南 / 透鏡實體 14-281
只有單一物距,經過這個理想透鏡可以產生完美的球面波前,如果這點對你的分析是重要的,你必須輸入適當的物距在這格中。否則ASAP假設物在無窮遠處,則在此格中的物距為0。 註︰當理想透鏡IDEAL命令與程式語言一起使用時,你有一選擇來輸入第二矩陣-Jones矩陣,它可允許你改變輸入輸出光線的偏振態。這將在技術導引“偏振光”中詳細討論。 摘要 Summary 在這一章中,我們將討論下列的新命令︰ ASAP命令 Builder選項 描述 LENS; SINGLET System>Geometry>產生一個單片透鏡。 Lenses>Singlet LENS: DOUBLET ...Lenses>Doublet 產生-兩片式膠合透鏡具有最小的色差。 LENS; WEDGE ...Lenses>Wedge 產生-具有選擇性楔形的窗口。 LENS; RIGHT ...Lenses>Right 產生-直角形稜鏡。 LENS; PENTA ...Lenses>Penta 產生-五角形稜鏡。 LENS; AFOCAL ...Lenses>Afocal 產生-二元件無焦望遠鏡。 LENS; MANGIN ...Lenses>Margin 產生-Margin反射鏡 LENS; SEQUENCE ...Lenses>Sequence 產生-序列的圓錐曲面。 LENS; IDEAL ...Lenses>Ideal 產生-理想的光學元件。 EXPLODE 在Builder上按滑鼠右轉換透鏡定義為等效曲鍵 面。 我們介紹透鏡LENS,為第三種也是最後一種ASAP的實體entity。我們已經在第4章及第6章討論曲面為基礎的物件,及在第13章,邊緣為基礎的物件。所有透鏡為基礎的物件,定義為序列的圓錐反射或折射曲面。因此,並不限制“透鏡”為傳統的名詞。 14-282 ASAP Primer 入門指南 / 透鏡實體
稜鏡、望遠鏡、反射式及折反射式光學系統都可使用透鏡為基礎LENS-based物件的定義。ASAP以序列地追跡光線通過這些物件。換句話說。光線必須以定義的序列依序(或反序)與圓錐曲面交互作用接觸。 因為這些曲面為圓錐曲面,任何一個由LENS定義的透鏡為基礎物件也可以曲面或邊緣物件精確地模型化。你可能選擇以“透鏡”的方式來定義等效同義的曲面及邊緣物件有幾種理由︰ • 一般來說,以透鏡為基礎物件作光線追跡時,較與曲面為基礎或以邊緣為基礎物件為快。 • 參數化後的透鏡為基礎的物件對它們所描述的光學元件是簡單,邏輯的及方便使用的。 •在許多案例中,ASAP可以設計一簡單的光學元件,有時甚至可以使像差最小。 然而,模型化透鏡基礎的物件也有些缺點。就是序列的本質,及將整個圓錐曲面視為單一物件處理,使得無法展現散射光之類的分析。 你也可以使用爆炸立體圖EXPLODE命令來轉換透鏡基礎的物件為等效同義的曲面為基礎物件。然而,爆炸立體版的光線追跡會較慢,你尚可保留其他的優點,而消除上述的缺點。 ASAP Primer 入門指南 / 透鏡實體 14-283
練習7︰Cooke三片組為一透鏡序列 Exercise 7: The Cooke Triplet as a Lens Sequence 1. 使用System>Geometry>Lenses>Sequence定義,Cooke三片組,部份顯示在第273頁之圖,及描述在第272頁之“定義-透鏡序列”。將此序列命名為L1。 2. 增加-瞳孔光闌,以具有中央圓孔的圓形平面PLANE來定義。其規格如下︰ 位置︰z= 外半徑︰ mm 圓孔內半徑︰ mm 名稱︰光闌stop 介面特性︰吸收 3. 增加-檢光器,以PLANE定義,具有下列之規格︰ 位置︰z= 半直徑︰10 mm 名稱︰檢光器 介面特性︰吸收 4. 以profile證實確定系統的幾何形狀輪廓。 圖 Cooke三片組的二維幾何形狀。 5. 定義-橢圓光源格子,具有平行光軸光線。(由GRID ELLIPTIC及SOURCE DIRECTION)使其大小充滿Cooke元件。光線必須位於z = -1,產生11條光線沿著光軸。 6. 執行Builder來產生Cooke三片組及光線 7. 從主選項中選擇Trace>Trace Rays來初始一個光線追跡。當對話框出現,選擇Plot Rays W/Geometry,檢查Missed Rays消失光線的長度,Arrows14-284 ASAP Primer 入門指南 / 透鏡實體
為5,然後在Plot Geometry Options選項中選擇Plot Facets。 8. 在3D Viewer中檢視結果。注意部份光線應是到光闌stop而被畫為“消失的光線”。這些光線在靠近外緣離開元件1。為何它們不被追跡到光闌stop? 圖 在3D Viewer 中的光線圖示。 9. 增加沿光軸的光線數目為101,再度執行Builder及再次作光線追跡。這次,在Trace Options區中,選擇No Plot,注意看ASAP在執行這次追跡所花的時間。執行追跡TRACE命令後在命令輸出Command Output視窗印出的資訊為︰ ---TRACE Total of milli sec ( milli sce CPU) to trace 8,021 10.在Builder中將序列Sequence定義爆炸立體化。使用profile證實確定爆炸立體化的幾何形狀。注意“額外的”管狀物,其為ASAP已將Cooke的元件連接。若這些區域填充玻璃來形成固體,膠合的序列,則這些管狀物是適當的。但在此因為是空氣間隔故沒有用,ASAP將此管狀物命名為.及.在圖中是唯一以紅色顯示的物件。刪除這兩個管狀物及伴隨的REDEFINE COLOR再定義顏色命令 圖 所有管狀物的爆炸立體序列(左),經消除兩個空氣間隔管狀物後的爆炸立體序列(右)。 ASAP Primer 入門指南 / 透鏡實體 14-285
11.定義穿透TRANSMIT鍍層,及指定此鍍層到Cooke三片組的所有6個光學optical介面,取代內設的BARE鍍層。 12.以無圖的選項再作101條光線追跡,並比較光線追跡速度。 主面與矩陣光學 Principal Planes and Matrix Optics 考慮一厚的,單一透鏡例如下圖所示。若我們在透鏡靠近邊緣頂部,自左向右,追跡-光線,此一光線平行光軸,它將如圖上半部折射。然而,想像在玻璃內部所發生的,我們並無法看到。我們假設光線只作一次彎折,如圖中,以虛線顯示的光線路徑。我們能藉由延長原入射光方向及對出射光作相同的向上延伸,找出此替代真實光線的折射點。這兩虛線的交點,定義了一個主面principal plane的位置。藉由自右向左追跡另一條邊緣光找到另一個主面,如下圖中下半部所顯示的。 因為真實光線與涉及主面的替代的路徑,一旦光線離開透鏡就不易區分,我們可以用主面取代真實透鏡,如第二圖所示。這也是理想透鏡IDEAL,在模型化完美透鏡時所採用的。 輸入光線向量與輸出光線向量,有線性關係為2×2的ABCD矩陣。許多光學教科書,描述如何導出一般光學元件及系統的ABCD矩陣。(例如,見Eugene Hecht所著之Optics),我們已見到理想透鏡 (A, B, C, D)=(1, 0, -1/f, 1)。對一無焦的系統此矩陣為 (A, B, C, D)=(1/m, 0, 0, m),其中m為系統的放大率。從計算的方面來看,當追跡光線時此常常是方便的方法。例如,ASAP可以快速地評估,理想“透鏡”的效應。在計算上這是比尋常的光線交接點,計算曲面法線,再一曲面接著一曲面應用Snell’s定理來得有效率。更進一步,光學元件鏈的聯合效應可用個別矩陣在適當次序下的乘積。
然而,使用理想透鏡IDEAL命令所得到的結果,是“理想”而非實際。這些過程的非實際也顯示在這一範例中。此處厚透鏡之類,所顯示的是所謂“主面principal planes”在實際上是彎曲的表示。這事實造成真實透鏡的光學像差,其在此完全地被忽略。 14-286 ASAP Primer 入門指南 / 透鏡實體
附錄14A 第14章的程式集 SCRIPTS FOR CHAPTER 14 下面ASAP程式參閱在261頁之第14章“透鏡Entities”。 程式14-1 !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER EXAMPLE ABOVE. !!THE COMMAND SCRIPT INCLUDES THE COMMANDS TO SEE THE RESULT IN THE 3D VIEWER. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED AT THE BEGINNING. SYSTEM NEW RESET COATING PROPERTIES 0 .59 'TRANSMIT' LENS SINGLET 5 16. 9SCHOTTS_K4 RD OBEJCT 'L1' INTERFACE COATING TRANSMIT AIR AIR PLOT FACETS 5 5 V$IEW ASAP Primer 入門指南 / 透鏡實體 14-287
程式14-2 !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER EXAMPLE ABOVE. !!THE COMMAND SCRIPT INCLUDES THE COMMANDS TO SEE THE RESULT IN THE 3D VIEWER. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED AT THE BEGINNING. SYSTEM NEW RESET COATING PROPERTIES 0 .59 'TRANSMIT' LENS SINGLET 4 SCHOTTB_K 7FL 100 1 OBEJCT 'LENS1' INTERFACE COATING TRANSMIT AIR AIR PLOT FACETS 5 5 V$IEW 程式14-3 !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER EXAMPLE ABOVE. !!THE COMMAND SCRIPT INCLUDES THE COMMANDS TO SEE THE RESULT IN THE 3D VIEWER. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED AT THE BEGINNING. SYSTEM NEW RESET COATING PROPERTIES 0 .59 'TRANSMIT' UNITS CENTIMETERS WAVELENGTHS NANOMETERS LENS DOUBLET SCHOTTB_AK 2SCHOOTS_F OBEJCT 'DL1' INTERFACE COATING TRANSMIT AIR AIR PLOT FACETS 5 5 V$IEW 14-288 ASAP Primer 入門指南 / 透鏡實體
程式14-4 !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER EXAMPLE ABOVE. !!THE COMMAND SCRIPT INCLUDES THE COMMANDS TO SEE THE RESULT IN THE 3D VIEWER. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED AT THE BEGINNING. SYSTEM NEW RESET COATING PROPERTIES 0 .59 'TRANSMIT' UNITS CENTIMETERS WAVELENGTHS NANOMETERS !!ENT OBEJCT;DOUBLET SCHOTTB_AK 2SCHOTTS_F 'DL1' SURFACE OPTICAL ELLIPSE OBEJCT '' REDEFINE COLOR thgil eulb3 INTERFACE COATING BARE S"CHOTTB_AK "2V"ACUUM│AIR "SURFACE OPTICAL ELLIPSE OBEJCT '' REDEFINE COLOR egnaroINTERFACE COATING BARE S"CHOTTS_F "2S"CHOTTB_AK "2SURFACE TUBE -1 0 0 OBEJCT '.'2 REDEFINE COLOR thgil eulb3 SURFACE OPTICAL ELLIPSE OBEJCT '' REDEFINE COLOR egnaro4 ASAP Primer 入門指南 / 透鏡實體 14-289
INTERFACE COATING BARE V"ACUUM│AIR "S"CHOTTS_F "2SURFACE TUBE 0 0 OBEJCT '' REDEFINE COLOR egnaro4 INTERFACE COATING TRANSMIT AIR AIR PLOT FACETS 5 5 V$IEW 程式14-5 !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER EXAMPLE ABOVE. !!THE COMMAND SCRIPT INCLUDES THE COMMANDS TO SEE THE RESULT IN THE 3D VIEWER. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED AT THE BEGINNING. SYSTEM NEW RESET LENS IDEAL ; 1-4/ OBEJCT 'L1' PLOT FACETS 7 7V$IEW 14-290 ASAP Primer 入門指南 / 透鏡實體
第 15 章 重新定位幾何形狀及光線 REPOSITIONING GEOMETRY AND RAYS 直到現在,我們使用所建立的幾何形狀,但從未改變其之位置或方向。三枚Cooke三片組範例中的透鏡都是被對準垂直三個全域坐標系的一軸,並將系統置於坐標中心。另一範例,凱薩格林望遠鏡也是如此。產生這些物件的命令,具有足夠的彈性,精確地來產生這些物件以滿足再我們需要的地方。但是當我們需要引進一些簡單如折光的平面與我們選定的光軸呈45度時,我們該怎麼辦?很明顯的ASAP需要提供工具來旋轉及平移幾何形狀到任意位置及方向。 我們已經在到目前為止,我們所介紹的所有光源都是定義在一個平面,該平面垂這本書的開直於三個全域坐標軸之一。光源,類似幾何形狀,也需要平移及旋轉始,就強調光線永遠有到新的位置。我們已經在這本書的開始,就強調光線永遠有一組空間一組空間的的坐標伴隨著,所以並不奇怪它們可以平移及旋轉,如幾何形狀物件坐標伴隨著,它們可所能做的相同方式。 以平移及旋轉,如幾何在現代圖形化電腦環境,它是一個趨勢,希望透過一簡單的按鍵或拖形狀物件所拉方式就可以重新定位幾何形狀物件。不幸的是,光學模型通常需要能做的相同方式。 相當高的精確度。最後,我們將需要輸入數字,不論是角度或距離,來表示我們所要的精確層級。幸運地,ASAP命令都是簡單與直覺的,提供其彈性來移動物件不論是相對或絕對移動。 在本章之最後,我們將示範如何使用變數及表示式在ASAP之Builder中。這個特色將允許你把你的模型在各方面參數化,及讓ASAP來做必須的數學計算,當你調整這些參數時。 ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-291
放置幾何形狀-絕對平移 Placing Geometry-Absolute Translations 如同第一個範例,讓我們假設我們已經使用PLANE命令來產生一個平面鏡,在一全域坐標系統的原點且該平面垂直z軸。在一些案例中,你可能已知在這絕對全域坐標,物件必須放置在坐標系統上的位置。最佳的命令來使用這個狀況是PLACE,其可以在Builder的選項列中尋得,其為System>Geometry>Modifiers>Place>At a Point。如果你想放置此平面鏡在 (, , ),Builder檔顯示列,將看起來像圖。 圖 在Builder中使用PLANE命令來產生一個平面鏡,及使用PLACE命令來放置此平面鏡於一定點。 這個PLANE命令是一個物件的修飾命令,如同INTERFACE及BOUNDS一般。它也可以應用到實體entities(組成物件的建造方塊,或被用在界限物件)。你必須將此PLACE命令放在 (object) 物件或 (entity) 實體定義的下面,緊跟著其他所要修飾的命令。這個修飾命令的次序對大多數的案例都無關緊要。 見第15章附錄,在第317頁的“程式15-1”。 但是現在有一問題必須要問︰事實上,在這平面上什麼點放在點 (, , ) 上?如在第293頁的圖顯示,在此範例中是圓平面的中心在此點上。這位置通常是為了簡單的、表面為基礎的物件案例, PLACE命令在此環境下是最有用的命令。然而,這狀況可以變得更複雜。(見在第314頁的別頁︰“決定參考點”)。當這參考點不是容易被預測或方便使用,你可能要找相對的平移,較容易來使用。 15-292 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
y x z 圖 PLACE命令是一個物件 (object) 或一實體 (entity) 之修飾命令。它將物件或實體的參考點平移到指定的絕對全域坐標。在這案例中,圓形的平面,其啟始的參考點是坐標原點,被平移放置到點 (1, 2, 1)。 平移幾何形狀-相對移動 Shifting Geometry-Relative Translations 雖然ASAP總是工作在單一的、全域坐標系統,但是指定相對移動,經常對使用者更方便來使用。例如,你可以產生一個簡單的長方形反射鏡,沿著z軸5個單位,然後相對它的位置平移。ASAP包含SHIFT命令來完成這個動作。SHIFT是物件的修飾命令,類似PLACE, INTERFACE及BOUNDS。類似PLACE, SHIFT也可以用來修飾不能有物件 (object) 狀態的實體 (entity)。ASAP在Builder中提這個命令三種路徑版本。圖中顯示這三個路徑範例在3D Viewer中所產生的相同結果-在第291頁的圖,圖及圖。 ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-293
圖 使用SHIFT命令的三個Builder範例的結果。 System>Object Modifiers>Shift>One Axes-沿著三個全域坐標軸x, y, z中之一軸平移物件。在這例中這個平移是相對於物件或實體之啟始點位置,其平移單位為系統單位。見圖。 圖 Modifieres>Shift>One Axis的Builder顯示列範例。 見第15章附錄,在第318頁的“程式15-2”。 15-294 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
System>Object Modifiers>Shift>All Axes-以系統單位一指定的量沿著“每一”全域坐標軸x, y, z移動,再次地相對於目前物件或實體的位置。見圖。 圖 Modifiers>Shift>All Axes的Builder顯示列範例 見第15章附錄,在第318頁的“程式15-3”。 System>Object Modifiers>Shift>Vector-以系統單位一指定的量沿著“任一”方向向量移動,你指定的方向向量可以是方向餘弦或球坐標。見圖。 圖 Modifiers>Shift>Vector的Builder顯示列範例。 見第15章附錄,在第319頁的“程式15-4”。 註︰你可以以大於一次的SHIFT命令,來修飾一個物件或實體。全坐標軸ALL Axes或向量Vector語法可以被完成平移,其結果與使用三個分離軸的平移為完全相同。對於多數的平移或多數的旋轉並沒有在光線追跡速度上有差異。當系統資料庫已經建立,一個單一矩陣已經形成,它指定了所有應用到物件的平移與旋轉修飾命令的組合。(見ASAP的在線上說明的MATRIX命令或參考ASAP參考導引的細節)。永遠選擇最方便及最具邏輯化的方法。 旋轉幾何形狀 Rotating Geometry 你已經知道如何平移物件或實體到系統中任意的位置,現在你需要學習剩下的,如何旋轉物件或實體到任意方向,來使所建立的幾何形狀具有彈性。旋轉的動作是由兩種形式的旋轉ROTATE命令來完成。選擇其中之一,其對你的狀況具有最方便性與邏輯化。 ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-295
System>Object Modifiers>Rotate>Axis-繞著三個全域坐標軸之一旋轉這個物件,或繞著一條平行光軸但錯開的直線旋轉。如果你指定x軸,舉例,ASAP旋轉這個物件繞著一條直線平行x軸,但是通過我們所指定的一個點y,z。旋轉的角度是以度度量為單位。 角度的符號使用右手定則。這個符號的慣用法顯示在296頁的圖。如果沒有給定偏移點,這個平移點內訂為物件或實體之參考點。 y x45º z 圖 Axis版的旋轉ROTATE命令,允許你繞著一條直線旋轉一個物件,其平行三個全域坐標軸之一。在這範例中,這個鏡面是繞著一條直線旋轉,該直線平行x軸且通過y=0,z=1。旋轉的符號遵守右手定則︰如果你將你的右手拇指順著旋轉軸,你彎曲的其他四指,指出正的旋轉方向。 見第15章附錄,在第319頁的“程式15-5”。 15-296 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
System>Object Modifiers>Rotate>Vector-繞任一方向向量旋轉且該向量通過任一點。這個旋轉ROTATE命令是顯示在第297頁的圖。你必須指定一方向向量來代表旋轉軸,及該向量通過的一個點。你可以選擇這個命令版本,如果你期望在物件的坐標系統展現複合的旋轉。在這案例中,你需要知道或能計算目前當地local軸的旋轉方向,在每一隨後的旋轉之前。 y xRotation Axis 90º z 圖 旋轉命令ROTATE中的向量Vector版的旋轉命令比軸Axis版的旋轉命令更一般化。它允許你繞任一軸旋轉,指定一方向向量及該向量通過的一個點。在這範例中,我們顯示一個非常複雜的旋轉︰這旋轉軸是在y,z平面,對z軸呈40度,且通過全域坐標系統的原點,我們已經旋轉一個拋物面反射器,繞這一軸旋轉90度。 ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-297
見第15章附錄,在第320頁的“程式15-6”。 註︰如同平移命令,你可以對一單一物件或實體應用多次的旋轉命令。然而,要記得ASAP是在全域坐標系統執行展現所有的旋轉。沒有一組當地坐標軸local axis會與物件一起旋轉。如上所強調的,當對單一物件多次旋轉或平移時,沒有計算速度的減慢處罰。到最後,所有的平移或旋轉都在系統資料庫中都合併縮小為一單一矩陣。 族群化幾何形狀物件 Grouping Geometry 若我們想要重置、平移、或旋轉光學元件,其包含許多獨立的曲面,將如何?例如,我們的Cooke三片組包含9個面。我們是否需要插入9個分離的SHIFT及ROTATE命令來完成這任務?答案是:“不必”。ASAP提供族群化GROUP命令,它允許我們將數個物件族群化,然後可以一起移動它們。你將在Builder選項中發現它,在System>Object Modifiers。 GROUP命令的使用顯示在下面的圖及次頁第299頁的Builder顯示列。 y x 45º z 15-298 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
圖 族群化GROUP命令允許我們暫時的群組化一組物件,所以,它們可以一起被平移或旋轉。Builder檔顯示Cooke三片組定義在機械分解立體化透鏡序列後的最後幾行(見第14章章末的練習)。我們已使用“?”的萬用字來圈定所有以“Cooke”為開頭的物件。這選取的族群物件被沿z軸平移60 mm,然後繞一平行x軸且通過y=0,z=30的直線旋轉。 見第15章附錄,在第320頁的“程式15-7”。 所有Cooke三片組的所有元件都被選取族群化,然後一起平移及旋轉。你可以藉由在Group列中Objects格中列出它們的清單,告訴ASAP那些物件是被選取族群的一員。你有數個選擇來執行這Group命令︰ •列出物件名字。你可以包含每一物件的名字在一族群,以空白間隔。例如,“Front Surface”“Back Surface”“Tube”“ Detector”將造成一族群,其內有4個有名字的物件。注意用在名字中使用"符號,名字中包含空白鍵。 •使用萬用字列出物件名字。在第295頁中顯示的範例,我們只簡單地寫出Cooke.?其中的符號“?”是萬用字。任何物件之名字以“Cooke”為字首的,當然是Cooke“總成assembly”的一部份,都包含在此物件族群中。 •以相對參考點列出物件。例如,假若你輸入.1 .3 .4,ASAP將第1,第3,第4物件作族群物件定義,其物件編號的計算為自在Builder中Group命令的位置向上數整數第1, 第3, 第4元件。 •以絕對參考點列出物件。假若你輸入 1 2 3。ASAP將第1,第2,第3元件選取出來為一族群,其物件編號的計算自Builder的頂部算下來。 在GROUP命令後,任一平移或旋轉都將應用到族群中的全部物件。PLACE或ROTATE命令預設內訂的參考點是物件族群中的第1物件的參考點。ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-299
註︰當嘗試使用Group命令到指定其他物件的修飾命令(例如INTERFACE)到一物件族群,此Group命令是傾向於只是暫時的族群化選取物件,所以他們可如同一個單位般被移動。 平移及旋轉光線 Shifting and Rotating Rays 光線完全光線完全以與幾何形狀物件相同的方法平移及旋轉,使用相同的命以與幾何形狀物件令,如你在第7章已經看到的,在ASAP中光線是空間伴隨有方向向相同的方量的點。應用平移及旋轉到這些光線對ASAP是一件簡單的事,好像法平移及旋轉,使它們是相似的箭號幾何形狀實體 (entities),圖顯示一平行光線的用相同的格子光源,初始位置定位於坐標原點,圖中顯示這些光線已被平移及命令。 旋轉。 在使用SHIFT命令在光線與幾何形狀時,其兩者間的的不同是不易弄清楚的。在光線被產生後SHIFT命令只能被使用一次,當使用時此SHIFT命令應用到所有目前所選擇的光線。假如第二個SHIFT命令需要時,SHIFT命令必需重新選擇要被平移的光線群。 令 15-300 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
圖 光線的旋轉及平移與幾何形狀物件的旋轉及平移完全相同。在這圖中,一個長方形的邊緣是顯示光線格子的邊緣,來幫助顯示光線起始定義的平面,該平面被平移及旋轉時,只修飾這些光線的位置及方向。在這一例中,光線沿著每一光軸被平移一個單位,然後,繞一平行x軸,且通過格子光源中心點的直線 (y=1,z=1) 旋轉。 見第15章附錄,在第323頁的“程式15-8”。 註︰當使用PLACE命令,或在任一版本的ROTATE命令中其使用預設內訂的參考點,你需要特別注意光源的參考點。ASAP通常使用所有光線的中心(平均位置)為預設內訂參考點,而不是任何相對於起始位置的點。這個是PLACE命令與ROTATE命令的行為不同,當它們運用到幾何形狀時。為了避免混淆,當平移光源時,我們強烈的建議你使用SHIFT命令,而不要用PLACE。而且當旋轉時,一定要指定一個參考點。 移動光線 Moving Rays ASAP對置放placing光線或平移Shifting光線與移動光線 (Moving) 是當光線使用OEMV不同的。ASAP包含MOVE命令,它允許我們將光線沿著它們的方向命令移動向量滑動就好像珠子在弦上滑動一樣。我們在第11章考慮過這個,時,系統的幾何形當我們在討論尋找一組光線的最佳焦點時。在這個狀況,我們前後移狀是被忽略的。動光線,沿著它們最後的軌跡前後移動,來尋找空間中的一個位置, 那裡光線盡可能的靠在一起縮小光線點陣範圍。這個MOVE命令展現相類似的功能,允許我們在沿著它們流線軌跡的不同位置來重新定位光線。但是移動光線如何與追跡光線不同呢?答案是簡單的︰當光線使用MOVE命令移動時,系統的幾何形狀是被忽略的。MOVE命令造成光線直接通過所有插入其中的幾何形狀物件,沒有反射,沒有折射,或其光通量以任何型式轉變。 何時你需要沿著它們的方向向量移動MOVE光線?我們已經看到一個明顯的範例,當我們使用SOURCE POSITION來定義格子光源光線。你可以回想第8章,這個命令被用來產生一組在一平面的光線,其方向好像光線從空間中一指定點發射而來。這個MOVE命令允許我們,事實上,從這個點獲得光線。然而,要注意的是這些光線的方向不曾改變,改變的只是它們的位置。 你可以在任何時刻移動光線,你可能想要重新定位,在光線起始定義ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-301
的時候,或在光線追跡圖中之時,或在你的系統分析的一部分。就是為了這個理由,MOVE命令可以出現在ASAP不同的圖像使用者介面(GUI)。你可以在Rays menu選項中尋得 (Rays>Move Rays),或在分析選項Analysis menu (Analysis>Move Rays),也可以在Builder menu選項 (Rays>Ray Modifiers>Move) 中尋得。在所有的案例中,基礎的ASAP命令是MOVE。在第299頁的圖中顯示不同的選擇可藉由ASAP選項產生的對話框中,或在Builder的次選項中選定。 圖 光線可以被沿著它們的方向向量移動,藉由在Builder中輸入MOVE命令(上部),或使用對話盒(下部)。這個Move Rays對話盒可以從Rays及Analysis選項中尋得。 15-302 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
圖到顯示每一種選擇的範例。 移動若干距離 沿Z軸移動 5 個單位 圖 Move by Distance移動若干距離。每一光線從它的起始位置沿著全域座標軸之一軸移動特定距離。ASAP命令語言也包含一種MOVE BY版本的命令來沿著方向向量移動一特定距離,但這個命令並不包含在Builder或其選項中。 見第15章附錄,在第323頁的“程式15-9”。 ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-303
移動到位置 移動到 z = -5 圖 Move to Location移動到位置。每一光線從座落於z=3平面的起始位置,移動到其座標軸之一達到特定值(直到z=-5在這個例中)。 見第15章附錄,在第324頁的“程式15-10”。 15-304 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
移動到定點 到(0, 0, 0) 圖 Move to Point移動到定點。每一光線從其起始位置移動到一定點或者盡可能接近到這個點。在這個範例中,光線移到 (0,0,0),該點也是由SOURCE POSITION命令指定的點。假如這個指定的點不在給定的光線方向向量上,ASAP移動這些光線到最接近的點。 見第15章附錄,在第324頁的“程式15-11”。 ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-305
移動到平面 圖 Move to Plane 移動到平面。每一光線從其起始位置移動到任一平面。這個平面由單一點在其表面及垂直此面的向量所指定。在這個範例中,這個面通過 (0, 0,-5),其傾斜相對z軸10度。 見第15章附錄,在第324頁的“程式15-12”。 15-306 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
移動到球面 圖 Move to Sphere 移動到球面。每一光線從其起始位置移動到任一球面。這個球面可以由其半徑及中心座標來指定。 見第15章附錄,在第325頁的“程式15-13”。 在Builder中使用變數及數學表示式 Using Variables and Expressions in the Builder ASAP的Builder讓你定義及使用變數。你的檔案也能夠包含數學表示式,其可以做一些基本計算。Builder中任何一個格子,其期待一個數字也接受一個變數的名字或一個數學表示式。當這個標題不特別為重新定位物件或光線,你有這個機會來介紹它。ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-307
當你的模型變得愈來愈複雜時,你會發現開始介紹程式元件給你的系統是非常有用的。變數及數學表示式是這種例子之一。 藉由改變變數及數學表示式的使用,允許你將模型參數化。藉由改變一個或多一個或多個變數的值,你可以有效地修飾系統的所有元件,該系統的元件依賴個變數的值,你可這些參數。一個Builder檔使用變數及數學表示式的範例顯示在圖以有效地。我們可以明確的計算球面透鏡的弧矢水平方向的高度(弛垂修飾系統的所有元sag高度,允許我們訂定透鏡邊緣的開端與末端在適當的位置。這個件,該系值只依賴光學曲面的大小幅度(直徑)及其曲率半徑。使用統的元件依賴這些BOUNDS命令來做這個工作可能會較容易,我們正在使用這種方參數。 法,只是為了來顯示變數及數學表示式的使用。 圖 顯示Builder如何使用變數及數學表示式來取代數值引數的範例。我們已經定義一個對稱的單一透鏡,具有幅面半徑A及曲率半徑R。用這些參數我們也已經定義另一個變數,名稱為SAG其代表球面的弧矢高度 (sag),我們可以藉由改變A及R來改變透鏡。變數ANGLE被用來控制格子光源中光線的方向。 見第15章附錄,在第326頁的“程式15-14”。 顯示在圖的Builder檔中,我們已經定義四個變數使用System>Setup>Variable在Builder選項。我們已經指定明確的數值到命名為A及R的變數。命名為SAG變數的起始值是使用一個數學表示式計算的。在這個例子中,這個數學表示式是弛垂sag方程式(見在第118頁的第6章補充附錄,“二次圓錐曲線的數學”)。我們也定義一個變數稱為ANGLE我們可以用它來改變格子光源的方向。 15-308 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
在SOURCE DIRECTION命令中,ASAP計算這個角度的正弦及餘弦來形成方向向量。 變數及數學表示式的基本規則 Basic Rules for Variables and Expressions 我們將在第23章詳細討論變數及數學表示,“執行命令程式”,在我們介紹ASAP命令語言後。在那之前,這裡有一些基本規則讓我們在Builder中開始使用這些特性。 •變數的名稱最長可以32字元,但是字頭必須是一個字母。 •變數名稱被使用在Builder的格子中取代數字時,必須加括號。括號使ASAP在執行程式時,會以變數的數值代替。假如變數是一個大的數學表示式的部分時,這個括號並不需要。 •數學表示式是數學符號、函數、變數及數值的集合,其可以產生單一的數值。 •ASAP數學表示式不可以包含空格。 •完整的ASAP數學運算符號可以從線上說明Help的數學運算符號mathematical operators,或見本書的第23章。 •對三角函數而言,如果引數以角度表示,則用中括號,若引數以弳度量表示,則用小括號。 ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-309
摘要 Summary 在這一章中我們已經討論了以下的新命令。 ASAP命令 選項 描述 PLACE... Builder: 移動一個物件,實體或光源到System>Object 一指定位置(絕對)。 Modifiers>Place At a Point SHIFT... Builder: 移動一個物件、實體或光源在...Object Modifiers>Shift> 一全域的座標軸(相對)。 One Axis SHIFT... Builder: 移動一個物件、實體或光源在...Object Modifiers>Shift> 三個全域座標軸(相對)。 All Axes SHIFT... Builder: 移動一個物件、實體或光源在...Object Modifiers>Shift 一任意方向上的一指定距離>Direction (相對) ROTATE... Builder: 旋轉一個物件、實體或光源繞ABOUT ...Object Modifiers> 一直線平行-座標軸旋轉-指Rotate>Axis 定角度。 ROTATE... Builder: 旋轉一個物件、實體或光源繞...Object Modifiers 一任一軸旋轉、指定角度。 >Rotate>Vector GROUP Builder: 暫時群組化選取一組物件族群...Object Modifiers>Group 為一整體來平移或旋轉。 15-310 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
ASAP命令 選項 描述 MOVE Rays>Move Rays 移動光線沿他們的MOVE TO Analysis>Move Rays 方向向量 MOVE BY Builder: System>Object Modifiers>Move>... <Name>=Value Builder: 定義及初始化-變System>Setup>Variable 數 大多數,ASAP幾何形狀定義都太令人約束的,以致不能產生實體物件或光源在任意位置或任意方向。ASAP提供PLACE, SHIFT,及ROTATE命令來克服這些限制。這裡是一些重要的要點值得在摘要中強調︰ •相同的命令及語法被用來平移 (shifting) 幾何形狀或光線,因為ASAP的光線是在空間的點且具有方向。他們可以被平移或旋轉如同實質上的“箭頭”。 •PLACE及SHIFT命令展現相同的函數(平移物件objects、實體entities及光線)。PLACE命令使用一參考點的絕對坐標位置。正確地使用它,你必須小心地注意實體、物件或光線組的參考點。SHIFT命令展現的是相對偏移。 •所有ASAP旋轉,甚至複合旋轉,都是展現相對於全域的坐標系統。對旋轉而言沒有當地local坐標系或坐標軸。 •群組命令可以事前群組化選取一組物件來一起平移、旋轉。物件族群的選取是暫時的,且只應用到相關的SHIFT,PLACE或ROTATE命令,其緊隨在Group命令之後。 •ASAP允許我們替換-變數或數學表示式進入Builder的格子,那裡通常是期待一數值。 ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-311
練習8︰單片透鏡的最佳焦點 Exercise 8: Best Focus of a Singlet Lens 這個練習結合許多至目前這本ASAP Primer所介紹的概念。若需要再檢視一些概念或命令,我們將包含相關章節參考資料來幫助你。 1. 使用透鏡實體 (entities) 來定義由Schott SK-4組成的一單片透鏡,其具有焦距25 cm。此透鏡具有5 cm的幅面直徑,及玻璃中心厚度為1 cm。(回想在第267頁之第14章“單片透鏡”)。讓彎曲因子為一變數,名稱為BEND,並設其初值為0。 2. 機械分解立體化此透鏡來產生兩個光學表面OPTICAL Surface 及代表邊緣的管狀物TUBE(複習在273頁之第14章的“轉換透鏡為以表面為基礎的物件”)。改變coating鍍層的特性從預設內定的BARE到一100% 穿透的coating鍍層。管狀物Tube則為吸收的coating鍍層(件在第72頁之第4章的“介面命令”)。 3. 產生一光闌孔徑,放置在透鏡之前一個矩距離,具有每一邊長為8 cm的正方形,及內直徑為4 cm的圓形通光孔(複習在236頁之第13章的“擠壓邊緣”)。 4. 使用一個曲面為基礎的平面(複習在113頁之第6章的“平面表面”)來產生一個圓形的檢光器35公分距離前面的透鏡,檢光器並具有直徑10 cm。 5. 證實你的幾合形狀使用Builder中的Preview函數及由執行Builder並建一個Profile(複習在89頁之第5章的“Profile命令”)。將游標放在Plot視窗,來確認這個距離(複習在91頁第5章的“Plot檢視視窗”)。 6. 設定二個準直的直角格子光源,每邊為6公分,它們將在光欄孔徑數公分前被建立,對兩個光源起始都設定為11 × 11的光線。第一個光源光線應使其平行z軸(複習在第135頁之第8章的“長方形格子光源的平行光線”)。旋轉第二光源5度,繞一平行x軸直線,同時該直線通過格子光源的中心。 7. 證實光源由使用Rays>Graphics>Plot Rays 2D,顯示一個幾何形狀的刻面圖在相同的View圖。(複習在162頁之第9章的“結合光線與幾何形狀圖像”)。 15-312 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
圖 練習8︰幾何形狀的刻面圖。 8. 追跡光線在幾何形狀物件的Profile圖的上面。(複習在第179頁之第10章的“追跡對話框”。) 9. 經過光線追跡後,孤立隔離在檢光器上的光線。(複習在第202頁之第11章的步驟一, “選擇光線來分析”)。然後,在檢光器平面上做一個光線的點陣圖。(複習在第206頁的“點陣圖”)。 10.將檢光器上的第一個光源(沿著光軸)的光線孤立。(複習在第202頁之第11章步驟2,“選擇光線來分析”)。尋找這些光線的最佳焦點,然後移動光線到這個位置。(複習在第209頁第11章的“尋找最佳焦點”)。 11.在檢光器上僅選擇從第二個光源來之光線。使用MOVE命令來滑動這些光線,從離軸光源到與前一步驟之所決定最佳焦點相同的z軸位置,其對沿光軸光線而言為最佳焦點,繪製這些被移動後的光線的點陣圖。 12.增加光線的數目到101 × 101,重複光線追跡,但是不顯示任何圖像。 13.重複上面的分析步驟,再次產生二個點陣圖。 14.以不同的彎曲 (bending) 因子變數來實驗,檢示透鏡的形狀如何來影響二個格子光源的成像品質。 ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-313
決定參考點 Determining Reference Points每一ASAP幾何實體Entity都有一個來猜一個邊緣為基礎物件 (object) 參考點。就是這個點移動到由PLACE或實體 (entity) 的參考點它可能相命令所指定的絕對座標。對曲面為基當困難。我們經常建造一個邊緣為礎的物件而言,這個參考點通常是曲基礎物件,是透過擠壓Extruding面與座標軸的交點。甚至於在凱薩格或掃過Sweeping一條曲線來完林主反射鏡中,該反射鏡中央有一個成。在這種情況下,ASAP選擇哪洞,其反射面與z軸有一虛擬的交一個點做參考點呢?例如,當我們點,這個不存在的反射鏡鏡頂,仍然藉由掃過一直線來產生一個物件,是這個物件的參考點。當你展示絕對這個參考點,事實上,就是指定的移動時,這個點仍然是最方便的參考直線LINE定義的第一個點為參考點。 點。對於一個曲線指定使用 POINTS命令指定的曲線,這個預如果你已產生一個物件有偏移量,如設的參考點,事實上就是全域座標同許多表面的定義所允許的該曲面與系統的原點,甚至於這個實體x軸的交點仍然是參考點,而不是以Entity被定義離這個點非常遠。 物件的中心為參考點。如果你計畫使 用PLACE命令來移動你的幾何形狀物在你無法確定參考點的情況下,最件,它可能是比較好,避免使用偏移好是產生一個沒有平移的物件,藉量的選項,此選項是被內建在命令由執行Builder及直接在系統資料中。 庫諮詢這物件的特性。(見第107 頁之第5章補充附錄的“系統資料管狀物命令的參考點也可以以數種方庫”)。在產生這個物件後,在法來決定。如果你指定軸為+X,+YASAP Workspace工具區視窗選擇或+Z,這個參考點的位置是在管狀Object tab選項,擴展繪圖樹狀檔物沿著其對稱軸的正方向的末端。如案,尋找這個正在被談論的物件。果你指定-X,-Y或-Z,參考點是當你在物件的名字上按滑鼠右鍵,在管狀物沿著軸的負方向的末端。如同時在右下拉式選單選擇果沒有正負號出現在指定的座標軸的Properties,ASAP在Command 規格,參考點是訂在管狀物的中央。Output視窗列出這個物件的資料庫再一次注意,無論如何參考點不是一Entry。這個參考點是第一個列在個在管狀物上真實的點。當使用Entity定義的點。(見第315頁的PLACE命令時,對一給定的曲面為基圖) 礎實體Entity隨時參考線上說明。 15-314 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
圖 一個指定的物件之資料庫Entry在Command Output命令輸出視窗的列印輸出。 ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-315
15-316 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
附錄15A 第15章的程式集 SCRIPTS FOR CHAPTER 15 下面的ASAP程式是參考第15章,“重新定位幾何形狀與光線”。 程式15-1____________________________________ !!THE COMMAND SCRIPT INCLUDES THE COMMANDS TO SEE TH RESULT IN THE 3D VIEWER. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED AT THE BEGINNING. SYSTEM NEW RESET COATING PROPERTIES 1 0 'REFLECT' SURFACE PLANE ELLIPSE OBEJCT 'MIRROR1_' INTERFACE COATING REFLECT AIR AIR PLACE .20 PLOT FACETS 5 5 V$IEW ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-317
程式15-2___________________________________ !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER !!TO DEMONSTRATE THE SHIFT 1 COORDINATE EXAMPLE. !!3 SEPARATE SHIFTS SHOW THE SHIFT IN EACH COORDINATE DIRECTION. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED. !!THE SCRIPT INCLUDES COMMANDS TO SEE THE RESULT IN THE 3D VIEWER. SYSTEM NEW RESET COATING PROPERTIES 1 0 'REFLECT' SURFACE OPTICAL 0* 1- ELLIPSE OBEJCT 'MIRROR1' INTERFACE COATING REFLECT AIR AIR SHIFT X 1 SHIFT Y 1 SHIFT Z1 PLOT FACETS 5 5 V$IEW 程式15-3____________________________________ !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER !!TO DEMONSTRATE THE SHIFT ALL COORDINATES EXAMPLE. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED. !!THE SCRIPT INCLUDES COMMANDS TO SEE THE RESULT IN THE 3D VIEWER. SYSTEM NEW RESET COATING PROPERTIES 1 0 'REFLECT' SURFACE OPTICAL 0* 1- ELLIPSE OBEJCT 'MIRROR'2 INTERFACE COATING REFLECT AIR AIR SHIFT 1 1 1 PLOT FACETS 5 5 V$IEW 15-318 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
程式15-4___________________________________ !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER !!TO DEMONSTRATE THE SHIFT ALONG DIRECTION EXAMPLE. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED. !!THE SCRIPT INCLUDES COMMANDS TO THE RESULT IN THE 3D VIEWER. SYSTEM NEW RESET COATING PROPERTIES 1 0 'REFLECT' SURFACE OPTICAL 0* 1- ELLIPSE OBEJCT 'MIRROR3' INTERFACE COATING REFLECT AIR AIR SHIFT 2ALONG .5 77PLOT FACETS 5 5 V$IEW 程式15-5____________________________________ !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER !!TO DEMONSTRATE THE ROTATE ABOUT AXIS EXAMPLE. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED. !!THE SCRIPT INCLUDES COMMANDS TO THE RESULT IN THE !!3D VIEWER FROM BEFORE AND AFTER THE ROTATION. SSTEM NEW RESET COATING PROPERTIES 1 0 'REFLECT' SURFACE OPTICAL Z 21- 0 RECTANGLE OBEJCT 'MIRROR1_' INTERFACE COATING REFLECT AIR AIR REDEFINE COLOR 3 PLOT FACETS 5 5 !!PLOT BEFORE ROTATION OBEJCT .1 ROTATE X 45 0 1 PLOT FACETS 5 5 !!PLOT AFTER ROTATION V$IEW ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-319
程式15-6____________________________________ !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER !!TO DEMONSTRATE THE ROTATE ABOUT POINT EXAMPLE. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED. !!THE SCRIPT INCLUDES COMMANDS TO SEE THE RESULT IN THE !!3D VIEWER FROM BEFORE AND AFTER THE ROTATION. SYSTEM NEW RESET COATING PROPERTIES 1 0 'REFLECT' SURFACE OPTICAL Z 20* 1- ELLIPSE OBEJCT 'MIRROR1_' INTERFACE COATING REFLECT AIR AIR REDEFINE COLOR 3 PLOT FACETS 5 5 !!PLOT BEFORE ROTATION OBEJCT .1 ROTATE 09 ABOUT 0 .64 0 0 0 PLOT FACETS 5 5 !!PLOT AFTER ROTATION V$IEW 程式15-7____________________________________ !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER !!TO DEMONSTRATE THE USE OF THE GROUP COMMAND !!TO SHIFT AND ROTATE A GROUP OF OBEJCTS. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED. !!THE SCRIPT INCLUDES COMMANDS TO SEE THE RESULTS IN THE !!3D VIEWER FROM BEFORE AND AFTER THE SHIFT AND ROTATE. SYSTEM NEW RESET UNITS MILLIMETERS WAVELENGTHS 550 NANOMETERS COATING PROPERTIES 0 0 'ABSORB' 0 1 'TRANS' !! ENT OBEJCT;SEUQENCE RADI 'COOKE' 'COOKE' !! 0 0 0 0 0 1 16. 9 0 0 SCHOTTS_K4 15-320 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
!! 16. 0 0 AIR !! 0 0 SCHOTTF_15 !! 20 0 AIR !! .804 520. 790 0 SCHOTTS_K4 !! 70 0 AIR !! SURFACE OPTICAL ELLIPSE 16. 916. OBEJCT '' REDEFINE COLOR thgil eulb3 INTERFACE COATING TRANS SCHOTTS_K4 VACUUM |AIR SURFACE OPTICAL ELLIPSE 16. 916. OBEJCT '' REDEFINE COLOR thgil eulb3 INTERFACE COATING TRANS VACUUM |AIR SCHOTTS_K4 SURFACE TUBE 16. 916. 16. 916. 90 0 OBEJCT '.'2 REDEFINE COLOR thgil eulb3 SURFACE OPTICAL ELLIPSE OBEJCT '' REDEFINE COLOR egnaro4 INTERFACE COATING TRANS SCHOTTF_15 VACUUM |AIR SURFACE OPTICAL ELLIPSE OBEJCT '' REDEFINE COLOR egnaro4 INTERFACE COATING TRANS VACUUM |AIR SCHOTTF_15 SURFACE TUBE 0 0 OBEJCT '' REDEFINE COLOR egnaro4 ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-321
SURFACE OPTICAL 520. ELLIPSE OBEJCT '.'7 REDEFINE COLOR thgil eulb 3 INTERFACE COATING TRANS SCHOTTS_K4 VACUUMA|IR SURFACE OPTICAL ELLIPSE OBEJCT '.'9 REDEFINE COLOR thgil eulb 3 INTERFACE COATING TRANS VACUUMA|IR SCHOTTS_K4 SURFACE TUBE 0 0 OBEJCT '' REDEFINE COLOR thgil eulb 3 PLOT FACETS 5 5 !!PLOT BEFORE SHIFT AND ROTATION GROUP COOKE. ? SHIFT Z60 ROTATE X 45 0 30 GROUP 1-0 SCALE FROM MILLIMETERS PLOT FACETS 5 5 !!PLOT AFTER SHIFT AND ROTATION V$IEW 15-322 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
程式15-8 _____________________________ !!THIS IS THE COMMAND SCRIPT PROUDCED BY RUNNING THE BUILDER !!TO SHIFT AND ROTATE A SET OF RAYS. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED. !!THE SCRIPT INCLUDES COMMANDS TO SEE THE RESULTS IN THE !!3D VIEWER FROM BEFORE AND AFTER THE SHIFT AND ROTATE. SYSTEM NEW RESET ARROWS 10 GRID RECT Z0 4 4 SOURCE DIR 0 0 1 PLOT RAYS 1 !!PLOT BEFORE SHIFT AND ROTATON SHIFT 1 1 1 ROTATE X 30 1 1 PLOT RAYS 1 !!PLOT AFTER SHIFT AND ROTATION V$IEW 程式15-9____________________________________ !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER !!TO MOVE A SET OF RAYS WITH MOVE BY DISTANCE. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED. SYSTEM NEW RESET GRID RECT Z3 4- 4 4- 4 1 1 2MOVE BY Z5 RETURN ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-323
程式15-10___________________________________ !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER !!TO MOVE A SET OF RAYS WITH MOVE TO LOCATION. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED. SYSTEM NEW RESET GRID RECT Z3 4- 4 4- 4 1 1 2SOURCE POSITION 0 0 0 MOVE TO Z5- RETURN 程式15-11_________________ _______________ !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER !!TO MOVE A SET OF RAYS WITH MOVE TO POINT. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED. SYSTEM NEW RESET GRID RECT Z3 4- 4 4- 4 1 1 2SOURCE POSITION 0 0 0 MOVE TO POINT 0 0 0 RETURN 程式15-12___________________ _____________ !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER !!TO MOVE A SET OF RAYS WITH MOVE TO PLANE. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED. SYSTEM NEW RESET GRID RECT Z3 4- 4 4- 4 1 1 2SOURCE POSITION 0 0 0 MOVE TO PLANE 0 0 5- 0 RETRUN 15-324 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
程式15-13_____________ _____________ !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER !!TO MOVE A SET OF RAYS WITH MOVE TO SPHERE. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED. SYSTEM NEW RESET GRID RECT Z3 4- 4 4- 4 1 1 2SOURCE POSITION 0 0 0 MOVE TO SPHERE 5 0 0 0 RETURN ASAP Primer 入門指南 / 重新定位幾何形狀及光線 15-325
程式15-14_______________________________________ !!THIS IS THE COMMAND SCRIPT PRODUCED BY RUNNING THE BUILDER !!TO DEMONSTRATE THE USE OF VARIABLES AND EXPRESSIONS. !!THE INITIAL COMMANDS TO RESET THE SYSTEM ARE INCLUDED. SYSTEM NEW RESET UNITS CENTIMETERS MEDIA 'GLASS' COATING PROPERTIES 0 1 'TRANSMIT' 0 0 'ABSORB' A=.25 R=10 SAG=RS-RQT R(A-2^ )2^ANGLE=5 SURFACE OPTICAL R( )0 ELLIPSE A( )A( )OBEJCT '' INTERFACE COATING TRANSMIT AIR GLASS SURFACE OPTICAL R(- )0 ELLIPSE A( )A( )OBEJCT '' INTERFACE COATING TRANSMIT AIR GLASS SURFACE TUBE ZS(AG )A( )A( )1S-AG A( )A( ) OBEJCT '' INTERFACE COATING ABSORB AIR GLASS GRID ELLIPTIC Z1- A(- )A( )A(- )A( )11 11 SOURCE DIR 0 SINA[NGLE ]COSA[NGLE ]RETURN 15-326 ASAP Primer 入門指南 / 重新定位幾何形狀及光線
第 16 章 擴展光源 EXTENDED SOURCES 直到現在我們已經使用的格子光源,只適用於模型化點光源,或光源在無窮遠處 (SOURCE DIRECTION) 或光源在有限距離處 (SOURCE POSITION and SOURCE FOCUS)。這些光源對於模擬“成像系統”非常有用,但是對“照明問題”則幫助較少。一個典型的照明光源是擴展光源。這個擴展可以被視為一組空間上非常靠近的點光源,其擴展在有限的面積或者體積發射光線。一個範例是白熾燈絲之類,使用在閃光燈或汽車車燈。高密度的放電光源(弧光燈)也是擴展光源,從電漿放電容積發出光來。 所有ASAP中的擴展光源模型都是以隨機來決定其特性的。ASAP自動的產生一組隨機光線,或在一表面,或在一體積。這組光線是隨機分布的放置在指定的光線表面或體積限制。光線的方向也是隨機分布的,雖然限制可能被加入在統計上的方向分布。 ASAASAP的長處之一,就是它有能力產生接近實際的擴展光源模型,伴P的長處之一,就隨著其強大功能,可以在合理的時間內作統計上大數量的光線追跡。是它有能力產生接近實如你將在本章中看到的,ASAP允許我們將任一個物件object或實體際的擴展光entity轉換為發光體表面。這個彈性,依著光線強度分布適當的模擬白源模型,伴隨著光源的熾燈表面的物理,允許我們來製作一個大型的擴展光源的優秀模型。功率在合理我們也可以修飾這隨機光線的光通量,根據它們的位置及方向。就是的時間內作統計上大數這種方法,我們可以改變此基本光源,使它們吻合實驗室量測或光源量的光線追製造商的特性報告。模型化的詳細過程,也稱為光線切趾法光束波形跡。 調整apodization,超越本書Primer的範圍,但是進階的光源模型化技術在本章末有簡要的描述。這些方法將在ASAP技術導引“More About Source”中詳細討論。 ASAP Primer 入門指南 / 擴展光源 163-27
發光的圓盤及長方形 Emitting Disk and Rectangle 你可以發現本章中所討論的光源存在於Builder選項Rays>Emitters。兩種圓盤 (Disk) 和長方形 (Rectangle) 選擇,都產生一組隨機的光線,分布在想像平面的表面(見圖)。這個“隨機”是關鍵要素,在所有ASAP的發光體(見在346頁補充附錄,“隨機亂數產生器”)。這發光圓盤 (EMITTING DISK) 及發光長方形 (EMITTING RENTANGLE) 命令的不同,只在於平面的外緣輪廓形狀。這些命令可能是適當的光源來模擬一個平面、熱的、發光金屬,例如燈絲帶或在發光二極體晶元的表面。真實由Builder產生的ASAP命令,產生發光圓盤及發光長方形,可以顯示在下面的參考程式。 見第16章附錄,在第347頁的“程式16-1”。 圖 ASAP發光圓盤 (EMITTING DISK) 及發光長方形 (EMTTING RECTANGLE) 產生一組隨機光線,其光線產生於以橢圓為邊界之平面(上圖)及以長方形為邊界之平面(下圖)。包含光線的位置及方向,都是在特定的限制下,隨機產生。橢圓形及長方形邊緣增加到這些顯示圖,來幫助清晰了解這兩種光源的限制。並沒有真實的ASAP幾何形狀,被這些命令產生。 一個發光圓盤的範例,顯示在圖。 163-28 ASAP Primer 入門指南 / 擴展光源
圖 ASAP發光圓盤 (EMITTING DISK) 命令,在橢圓面上產生一組隨機光線。這個範例,在兩個坐標軸設定圓錐角皆為30度,所以沒有產生光線,其方向超過30度的限制。 顯示在圖之Builder列,是由Rays>Emitters>Disk產生。Builder列的第一個參數是發光體的軸Axis。 ASAP Primer 入門指南 / 擴展光源 163-29
你的選擇是限制在:當你在這格子按兩下時,所產生的下拉式資訊框中所列的選項。坐標軸定義了這個平面,光線最初在該平面產生。雖然,你可以如第十五章所描述的旋轉光源,來獲得其他的方向,該平面光源必須與全域坐標軸之一垂直。你可以選取正方向或負方向為坐標軸的方向。因為我們模擬一個表面發光體,這光線方向最多充滿一個半球。沿著我們所選之坐標軸決定這個半球的光線是在正或負的方向。在我們之例中,光線被產生在+z方向。 三個資訊格子,Location, Semiwidth X和Semiwidth Y決定了發光體圓盤面的位置與大小。如果你定義一個以表面為基礎的平面,雖然沒有真實的曲面被產生,但是意義是相同的。我們只是正在產生一個虛擬的表面,光線分布在此表面。待會兒,我們將討論如何使ASAP物件轉變為發光表面(見第340頁的“發光物件”)。 在下一個所需要的參數是Ray Count,它是這個發光體所產生的隨機光線的總數。 在下兩個資訊格子,Cone Angle X和Cone Angle Y允許你去限制錐角,在錐角內光線直接發出。 這數字代表半圓錐角的角度,度量從法線到圓錐面的角度。在這例中,我們設定X軸與Y軸的錐角都是30度,如果光線正耦合進入在一段距離遠處的圓形、或橢圓形透鏡或、反射鏡我們可以選擇以這種方式來限制圓錐角,在一段距離遠處(見第331頁圖的上部)。產生及追跡光線,卻沒有機會進入光學系統的光線是沒有意義的。ASAP內訂的圓錐角是90度,產生的光線發射進入整個向前的一個半球。 在下一個資訊格,錐的種類Cone Type,是可選擇的。ASAP內訂的是圓形圓錐,已經在上面討論。然而,如果你在這格子鍵入Rect,其結果將會是一個直角錐(類似金字塔)。當你光學系統進入的孔徑是方形或直角形,這種直角錐將會是合適的,如顯示在第331頁圖的下部。 163-30 ASAP Primer 入門指南 / 擴展光源
圖 這例子產生Lambertian朗伯分布的隨機光線。由預設內訂,ASAP EMITTING DISK或RECTANGLE命令所產生的一組光線,該光線充滿一個完整的半球。如果圓錐角是指定的,它可能產生光線只充滿一個圓形孔徑(上圖)或方形孔徑(下圖)。如果你事先知道其他光線不會進入你的系統,不會影響你模型的行為,則這個錐角的指定會是恰當的。橢圓形孔徑是內訂的。要獲得方形孔徑,你必須在Cone Type格子鍵入Rect。 這個命令的最後一個選項格子是Emit Type欄位。由於ASAP的內訂,所有的表面發光體都具有Lambertian朗伯強度分布。另外的替代選擇是均勻的isotropic分布,可以在這格子按滑鼠左鍵兩下來獲得一個選項框,在此選項框中選擇Iso。在這兩種光強度分布的不同,將是下一章討論之主題。 ASAP Primer 入門指南 / 擴展光源 163-31
註︰不像格子光源需要兩行Builder顯示列來定義光源,一列Builder顯示列用來定義光源之種類,另一列用來完成光源之方向定義;擴展光源只需要一行Builder顯示列來定義光源。在這案例中,你所選擇之發光體形態及參數使光線的位置及方向受到限制。亂數產生器替我們做其他剩下的工作,結果所有的資訊都包含在這一列中。 朗伯光強度分布與均向性光強度分布 Lambertian and Isotropic Intensity Distributions 一個Lambertian朗伯發光體遵守Lambert的餘弦定律︰離開發光體表面的光功率將下降,類似與發光體表面垂直角度的餘弦分布能量。因為沒有真正發光體表面是Lambertian朗伯的分布,所以白熾燈的金屬發光分布,或其他光學的高密度材料,其顯示自表面發光而非從體積發光者,經常是非常好的Lamberian近似。 有數種方法可以產生光線來模擬Lambertian朗伯表面。ASAP可以產生ASAP可以產生完全相一組隨機的光線,具有在半球內任何方向指向相同的機率。這個程式同光通量的可以根據Lambert的餘弦定律來修飾每一條光線的光通量。另一種方光線,但是,當與法法,ASAP可以產生完全相同光通量的光線,但是,當與法線的角度線的角度逐逐漸增加時產生較少的光線。這兩種狀況分別顯示在圖及。漸增加時產生較少的光然而,當我們產生足夠大數量的光線時,這兩種方法所產生的結果大線。 約是類似的。ASAP使用第二種方法。因為第一種方法耗費相同的時間來做很大光通量與幾乎沒有光通量的光線追跡。第二種方法大量光線在追跡時通常較具有效率。 163-32 ASAP Primer 入門指南 / 擴展光源
圖 Lambertian朗伯光通量分佈可使用光線以兩種方法來模擬。可以產生光線具有在任一方向相同機率,然後,這些光線被調整成具有對cosθ函數的相依關係。這個圖是由PLOT RAYS命令產生,所以光線的長度與光通量成比例,稱作“光通量加權”。 ASAP Primer 入門指南 / 擴展光源 163-33
圖 所有的光線具有相同的光通量,但是光線密度是根據該光線與發射表面垂直的角度而調整。ASAP使用這種方法在它的表面發光體。 均向性的光源具有與角度無關的光功率分佈。最簡單的方法來模擬如此的光源,是產生一組光線具有完全隨機的位置及方向,且每一條光線具有相同的光通量。這正是ASAP模型化體積發光體所使用的方法(見“發光球體”)。這與Iso選項對表面發光體如發光圓盤或長方形所做的不同。ASAP產生如上述的光線具有Lambertian朗伯光線密度,並調整個別向上光線的光通量與法線夾角的餘弦成反比。 發光球體 Emitting Spheroid 另外一種的擴展光源是體積發光體。取代隨機分佈在一表面體積發光體是隨機分佈在一體積。光線的方向也是完全地隨機--光線在每一方向的指向具有相同的機率。所有光線的光通量都是完全相同,造成一個均向性的強度分佈。最簡單的這種光線通量是發光球體,可以從Builder選項列中Rays>Emitters>Spheroid尋得,其命令列的結果如圖所示。 163-34 ASAP Primer 入門指南 / 擴展光源
圖 發光球體的Builder顯示列。 前三個參數X,Y,及Z是球體中心的全域座標。再次三個參數U', V',及W'是各座標軸的發光球體半徑。如你所看到的,這個命令事實上允許我們來產生橢圓球體的體積,不論這個命令的名字。注意,ASAP讓我們設三個方向的座標軸都為0,其意義為允許我們模擬一個均向性 的點光源。再下一個格子為Ray Count是所產生的光線總數。 最後一個參數Axis是可選擇的,在這個格子按兩下,你可以選擇X, Y,或Z。當三個座標軸之一個被選定,ASAP修飾這個光通量產生一個環形線,類似甜甜圈 (toroidal) 式的強度分佈,如圖16. 6所示。 圖 發光球體均向性的光功率分佈可以被修飾來減少光通量,其與所選定的座標軸角度sinθ關係變化(在這一例中為z軸),大致地模擬一個小的直線燈絲的發光行為。這些光線的外包絡線可以使用MESH命令來產生,該命令是ASAP所提供的數種方法之一,可以來產生光強度分佈的可見化。它將在第20章中“顯示工具”中再介紹。 其他體積發光體 Other Volume Emitters ASAP的Builder提供三種其他的均向性體積發光體︰發光盒子,發光 ASAP Primer 入門指南 / 擴展光源 163-35
角錐,發光金字塔。這些發光體的例子及發光球體顯示在圖,發光盒子EMITTING BOX命令的操作類似發光球體EMITTING SPHEROID,產生一組光線具有隨機的位置方向及均勻光通量。然而,發光體的邊界是一個長方形截面盒子而不是橢圓球體。發光角錐與發光金字塔的光強度分佈也是均向分佈的,但是在位置光線密度是不均勻的。圖清楚的顯示光線密度隨著接近角錐或金字塔錐而增加。 發光球體 發光盒子 角錐發光體 金字塔錐發光體 圖 四種均向性的發光體,圖中的每一個點代表光線的位置,在每一方向上光線的指向具有相同的機率。每一條光線具有完全相同的光通量。這些圖像可以使用Builder的Preview函數來產生,其(在這個例中的發光光源)在3D Viewer視窗中顯示出三維的點陣圖。 163-36 ASAP Primer 入門指南 / 擴展光源
圖 顯示在圖的4種均向性發光體的Builder顯示列。 當光線被產生,沿著所選的坐標軸每單位長度的光線數量是固定的常數,造成在光源尖端的高密度光通量。這個高密度光線可以趨近在弧燈靠近放電電極處的電漿。由Builder的ASAP命令所產生的4種體積光源,顯示在下面的參考程式。 見第16章附錄,在第347頁的“程式16-2”。 註︰在一個時候,ASAP中模型化電漿放電的最佳方法涉及小心地安排多數實體積發光體--主要圓錐及橢圓球體--來獲得實際觀察到的電漿發光行為。雖然這種模型化在一些案例中非常有用,ASAP現在更包含“逆Abel轉換”(Inverse Abel Transform) 來幫助我們建立更好的“弧光”模型。見在343頁的“進階光源模型化”來簡明描述這一方法。 螺旋線發光體 Emitting Helix 在EMITTING HELIX命令結合了一些面發光體及體發光體的特性,允許我們趨近螺旋狀燈絲的發光行為。它以光線充滿螺旋線形狀的體積(圖),但每一段或每一片圓柱的發光像Lambertian朗伯分布(圖)。 ASAP Primer 入門指南 / 擴展光源 163-37
y螺旋線半徑 燈絲半徑 z 圖 EMITTING HELIX命令產生一實體積發光體,其形狀為螺旋線。然而,因為光線是分布在螺旋線的體積內,它並不是真正的表面發光體。 163-38 ASAP Primer 入門指南 / 擴展光源
圖 在一小片狀的發光螺線體中,光線的位置與方向。每一片像這樣的小片,如果夠薄,大體可以視為一段短的圓柱體。ASAP在這體積中填入隨機分布的光線,然後調整光通量來模擬Lambertain的表面發光體。這是藉由降低每一光線的光通量,根據方向向量投影在這一局部圓柱的軸方向的方向分量(在圖中的紅色箭頭)。例如,一光線垂直紅色軸,保留全部的光通量,然而若一光線完全平行圓柱軸,則將光通量降為0。顯示在圖中的短截圓柱用來增加顯示此一段小體積的形狀。 EMITTING HELIX命令是在Builder選項中的Rays>Emitters>Helix。你可以指定這燈絲的軸Axis,螺線絲沿這軸量測開始Start及結束End的坐標,及螺線線的繞圈數Turns。主半徑Major Radius參數控制線圈的大小,次半徑Minor Radius參數控制燈絲的粗細。ASAP命令由Builder所產生的EMITTING HELIX顯示在下面的參考程式。 見第16章附錄,在第348頁的“程式16-3”。 這光源具有容易被產生及使用之優點,光線來自大約是正確的位置,同時它們具有適當的Lambertian朗伯特性。然而,它並不是完美的。一個真實的螺線型燈絲是表面發光而非體積發光。更進一步,這發光螺線體缺少與燈絲本身相關之幾何形狀。如果出現,這個光源將產生自己阻擋或“陰影”,特別是沿著螺線管的軸來觀看時。總而言之,這簡單的模型,當從垂直螺線管軸的方向來看時,工作的很好,但是,若沿著螺線管軸,則較不理想。 ASAP Primer 入門指南 / 擴展光源 163-39
註︰在第19章末及第21章,我們將在輻射度的練習,更進一步發現發光螺線型光源。你將看到定量的結果,其並將顯示這簡單模型的限制圖象。 發光物件 Emitting Objects 或許在ASAP中產生表面發光體最強的選項是EMITTING OBJECT命令,它允許我們將任何物件轉變為Lambertian朗伯表面發光體。一個範例顯示在圖。 圖 一個燈絲,由邊緣為基礎的弧ARC掃過來形成的模型。THE EMITTING OBJECT命令均勻的分布了1000條隨機光線,Lambertian朗伯光線散布在這物件的表面,因為此物件具有吸收光學特性,任何光線與它接觸,在光線追跡會產生適當的“陰影”。 我們曾經使用一個圓弧ARC命令來定義一段圓弧,沿著Y軸平移,然後繞著X軸掃過來形成一段拱門的線圈。注意它是一個ASAP物件,其光學特性由INTERFACE命令來指定。這個稱為Filament的物件與系統中其他物件一樣在光線追跡中被處理。這個發光物件EMITTING OBJECT由Builder所產生之ASAP命令可以顯示在下面參考程式。 見第16章附錄,在第348頁的“程式16-4”。 163-40 ASAP Primer 入門指南 / 擴展光源
或許ASAP這EMITTING OBJECT命令,顯示在圖下部的Builder檔,執行中產生表面真實的工作來產生光線,將Filament轉變成發光體,只有需要兩個引發光體的最有力量的選數。 擇是 GNITTIME第1個引數指定這物件在系統資料庫,其被轉變成發光體。我們已經TCEJBO命接受內訂預設值為.1,因此使用相對坐標來指定最接近定義的物件,令。 將其改變為發光體。 雖然這個格子命名為Object#,AASAP也能夠接受在這個格子中鍵入物件的名字。 在這兩種狀態中之任一種,你可以放置一個負號在名字或數字之前來改變光線相對於垂直表面的方向。例如,這個方向的改變可以被用來改變光線的指向,從球狀物件表面向內而不是向外(對一個球形的內訂方向)。 事實上,光在我們進行下一個需要的參數時,我們需討論ASAP如何在物件表面線並不是放置在表面。分布光線。事實上,光線並不是放置在表面。相反地,它們是放置在相反地,它一物件刻面些微的上表面。你可以回想當ASAP使用PLOT FACETS來們是放置在一物件刻面產生圖象顯示在3D Viewer中時,物件是以一系列的扁平多角體來趨些微的上表近。這種趨近法完成後,物件才能由3D Viewer快速、容易的操作(旋面。 轉,左右搖晃,及放大縮小)。我們每次強調這個趨近法,只適用於藝術工作,並沒有作為光線在光線追跡時所“看”到的任何事物。ASAP在定義發光物體時,也使用網狀結構mesh的物件,ASAP完成這個基本上是以相同的理由。產生百萬條隨機光線具有Lambertian朗伯光線分布的產生光線過程,將會相對的緩慢,假如ASAP需要去做計算,關於一個任意,可能複雜的表面。如此的精度是不需要的。在一序列的扁平平面上發展Lambertian朗伯分佈,其計算將會快很多。 因為ASAP產生光線相對於wire-frame mesh網狀格子,當你定義物件時,要記得應用FACETS命令為物件的修飾。我們已經顯示這些步驟Builder的片段在圖在第340頁,在這個例中,設定刻面數為5及51。你可以使用System>Plot Facets來做實驗,直到你發現一個刻面階數其可以產生與真實表面接近的可接受圖像。在第342頁的圖我們給這個例子一個拉近的檢視。 ASAP Primer 入門指南 / 擴展光源 163-41
圖 光線由EMITTING OBJECT命令所產生,位置及方向事實上是產生在相對於物件所伴隨的刻面,而不是物件本身的數學位置。當物件被定義時,使用FACETS命令來作為物件修飾是重要的。否則,內訂的預設值預設刻面數將被EMITTING OBJECT命令使用,但通常數字太低以致於不能夠獲得一個好的接近真實數學的表面。 現在我們已經準備好第二個需要的參數,它是放置在一個標題為Rays Per Facet的資訊格子。在舊版本的ASAP,我們事實上是指定若干光線必需放置在每一刻面上。這個方法有兩個困難。第一,它不容易預測刻面的總數,一個物件將被分割成若干刻面,所以我們從來不確定我們所要求的光線總數。第二,更嚴重的,並不是所有刻面都擁有相同的面積,這個面積的不同造成取樣的錯誤,因為小面積的刻面具有較高的光線密度。雖然這個舊的語法仍然保留來允許向後相容性,我們現在能夠指定物件上的總光線數。你給ASAP訊號,藉由在數字之前放置一個負號。在我們的例中,我們指定 -1000,ASAP產生一個總數為1000的光線,分佈在刻面上,以這種方法其光線密度大約保持常數。你通常會獲得比你指定的光線多一點或少一點,因為ASAP需要彈性調整這個數字來產生均勻的分佈。 最後,有兩個參數是可選擇的︰ 1. 位置︰允許你調整光線在物件表面上的最初距離(以系統單位)。 由ASAP內訂值,ASAP產生光線些微的在物件表面上,(或表面下,當在EMITTING OBJECT命令中有一負號在物件名稱或數字 之前)。回想第10章“追跡光線”中光線追跡的討論,光線將絕不應該是被產生在ASAP物件的精確位置上。在某些理由下,你想要更仔細地控制這些光線的最初位置,你只需要指定163-42 ASAP Primer 入門指南 / 擴展光源
這個參數。 2. 發光型態︰正如同發光圓盤/長方形,藉由在這個格子按滑鼠左鍵兩下,允許你去覆蓋過預設的Lambertian朗伯光源行為,選擇ISO你將由物件的每一個刻面獲得一個均向性的強度分佈。 進階光源模型化 Advanced Source Modeling 當你在ASAP中模型化光源當你在ASAP中模型化光源時,你並沒有被Builder所提供的命令限時,你可以產生虛擬的制。你可以產生幾乎任何可以用數學定義的光線分佈,其可以使用任何光線分ASAP命令語言來定義。例如,顯示在圖的左側是ASAP光源,佈,其可以使用ASAP其開始為一發光球體,當CLIP命令介入時,強迫消除沿著-z軸的光命令語言來線。一個cos(θ) 的apodization去趾法於是被應用來修飾沿著z軸方向定義。 餘弦的光線通量。 在ASAP中提供許多增加的光源模型化工具,例如CLIP命令。雖然大部分並不困難使用,但是他們還是超出這本書的範圍。一些伴隨著增加的參考資料在這裡陳列。 •你可以模型化弧光或高密度放電光源,其以bitmap(*.bmp) 放電圖形檔為基礎。inverse Abel transform逆Abel轉換被應用到成像來產生一組光線可以模擬所觀察到的行為。三個範例被包含在範例projects座落在<install directory>\Projects Samples。見SimpleArc, CompleteArc及BananaArc。 •你可以從BRO光源資料庫輸入完整的光源模型,其為商業上的光源產品。這些可以經由網際網路下載,當在ASAP主選項中使用Rays>Create Sources>Use BRO Light Source Library。 TM• 你可以輸入輻射光源Radiant Sources經由主選項Rays>Create Sources>Use Radiant Imaging Sources。 •你可以修飾光線通量為位置、方向的函數,或者兩者都是。ASAP稱這個過程為去趾化"apodization"。見線上說明的APODIZE及USERAPOD,或參考ASAP技術導引的,More about Sources。 •你可以在外部產生光線集合,然後藉由不同的方法將他們讀入ASAP。見線上說明EMITTING RAYS, RAYS,及$READ。這些主題也包含在技術導引,More about Sources。 ASAP Primer 入門指南 / 擴展光源 163-43
• 雖然ASAP中每一個光源只能夠有一個波長,寬頻的光源可以輕鬆地使用單色光源適當的光通量加權來模型化。ASAP提供工具來修飾光通量為波長的函數,根據人類眼睛的反應(包含photopic及scotopic),一個給定溫度的熱黑體,或任意型式的頻譜去趾化,其可以使用數學函數來描述。見線上說明的SEPCTRUM命令,或參考技術導引,More about Sources。 摘要 Summary 在這一章中我們已經討論幾個下面新的命令。 ASAP命令 Builder選項 描述 EMITTING DISK Rays>Emitters>Disk 模擬一個橢圓邊界的表面發光體。 EMITTING Rays>Emitters>Rectangle 模擬一個長方形邊界的表RECTANGLE 面發光體。 EMITTING Rays>Emitters>Spheroid 模擬一個橢圓球體為界線SPHEROID 的體積發光體。 EMITTING BOX Rays>Emitters>Box 模擬一實體積發光體在一長方形截面的盒子裡。 EMITTING CONE Rays>Emitters>Cone 模擬一實體積發光體在一橢圓錐的形狀內,其光通量集中到尖端。 EMITTING PYRAMID Rays>Emitters>Pyramid 模擬一實體積發光體在一金字塔形狀,其光通量集中到尖端。 EMITTING HELIX Rays>Emitters>Helix 模擬一個螺線形的燈絲。EMITTING OBJECT Rays>Emitters>Object 產生一個表面發光體在任何ASAP物件的形狀。 ASAP包含兩個族群的光源命令。我們在第8章中介紹格子光源,我們已經使用它們,來模擬點光源。另一種是發光體,在本章中討論的是擴展光源,而且是具有隨機的特性。ASAP使用一個亂數產生器來分佈光線在表面或者體積,這個程式也給予光線隨機的方向,雖然方向的分佈在一些個案被修飾,來模擬Lambertian朗伯的發光體。 不像格子光源,需要一個格子GRID及一個SOURCE命令來完成光源的指定,擴展光源發光體的定義全部包含在一個命令中。 163-44 ASAP Primer 入門指南 / 擴展光源
大多數的發光體產生一個“雲cloud”的光線在二維或三維空間。沒有幾何物件或者實體伴隨著他們。唯一的例外是EMITTING OBJECT。在這個例子中,光線是被定義些微的高於一個先前所定義的物件。 你可以使用任何一個在第9章“證實光源”中學習到的光線圖形工具來證實這些發光光源。你甚至可以使用Builder中的Preview特性來觀看他們相對於存在幾何形狀的位置。光線在這個例中,在3D Viewer以很小的點來出現。 ASAP Primer 入門指南 / 擴展光源 163-45
亂數產生器 Random Number Generator隨機在ASAP發光器中扮演一個基線追跡的精髓。ASAP可能報告一本的角色。當你定義一組光線,使個分析結果,其具有很高的精確數用任一個EMITTING光源,ASAP字(小數點右邊很多位數),但是這執行光線在空間及在方向上的隨機個說法與結果的精確度甚少關連。 分佈。這個分佈是由一個亂數產生另一種方法,來調查ASAP模擬的器來完成。類似大多數的電腦程精確度,是控制亂數產生器。每一式,ASAP使用“擬似隨機pseudo 次你執行一個不同組的隨機光線模random”演算法,其展現的涵意為擬,它是有一點像展現一個不完美一個非常可預測、可重覆出現、決的實驗,其包含光源的誤差。假如定性的運算。結果,每次你執行誤差是“隨機”的(起因於隨機光Builder檔中間含有EMITTING 線所產生的指定光線集合)而不是RECTANGLE命令,你可獲得完全系統的(起因於不完美的系統或光相同的一組“隨機”光線。不論你源模型),你可以獲得一些精確度的使用哪一種廠牌的電腦或哪一天你內涵,藉由重覆實驗數次。做這個來執行這檔案,其結果是相同的。 涉及隨機發光體的ASAP模擬,你如果你的檔案定義兩個發光體該如將必須強迫這個程式每次執行時,何?他們將產生相同的光線嗎?使用不同種子值seed value。你可以不,他們將不會。每一次亂數產生藉由發出一個SEED命令在發光器器被使用,這個種子的值將自動改之前做到這個功效。這個命令可以變。如果你在同一檔案中重複完全在Builder選項中靠近主清單的底相同的發光體定義,將產生一組不部,這個seed value種子值將是一個同的隨機光線。 非常大的奇數。內訂的預設值是2,000,000,001。 任何涉及隨機發光體,ASAP模擬的精確度,與如何以有限數量的隨機光線,代表你所嘗試模型的真實狀況密切相關。這是蒙地卡羅光 163-46 ASAP Primer 入門指南 / 擴展光源
附錄16A 第16章的程式集 Scripts For Chapter 16 下面的ASAP程式是參考第16章,“擴展光源”。 程式16-1 !!THE ACTUAL ASAP COMMANDS GENERATED BY THE BUILDER ARE THE FOLLOWING: EMITTING DISK 10000 EMITTING RECTANGLE 10000 !!10000 RAYS ARE GENERATED BY EACH EMITTER. !!THE RAYS ARE EMITTED INTO A FULL HEMISPHERE. 程式16-2 !!THE ACTUAL ASAP COMMANDS GENERATED BY THE BUILDER !!FOR THE 4 VOLUME SOURCES ARE THE FOLLOWING :EMITTING SPHEROID .20 100000 EMITTING BOX .20 100000 EMITTING CONE .20 100000 EMITTING PYRAMID .20 100000 ASAP Primer 入門指南 / 擴展光源 163-47
程式16-3 !!THE ASAP COMMAND GENERATED BY THE BUILDER FOR THE EMITTING HELIX FOLLOWS: EMITTING HELIX Z1- 1 5 .5 .05 100000 程式16-4 !!THE ASAP COMMANDS GENERATED BY THE BUILDER FOR THE EMITTING OBEJCT FOLLOWS :COATING PROPERTIES 0 0 'ABSORB' EDGE ARC 360 SHIFT Y 3 SWEEP AXIS 09 1 0 0 OBEJCT 'FILAMENT' INTERFACE COATING ABSORB AIR AIR FACETS 5 51 ROTATE X 4-5 0 0 EMITTING OBEJCT .1 1-000 163-48 ASAP Primer 入門指南 / 擴展光源
第 17 章 光線的中止-過早停止的光線 RAY CESSATION-STOPPING RAYS PREMATURELY 在這章中,我們將短暫的回到光線追跡過程這個主題。我們特別地將討論:為何光線到達光學系統之前停止了光線追跡的理由。理想的光線應該離開光源,沿著它們的路徑與適當的光學物件交互作用,最後來到並靜止在一個或多個具有特別“吸收”之介面曲面--物件具有反射係數及穿透係數為0,(見第3章在第50頁的“鍍層”)。然而,有數個理由為何它不可能,或甚至於不想要,使光線繼續追蹤到這麼遠。光線可能停止,因我們在模型中的瑕疵,例如在錯誤的地方具有吸收表面。也有可能是在INTERFACE命令中邏輯上的錯誤。在其他案例中,光線可能因為它們不再值得追蹤而停止,由於不是想要的光線方向或相當低的光通量值。你可以選擇中止這些光線以便維持電腦之速度及效率。 你必須去任何時刻一條光線停止在非零的反射及穿透係數的表面,ASAP發出檢查這些警告,確ray cessation warning,光線中止警告。你必須去檢查這些警告,確認你的決認你的決定:為何會發生光線中止。ASAP的新使用者經常忽略這個步定:為何會發生光驟,可能忽略了決定性的資訊,其可能影響它們的分析結果。雖然聰線中止。 明的預設內訂值已經建立在ASAP中,你對“光線中止”過程可以完全掌控。監控及控制光線中止是本章的主題。 註︰一些光線中止警告,是由我們沒有在這本書Primer入門指南中深入討論的機制所產生。然而,光線被簡明的提到,使得本章是這個主題的完全參考。當需要深入討論時,我們將提供參考資料到其他的ASAP文件,來做為補充材料。 ASAP Primer 入門指南 / 光線的中止-過早停止的光線 173-49
光線中止表 Ray-Cessation Table 在每次光線追跡結束,若任何光線在有限反射係數或穿透係數的表面停止,ASAP在命令輸出視窗會列印出光線的中止表。一個例子顯示在圖,這個光線中止表的標題為PARENT warnings。 圖 在光線追跡結束後, Command Output視窗會出現光線中止表。若你在光線追跡後有發出其他的命令,你仍可藉由將視窗向上捲,直到你發現--TRACE及其隨後的任一光線追跡的進展結果輸出。這個光線中止表(如果有一個)會緊接在其後。當所有的光線停在一個吸收介質上,ASAP並不會列印任何出一個表。 在某一些例子中,其他的表可能取代或增加到這個表之後,它被稱為CHILD warnings。子光線child rays是由類似Fresnel反射、散射、雙折射及繞射光柵的過程所產生,當能量取自原光線(父),分裂成數個新的(子)光線。我們將不在Primer入門指南中討論這個主題。 註︰如圖所示,光線中止的警告並不會出現在ASAP視窗下端的狀態列中的警告計數。這個警告計數器顯示其他警告,例如物件名稱的重覆命名或未起始化的變數。光線警告在光線追跡被視為一個特殊等級累積,在一般計數之外。 在table中的第一欄是命名為Obj,包含在你系統中非吸收介質的物件編號,該系統上有光線再這些物件上。最後一欄可以供給相關物件的名稱。這個命名為Total的欄位,統計所有不論何者理由停留在這個表面上的光線數量。ASAP在剩下的欄位顯示特定的理由,放置他們在7個分類中之一。我們將在下面討論每一個分類。 173-50 ASAP Primer 入門指南 / 光線的中止-過早停止的光線
後來消失光線的警告 Missed-After Warnings 如果光線被追跡到一個非0折射或穿透係數的物件,沿著它的路徑找不到其他的物件,光線將被列在“消失的光線Missed After”。見圖。 圖 許多光線從離軸點光源,錯失“吸收”的檢光器。雖然圖象可以清楚地顯示它們存在於光學系統,它們事實上留在透鏡的後表面 (),這些光線被列在光線中止表中的Missed After消失光線。所有其他的光線停止在吸收表面(檢光器)。 在ASAP圖象顯示後來消失的光線存在此光學系統,這些光線,事實上,仍然在最後一個接觸到的物件。記得,這些光線已經被追跡且經過透鏡。它們在離開的表面折射,並帶有適當的方向及光通量。這結果允許我們利用光線來展現系統分析,若光線事實上都逃離了這系統,這分析將為不可能。 多次反射的警告 Multiple-Bounce Warnings 一條光線由於多次反射而會被ASAP停止,當光線與相同物件連續的交互作用12次,或光線與任何數量的物件超過1000次交互作用。ASAP設定這些內訂的限制值,來避免光線被捕獲在物件內部(例如反射球),或一個多重鏡面的系統。在這種情況下,一條光線的追跡可能變 成無止境的連續追跡,或直到你注意到這情形,然後按下Abort鍵來放棄。 ASAP Primer 入門指南 / 光線的中止-過早停止的光線 173-51
然而,許多狀況存在,我們期望超過12次的連續光線接觸反應。圖顯示一條光導管,其中光線自左端進入,經由內部全反射 (TIR) 通過光管。 圖 9條光線進入一個光管,藉由TIR內部全反射沒有光通量損失,但是只有7條光線從光管的另一端出去。光線減少的發生是因為ASAP限制了與相同物件反應接觸的數目為內訂的12次。在12次光線接觸反應後,有兩條光線由於Multiple Bounce反射的次數超過12,而被中止。為了避免這個結果,使用HALT命令可以來改變多次反射的限制。 部分光線無法以小於12次的全反射,到達光管的另一端。假如ASAP在這種狀況下發出的Multiple Bounce光線中止警告,它很清楚的需要改正。 你可以利用HALT命令,覆蓋過ASAP內訂連續交互作用的相同物件多次反射限制。這個命令可以從Builder的光源修飾命令中尋得,其路徑為Trace>Trace Control>Halt。見圖 圖 在Builder列中使用HALT命令。 HALT命令的第一個參數是Max Intersections,其內訂與相同物件連續接觸的次數為12次。對於光導的問題,你可能需要增加這個數字到1000或者更高。HALT命令的第二個及第三個參數為Direction及Flux Ratio將在第355頁的“低光通量警告”,及在第356頁的“錯誤方向警告”中討論。它們也可以保留空白,接受ASAP的內訂值。你可放置這個HALT命令在Builder中的任一個地方,只要在光線追跡之前。這些參數只在光線追跡時使用。 173-52 ASAP Primer 入門指南 / 光線的中止-過早停止的光線
見第17章附錄,在第365頁的“程式17-1”。 你也可能需要超越單一光線在一個光學系統中與物件接觸的總次數限制。假如你想模型化一個很大的系統,或者一個使用許多反射的裝置,這個步驟可能需要。你可以使用CUTOFF命令來修飾這個參數,這個命令可以在Builder中的Trace>Trace Control>Cutoff尋得。見圖。 圖 使用CUTOFF命令的Builder顯示列。 我們將在第351頁的 “低光通量警告” 討論Threshold參數。 CUTOFF命令的第二個參數,Intersections格子控制了單一光線接觸物件的反應總數,代表了其他的可能對Multiple Bounce光線終止警告的解決方案。CUTOFF命令也是可以在你光線追跡之前任何時刻發出。 見第17章附錄,在第365頁的“程式17-2”。 錯誤邊警告 Wrong-Side Warnings 錯誤邊警錯誤邊警告發生在一條光線到達一個介面,但無法符合與目前介質的告發生在選擇。這種警告通常是由一或兩種模型化錯誤所造成。你可能有: 一條光線到達一個1. 在一個或多個系統元件中,指定了錯誤的介質到一個介面命令。 介面但無法符合與目前介質2. ASAP無法“封閉”一個體積,光線有機會自元件“洩漏”出去。 的選擇。 有一個顯示洩光元件的範例於在第354頁的圖。第一個被光線遇到的光學元件是一個BK7做的玻璃濾光器。這些光線自方形的前表面進入。光線的離開表面(在圖中以藍色顯示)疏忽地被作成圓形而非方形。結果,許多光線自方形表面洩漏出來,無法與最後離開的圓形表面接觸。 如在第4章所討論,“建立及預覽幾何形狀”,光線總是知道它們正在進行的介質(見在第74頁的補充附錄,“ASAP如何知道?”)。當光線到達SK4透鏡時,這些光線的行為彷彿它們仍處在BK7中。對介面命令的進入介面,列出了介質的選擇為AIR及SK4。因為沒有任一透鏡符合目前的光線介質,光線停在透鏡的進入介面,同時,ASAP發出“錯誤邊警告Wrong-Side Warning”。 ASAP Primer 入門指南 / 光線的中止-過早停止的光線 173-53
7KB S 4K 圖 因為一個在建立光學系統元件的錯誤,BK7濾光器,光線可能自元件洩漏,而無法與最後的離開面接觸(以藍色顯示)。當光線到達SK4透鏡時會是Wrong-Side error錯誤邊錯誤。這些警告通常需要在作進行分析步驟之前學習及了解。 如果你在光線追跡之後收到“錯誤邊警告”,它是很重要,你在繼續進行之前了解造成錯誤的原因。假如你有洩光或不正確的介面被指定給你系統中的表面,或許光線通過光學系統,沒有警告卻可能折射的不適當。這種警告,通常是模型錯誤的信號,是必需改正的。 一些提示可來診斷造成真正“錯誤邊警告”的原因,在第362頁的補充附錄,“追蹤錯誤邊問題”。 註︰如同我們在第13章看到的,邊緣為基礎物件有時發生洩光,當光線與他們剛好在邊界或在片段邊界交際處交互作用接觸時。雖然這些情況是很少見的,你可能有時候會在為邊緣為基礎物件作大量光線追跡時,看到它們。或許你可以從CAD程式輸入時,會發現他們。一般來說,“Wrong Side錯誤邊警告”是你第一個也是最佳的指標來顯示系統有無洩光發生。一但,你確定這些邊緣洩光是造成警告的原因,這些少數的錯邊光線是可被忽略的。 173-54 ASAP Primer 入門指南 / 光線的中止-過早停止的光線
低光通量警告 Low-Flux Warnings 你將看到Low-Flux低光通光線中止警告,當個別光線的光通量掉到低於兩個光通量低限之一,該低限值由使用者控制的。當光線移動經過ASAP模型時,基於各種不同的理由,光線損失光通量,或者被重新替換成具有較低的光通量的光線。一些範例,包含Fresnel反射、不完美的鍍層、吸收及散射。,如果光線的光通量變的非常低,ASAP停止追跡光線。這個行為有時候是設計者想要的,因為這些光線在分析中扮演不重要的角色。要記得,ASAP追跡一條“弱光”耗費與追跡一條“強光”花費相同的時間,--你可能浪費有價值的計算機時間。 是否這些光通量已經掉到如此的低,低於預設值,以至於它們無法影響你的結果?這確實是必須根據你自己的決定,決定於多弱的光,它們要被停止,相對於一條正在進行的光及有多少條這種光線。在一些案例中,你可能想要更低的低限值,或者甚至想從預設內訂值中提高低限值。HALT及CUTOFF是兩個可以被用來修飾光通量低限值的命令。如我們上面所看到的這兩個命令都在Builder的選項列中,Trace>Trace Control。 HALT命令控制“相對”光通量低限值。這個內訂的預設值是×-610。在這個設定下,任何光線的光通量降到原來光通量的百萬分之一就停止光線追跡,(其中的光通量為當它被產生時的通量,或當光通量被FLUX TOTAL命令修飾的光通量)。同時,低光通量警告就發出來。你可以藉由輸入一個不同的數值在Flux Ratio的格子覆蓋過這個警告。 -18CUTOFF命令控制著“絕對”的光通量低限,這個預設值是×10。任何光線其光通量掉到這個值的下面,光線追跡就停止,同時Low Flux低光通量警告就發出。你可以藉由輸入不同的數值在Threshold格子中改變這些行為。 衰逝波警告 Evanescent (TIR) Warnings 如果你正在使用ASAP做波動光學使高斯光束分解。在任何時刻產生衰逝光時,你將收到“衰逝光線中止警告”。這種光束代表能量,其經過一段非常短的距離或進入一個不可穿透的介質。我們經常看到這種光線,當DECOMPOSE DIRECTION命令被用來模擬一個很小的光場,其具有一組尖端形狀的高斯光束。見技術導引Introduction to Wave Optics波動光學簡介。因為這些能量並不會傳播任何有意義的距離,所以ASAP不追跡這些光線。 ASAP Primer 入門指南 / 光線的中止-過早停止的光線 173-55
在幾何光學的光線追跡中,如果你正在利用全內反射模型化一個物件,ASAP會發出“衰逝光波(TIR)警告”,但是沒有允許光線分裂。雖然我們在這本入門指南Primer只討論理想的鍍層,藉由使用Fresnel方程式,或COATING MODELS,ASAP能夠模型化入射角的相關行為。見在第363頁的補充附錄,“Bare Glass and Fresnel's Equations”。 錯誤方向警告 Wrong Direction Warnings 你可能看到“錯誤方向光線中止警告”,假如你已經使用HALT命令來限制光線能夠傳播的方向。在Builder列中HALT命令的參數,標題為Direction,允許你來指定一個“不期望的”傳播方向: 圖 Builder顯示列中,HALT命令的參數Direction可以指定“不期望的”傳播方向。 這個方向必須沿著三個全域座標軸 (X, Y, Z) 之一,可以為正或為負。在與一個物件接觸後,如果一個光線其方向向量的一個分量沿著指定軸,這個光線將被停止,同時“錯誤方向的警告”將被發出來。在上面的例中,一條光線將被中止,假如該光線具有z軸方向餘弦,且為負值。ASAP允許光線在任一方向移動,假如這個格子是空白,它也是ASAP的內定值。 見第17章附錄,在第365頁的“程式17-3”。 吸收後警告 Absorbed-After Warnings 你將看到Absorbed-After光線中止警告,當光線進入一個吸收介質,光線的光通量落到HALT或者CUTOFF命令的低限值以下。到目前為止,我們所有介質的折射率都是純實數。事實上,折射率可以是複數 虛部的折射率,k,控制著介質中吸收的量。對一條具有最初光通量為F0的光線,波長為λ,在吸收介質中行經距離L,其虛部折射率為k,則新的光通量應為 173-56 ASAP Primer 入門指南 / 光線的中止-過早停止的光線
ASAP允許我們在Builder中模型化複數的折射率。見下圖及在第358頁的圖 圖 Builder檔案中光學元件具有吸收介質。 ASAP Primer 入門指南 / 光線的中止-過早停止的光線 173-57
圖 假如一個光學元件是由吸收介質所構成,光線在它離開這個材料時,這條光線的光通量可能已衰減到低於一個低限值以下。在這個例中,光線大多數具有直接路徑穿透過中性濾光器能夠離開,但是,以高角度行進的光線無法離開濾光器。十一條光線進入濾光器,只有五條能通過從另一邊出來。其他的六條光線停止在穿越的途中,ASAP發出Absorbed After光線中止警告。 這個例子,模型化一個中性濾光器,具有厚度為3 mm。我們已經輸入折射率為'。ASAP使用重音符號 (') 來分隔一個複數的實部與虛部,在這個例中,n=,k=0. 000195。這個完整的複數,必須在這個格子輸入,中間不要有空格。應用上面的光通量方程式顯示:任何光線在這個介質中,光路徑大於 mm將衰減到“相對”光-6通量低限為×10。見第355頁的“低光通量警告”。 ASAP追跡光線經過非均勻材料在短步驟內。在各步驟都採取後,光通量將針對HALT命令的光通量相對低限值及CUTOFF命令的絕對低限來檢驗光通量。假如光通量衰減後低於這兩個低限值中的任一個,光線在這個步驟停止,同時發出光線中止警告。如圖所示,部份會聚光線經過路徑超過 mm,所以該光線在到達離開面exit face前停止。這些光線造成Absorbed After“吸收後中止警告”,顯示在圖形中。追跡後,這些光線在光線表中的位置,是在兩個表面之間,ASAP將這些光線列在屬於,為濾光器的進入表面。 吸收後光線中止警告,也可能發生當在使用SPLIT MONTE CARLO蒙地卡羅命令。詳細的解釋這個命令,已經超出這本書的範圍,但是一個簡明的註解是需要的,來完成這個光線中止警告的討論。 當SPLIP MONTECARLO蒙地卡羅命令是被用在一個介面,沒有多餘的反射光被產生。對每一條進入的光線,有一條輸出光線具有與輸入光相同的能量。新父代光線 (parent ray) 的方向,根據在介面的反射與穿透係數,隨機的選擇可能的子代光 (child rays)。當這些係數和小於1時,是有限的機率為 其光線在介面停止。為了說明所有輸入光線的能量,這個在介面留下的輸入光的部份能量p, “吸收後光線中止警告”會對這些光線發出來。 173-58 ASAP Primer 入門指南 / 光線的中止-過早停止的光線
在波動光學中的光線中Ray Cessation in Wave Optics ASAASAP也使用光線追跡的方法,來傳播同調光經過光學系統的波前。P能夠分解任何複ASAP使用一種稱作高斯光束分解的方法。來完成同調光波前的傳播。數光場(相位及振幅)這個主題在技術導引,波動光學的簡介Introduction to Wave Optics進入整體的中介紹。簡而言之,ASAP能夠分解任何複數光場(相位及振幅)進入高斯光束。做這件事的整體的高斯光束。做這件事的動機是,高斯光束可以使用光線追跡方動機是,高法傳播。ASAP使用基線base ray及漸進線parabasal rays,可以幾斯光束可以使用光線追何方式追跡的光線,來代表一高斯光束的整體精瓍。對於經常使用的跡方法傳Parabasal 4,有4條parabasal rays。(然而,若選擇Parabasal 8,播。 一高斯光束則需要有1條基線base ray及8條漸進線parabasal rays)。所有這些經過光學系統的光線,都使用幾何光學光線追跡的法則,包含Snell定理,反射定率。Parabasal光線攜帶資訊可以允許ASAP沿著其路徑來重建高斯光束的任一點。整體高斯光束的同調重疊,現在代表在這個地方的光場。 這些Parabasal光線,可能也中止追跡在光線追跡的路徑中。只有兩種可能的理由存在:在這個例中是Wrong Side錯邊和TIP全反射。然而,在這個例中的Parabasal光線,“錯誤邊警告”的狀況是有一點不同。因為Parabasal光線是跟隨獨立路徑通過系統,相對基礎光線它是可能撞擊物件的錯誤邊。ASAP儲存整個垂直光線交接點並與parabasal 光線作比較。 高斯光束的base光線非常像我們追基過的幾何光線。它代表能量場中在該點垂直波前。光線以前面章節中的任一種理由停止下來,並以相同的參數被控制著。若base光線或parabasal之一種光線永久的停止,則所有的5條光線停在該物件上。ASAP Primer 入門指南 / 光線的中止-過早停止的光線 173-59
摘要 Summary 在這一章中,我們已經討論下面的新命令。 ASAP命令 Builder選項 描述 HALT Trace>Trace Control>控制光線的中止參數,包Modifiers>Halt 含連續相同物件的接觸,不期望的方向,及相對光通量限值。 CUTOFF Trace>Trace Control>控制光線中止參數,包含Cutoff 與所有物件的總接觸數及絕對光通量的低限值。FRESNEL AVE Trace>Trace Control>教導ASAP使用FresnelFresnel 方程式來計算R及T係數,使用Bare鍍層。 SPLIT Trace>Trace Control>當光線分裂時,控制所允Split 許的代的數目 (number of generation) 。 IMMERSE Rays>Ray Control>造成新光源來開始,在被Immerse 命名的介質,而不是Air。 與真實的光功率不同,ASAP光線可能停止在能量完全消失之前。一個正常的方法為了分析來停止光線是定義一個表面,在其介面指令同時具有“反射率”及“穿透率”且皆為0。對ASAP而言,這是一個旗標,我們想要光線停止在這個地方。如我們在第四章所見,光線通量是不會真實的為0,但是保留這個值,當作它們到達時的數值。 光線可能在到達一個具吸收特性物件之前停止,下面可能是其理由: • 光線可能在系統中錯過所有吸收物件,如果這個情況發生,它們將停止在它們所交互作用接觸的最後一個物件,然後ASAP發出一個Missed After的警告。 173-60 ASAP Primer 入門指南 / 光線的中止-過早停止的光線
• 光線停在它們遇到的同一物件有太多次的連續接觸,或者有太多次多種物件接觸,這些限制防止光線追跡變成一個連續的無定義狀態。 • 在介面,帶著目前光線的介質,當ASAP無法決定介質的選擇時,光線會停止。在這個例中,ASAP會發出“錯誤邊警告Wrong Side”。 • 一條光線其光通量衰減至使用者控制的低限值以下,則光線停止追跡,然後ASAP發出“低光通警告Low Flux”,你也可以指定相對或絕對的光通量低限值。 • 當ASAP中不正確的結構,產生了內部反射光線,或衰逝波。在波動光學模組中工作時,衰逝光束會被產生,光線會停止。在這個例子,ASAP發出衰逝波Evanescent (TIR) 警告。 • 假如你在HALT命令中指定了一個不期望的方向,光線會停止。當光線沿著指定方向具有任何分量,ASAP發出“Wrong Direction錯誤方向警告”。 • 當光線的光通量掉到它們相對或絕對的光通量低限值以下時,光線停止。當它們以折射率的虛部(吸收)分量來通過一個光學元件,ASAP發生“Absorbed After吸收警告”。 光線可能以一個好的理由被停止,該理由是會使你的整個光線追跡更有效率。它們也可以不好的理由停止光線,該理由指出你的模型的問題,或不良的光線追跡參數。你應該隨時檢查命令輸出視窗中的光線中止警告。確認你的了解,為何光線被停止,及這些光線停止的可接受理由你可以滿意。 錯誤邊問題的追蹤 Tracking Down Wrong-Side Problems 當ASAP在光線追跡後,發出一個“錯誤邊警告” , 你將怎麼辦?有時候,這個問題是很明顯的。你是否忘記定義一個表面呢?你是否剪下及貼上一些介面命令進入你的定義,而沒有適當修飾這些介質的格子?對ASAP的新使用者而言,這些是經常發生問題的來源。 然而,在許多案例中,解決方案可能不是非常明顯。ASAP提供許多有用的分析工具,你可以使用在這種狀況,大多數你已經在前面幾章中看到。下面的步驟經常可以帶領你快速地找到問題的根源,甚至於是在非常複雜的系統中。 ASAP Primer 入門指南 / 光線的中止-過早停止的光線 173-61
1. 孤立隔離這些有問題的光線來作分析。這是在任何ASAP分析任務的第一步,且是沒有例外的。光線中止警告,告訴我們有問題光線,現在在哪裡。在第350頁的圖中,光線在物件4停止,其為。從ASAP選項列,選擇Analysis>Choose Rays>Consider來孤立隔離在這個物件上的這些光線。 2. 尋找這些問題光線的光線編號。你可以利用Rays>Ray Information>List Ray Data來完成這件事。在這個對話框選擇Positions及Directions選項。ASAP在命令輸出Command Output視窗,列出所有有問題的光線。最後一欄顯示光線編號。選取任何一個有問題光線編號,來做詳細分析。 3. 找出這個介質,在其中光線假設是被定位的,及接觸的前一個物件。這個也可以從Rays選項,藉由選擇Rays>Ray Information>Show Ray Details來完成。在對話框中輸入光線編號,該對話框,你在步驟2中發現的對話框,選擇Basic Data及Paths選項。ASAP也將這些數據在命令輸出Command Output視窗中印出。注意這個數字,伴隨著變數MO及I0。它們是介質編號,及這條光線接觸的先前物件編號。你可以找到相對於編號的介質名稱,藉由選擇System>List Media。這個物件的名稱及編號,將一起顯示在ASAP Workspace工作區視窗中的Object tab選項。 4. 仔細檢查在第3步驟中發現的先前光學元件。使用幾何形狀確認工具,其在第5章中已討論,來尋找模型的錯誤。然後,在介面命令中尋找錯誤,該命令伴隨所有物件的表面。這步驟通常幫助你找到問題,因為先前的物件經常是問題發生的所在。 5.“洩光”經常可以用圖象化來發現,當我們使用ASAP 3D Viewer跟隨一條有問題光線,經過光學系統。你可以在定義光源之後,但在展現光線追跡之前,藉由選擇Rays>Choose Rays>Select完成這件事。(你可能要將你的光源定義放在一個分離的檔案來完成它)。一旦光源被定義,使用SELECT挑出一條在第2步驟發現的問題光線。當你追跡時,要使用Plot Facets繪製幾何元件形狀的圖象來確定光線的繪製。然後,使用3D Viewer來仔細地順著光線通過光學系統,尋找幾何形狀中的細縫 (gap)。 6. 若所有的努力都失敗,在光線追跡前孤立一單一光線,如第5步驟所為,但這一次使用Trace>Advanced Trace Rays。現在,你擁有完全的過程控制,包含逐步通過光學系統的能力,一次一個表面。使用這個選項來列出光線位置,所以你知道,當光移動傳播時,光線在那裡。在每一接觸面之後,檢查介質編號,如同在第3步驟中。將結果與你173-62 ASAP Primer 入門指南 / 光線的中止-過早停止的光線
期望作仔細的比較,給出你對系統的知識。藉由仔細檢查,這些動作保證會帶領你找到錯誤之所在。 Bare玻璃及Fresnel方程式 Bare Glass and Fresnel's Equations 雖然,我們不嘗試在Primer入門指南有限的空間中介紹光線分裂的問題。但是,從一個Bare表面,使用Fresnel方程式來計算反射及穿透係數並不困難。開啟Fresnel方程式的計算三個步驟需要: 1. 在定義任何幾何形狀之前,在接近Builder檔的上端,發出FRESNEL AVE命令。這個命令可以在Builder格子中的下拉式選單中Trace>Trace Control>Fresnel尋得。 2. 發出SPLIT命令來控制ASAP產生的子光線 (child rays) 的代的數目 (number of generation) 。你的原始光線(“父代”光線parent rays)能夠連續的分裂無限多的次數,但是假如SPLIT設定為1,則子代光線child rays不能再分裂。這個命令可以在Builder的Trace>Trace Control>Split中尋得。 3. INTERFACE命令中,將鍍層設定為Bare。這個鍍層是預先定義的,所以不需要鍍層COATING命令。 在一個檔案中,這三種步驟的組合使ASAP利用Fresnel方程式來計算反射與穿透係數,其為每一條到達介面光線入射角及折射率的函數。這裡是一個範例︰ ASAP Primer 入門指南 / 光線的中止-過早停止的光線 173-63
注意,我們已經介紹其他在光源被定義之前的新命令。IMMERSE命令是放在建造器Builder的Rays>Rays Control>Immerse。當這個命令在定義的光源之前被輸入,所有的光線在開始以這個被命名的介質命令之後產生,而不是預設內訂的Air空氣介質。結果,我們使用這個範例來顯示一個折射率為的玻璃,當入射角超過臨界角ASAP能夠由全反射 (TIR),正確地反射光線。見在第364頁的圖。 圖 ASAP藉由全反射 (TIR) 正確地反射光線。 173-64 ASAP Primer 入門指南 / 光線的中止-過早停止的光線
附錄17A 第17章的程式集 SCRIPTS FOR CHAPTER 17 下面ASAP的程式是參考第17章,“光線的中止-過早停止的光線”。 程式17-1 !!THE ASAP COMMAND GENERATED BY THE BUILDER FOR THE HALT COMMAND FOLLOWS :HALT 1 2程式17-2 !!THE ASAP COMMAND GENERATED BY THE BUILDER FOR THE CUTOFF COMMANDFOLLOWS :CUTOFF - 81000 程式17-3 !!!THE ASAP COMMAND GENERATED BY THE BUILDER FOR THE HALT COMAND FOLLOWS :HALT 1 2 Z-1E6- ASAP Primer 入門指南 / 光線的中止-過早停止的光線 173-65
173-66 ASAP Primer 入門指南 / 光線的中止-過早停止的光線
第 18 章 基本輻射度學及光度學概念 BASIC RADIOMETRIC AND PHOTOMETRIC CONCEPTS 這章的目標在這章中提供一簡短的簡介,或複習,基本輻射度學及光度學概念。是定義這些如果你是新接觸光學及定量量測系統功能者,你將發現此章的描述是名詞,你將在往後幾章非常有用的。這章的討論實際上大部分是描述性的。這它並不需要高中需要的,深的數學來了解所有的積分,才可以有效率的使用ASAP。畢竟,當及提供指定輻射度分析ASAP為我們做這些計算時,它只是排列光線並加入光通量的意涵。方法的恰當然而,你了解這些名詞是重要的,當我們應用特殊的命令到一組ASAP範例。 光線時,我們將嘗試回答什麼樣的問題也是重要的。這章的目標是定義這些名詞,你將在往後幾章中需要的,及提供特定輻射度分析方法的恰當範例。 如果你已一個比較精確的輻射度學的數學處理,將在ASAP技術導引中的“輻對輻射度學及光度射度學分析” 提供。幾個優秀的教科書也有這主題,包括Ross 學的定義McCluney所著的Introduction to Radiometry and Photometry, Robert W. 非常清楚,你可Boyd所著的Radiometry and the Detection of Optical Radiation和William L. 以跳過這Wolfe所著的Introduction to Radiometry。 章。 除了最普通的一般名詞,這章沒有包含特別有關ASAP處理輻射度學及光度學計算的方法。沒有新的ASAP命令在這章中介紹。如果你已對輻射度學及光度學的定義非常清楚,你可以跳過這章。如何利用ASAP來做輻射度學及光度學分析的討論留到本書的第19章到第21章。 ASAP Primer 入門指南 / 基本輻射度學及光度學概念 183-67
基本定義 Basic Definitions 在ASAP中輻射度學是關於任一波長的電磁輻射定量及量測。光度學是完全相同你所應用的的事,但是限制在人類眼睛有反應的波長範圍。這個物理學中的一支,每一分析工具,都是盡關心它自己明確的數學定義、名詞及量測方法。在ASAP中你所應用可能在蒙地的每一分析工具,都是盡可能在蒙地卡羅的光線追跡模擬嘗試對你的卡羅的光線追跡模擬嘗虛擬系統做一個輻射度及光度上的評估。 試對你的虛擬系統做一雖然,涉及輻射學及光度學的概念是相當簡單的,但是許多理工科系個輻射度及學生在這些主題中掙扎。其主要的困難自名詞就開始。只有4種基本光度上的估價。 量是要考慮的,但是每一名詞對其意義提供有限的提示: 表 輻射學的4基本量概念 Radinant flux輻射通量 功率 Irradiance 輻射照度 每單位面積的功率 Radiant intensity 輻射強度 每單位立體角的功率 Radiance 輻射亮度 每單位面積、每單位主體角的功率 當我們考慮光度學時,名詞的數量馬上加倍。雖然他們以相同量測的基礎,不同的名詞被用來區別光度學與輻射度學的不同定義。若將人類眼睛的頻譜反應考慮在內,上述4個物理量將變成光通量,光照度,發光強度及亮度。 表 光度學4種基本量的概念 Luminous flux 光通量 功率 Illuminance 光照度 每單位面積的功率 Luminous intensity 發光強度 每單位立體角的功率 Luminance 亮度 每單位面積、每單位立體角的功率 這些字眼也對它們的意義沒有給太多的提示,通常只是提供方便記憶。 這些名詞的使用仍然存在不一致性。不一致性的例子如這個名詞“intensity強度”。在英語中這個普遍使用的字是頡取自科學家來量測一些特定的或技術性的量。唯一的問題是甚至自然學家他們自己使用時也缺乏一致性。部份科學家使用intensity這字為radiant intensity的簡稱,或將power視為方向的函數。其他的科學家使用intensity為照度183-68 ASAP Primer 入門指南 / 基本輻射度學及光度學概念
irradiance,(每單位面積上的光功率),有時增加修飾詞field或optical,有時又沒有。仍然有一些人又加上修飾詞,specific intensity比強度來表示radiance(亮度)。雖然學校的學生都可以告訴你有些事物是亮的“bright”,一個光學工程師必須停下來並且思考是否光源是比較亮,只不過其具有一點較高的強度“intensity”。 有另一個更嚴重的混淆之源是︰使用來定量輻射及光度量測的“單位units”。有時候,它好像是每一習知者已經採用一組最愛的單位來發表結果。共同的光度及輻射度單位包括瓦特watts,流明lumen,燭光Candela,勒克司lux及nit。(我們將在下面的章節中定義每一名詞)。但是,你可能面對其他的單位,例如candle, foot candle, Lambert, foot Lambert, phot, nox, stilb, skot, glim,及兩種不同種類的apostilb(國際及德國標準),其中一種也稱為blondel(見McCluney所著,Introduction to Radiometry and Photometry之轉換因子)。 最後,混淆有時也來自輻射度學及光度學名詞被沒差別的應用在系統中的光源及檢光器上。有些作者發展其研究課就是如此,特別是在光源上的強調。在天文物理方面,例如,所有的輻射學計量對於星體 (star) 表面的特性及其物理特性的推論是不可或卻的。觀測的天文學家沿用相同的定義,沒有修改,當他從地球觀測星體以充分的敏感度來特徵化檢光器的系統。這些定義本身是一般性的。我們可以應用它們在光源或輻射能量的目標,或光線傳播的任何地方。 若你是輻射度學或光度學的新人,嘗試記住下面兩個重要原則來接近這一課題︰ 1.只有名詞與單位是混淆的。使用物理量基本的描述,而不是伴隨它的名詞。例如,使用“單位面積的功率”,而不要用“輻射照度”或“光照度”,因為基本的描述會告訴我們較多的正在執行的量測意義。同時,要記得當你見到“單位面積的功率”,其隱含意義為功率必定會在整個面積上有所改變,來使得這個物理量有趣及有用。一旦我們介紹及定義其他的名詞,我們將沿用這個慣用法在這一章及隨後兩章。 2.量測輻射度學及光度學的物理量的儀器能洞察這個被測物理量的本質。嘗試將量測的實驗裝置可見化。裝置的部份元件變動,及描述其位置的單位,可以告訴你那一個參數可以變動。然而,大多數的案例,ASAP並不需要你模型化量測裝置來執行分析結果,ASAP所採用的方法可能是最接近其相關的,或至少類比於這些儀器。我們將在下一章節中給這些裝置及其共同應用一般的描述。 ASAP Primer 入門指南 / 基本輻射度學及光度學概念 183-69
光通量 Power (Flux) 輻射度學 光度學 物理量 輻射通量 (Power or Radiant flux) 光通量 (Luminous flux) 單位 瓦特 (Watt (W)) 流明 (Lumen (lm)) 在光學中,flux及power是同義的名詞,其意義為單位時間通過的能量。要記得,光線不是一個光子;每一ASAP的光線攜帶的是flux光通量,而非單純的能量。一條光線代表是垂直波前從光源向外傳送一的穩定能量,通過介入的體積,最終傳送到達表面上。ASAP並不企圖去處理時域“time domain”的問題。所有的結果都是顯示一穩定態的解。 當我們對光通量來自光源的那一部位,或光線朝向那一個方向傳播,對我們都沒有差別時,詢問光源的總通量是有意義的。一個例子是當我們需要一個上限,從一己知的光源其光通量恰可耦合進入一個理想的光學系統。我們將如何來量測這個上限?理想上,我們需要一個很大的球形檢光器,其包圍這個光源,該檢光球體的內表面對所有波長的光波都敏感。在實務上,我們可以使用積分球,或一儀器具有一單一、可移動的檢光器,在每一角度上取樣光通量,然後相加。在兩個方法中的任一個,最終答案都是僅有一個數字︰以瓦特W表示的總光通量。 同樣地,若裝置內對各方向來的輻射有相同的敏感性,在其表面沒有位置敏感度的變化,我們也只是對檢光器上的總光通量有興趣。一個簡單的單晶PIN光二極體(可以將光能量轉變電信號的裝置),不必透過成像或集光光學元件,行為大致是如此,至少在各個波長都有。在這個裝置上所產生的電壓,大致上是與落在光二極體上的光功率成正比。 然而,任何實際上的檢光器,並不會對所有的波長有反應。一個矽的PIN光二極體,一般只對約400〜1100奈米的波長反應。更進一步說,檢光器並不會對頻寬帶內所有的波長均勻的反應,一個積分球也不是對所有的波長相同的效率。實務上,一個設計來量測功率的裝置必須非常小心的校正,對一個已知頻譜分佈的光源來校正它,然後得到一個真實的“輻射”結果。如果我們對光度學的物理量(光通量)有興趣,而非輻射通量,我們必須使用額外的(不同的)修正來達成與人類眼睛的光譜反應相同的儀器。當完成這個,單位將變成流明lumens,183-70 ASAP Primer 入門指南 / 基本輻射度學及光度學概念
而非瓦特watts,詳細的單位轉換,在下一節,“每一立體角的光功率”“Power per Unit Solid Angle”中討論。 我們將在第19章“分析總光通量及每單位面積的光通量”討論ASAP量測總光通量的方法。 單位面積上的光通量 Power per Unit Area 輻射度學 光度學 物理量 輻射照度Irradiance 光照度Illuminance 22單位 W/m lm/m=Lux (Ix) 輻射照度及光照度物理量是關心光通量如何在空間分佈。例如考慮照像底片,或CCD陣列。類似PIN光二極體,上述的兩種感光裝置,並不太在乎落在它們上面光線的方向。然而,二者都有位置的侷限性,底片上面的感光顆粒,或CCD上的像素,它們可以獨立的對特定位置上的光通量總數反應,這個反應就是它們能夠記錄在透鏡後面的成像,現在我們正在探索每單位面積光通量的變化,或以另外的方法描述,光通量是位置的函數。 當一位照明工程師被賦予一個停車場的照明任務時,其需求通常會包含在這個照明系統中路面最低處,或最高處的光照度illuminance的等級。實務上這些要求的規格可以被確認,藉由一個或多個檢光器,在地面上的網格點取樣光照度,來製作一個光照度為位置函數的地圖(見第372頁的圖)。輻射照度的量測是以“瓦特/平方公尺”來表現。假如人類眼睛的反應也考慮進去,這個單位將變成“勒克司lux”。這個單位的轉換過程,從“每平方公尺瓦特”到“勒克司lux”,在第373頁的每單位立體角功率“Power per Unit Solid Angle”中描述。 ASAP Primer 入門指南 / 基本輻射度學及光度學概念 183-71
圖 單位面積的光通量(輻射照度Irradiance或光照度Illumiance)可以被使用來調查戶外照明系統的效率。(上圖)兩根照明固定桿,及在地面上的照明分佈圖案。地面是分割成網格方塊,在每一網格方塊中的光通量是由顏色來顯示。(下圖)上視圖顯示相同的照明資訊,使用等光通量的等高線圖,及使用人工加色分佈的地圖。 我們將在第19章中討論ASAP中量測及顯示光通量為位置函數的方法,分析總光通量及位置光通量分佈“Analyzing Total Flux and Positional Flux Distributions”。 183-72 ASAP Primer 入門指南 / 基本輻射度學及光度學概念
單位立體角的光功率 Power per Unit Solid Angle 輻射度學 光度學 物理量 Radiant Intensity輻射強度 Luminous Intensity發光強度 單位 W/sr 燭光Candela (cd)=流明/立體角 輻射強度及發光強度是關於光通量為方向的函數。在這例中,我們不在乎光是來自擴展光源中的那一個發光點,或光功率是如何的分布在檢光器表面上。我們只關心方向。 汽車頭燈照明系統的目的是要將發自車燈的光集中成一向前方的光束。通常會有規範存在,車燈的方向必須照到某一些定點,且不能照到某一些特定方向。舉例說,汽車車燈規範不可以照到迎面而來的汽車駕駛者的眼睛。汽車車燈的設計者必須非常小心的限制總光通量,其方向在地平線之上,且在向前方的方向。現在我們對光通量是方向的函數感到有興趣。我們需要產生一個光通量是方向函數的分布圖(圖)。 圖 單位立體角的光通量(輻射強度或發光強度)是光通量與方向的分布圖。這個圖顯示的是一個汽車頭燈設計的發光強度分布圖,涵蓋左、右±25度及上、下±7度。這TM個分析圖中並沒有頭燈反射器或發光源的輻射點的資訊。圖是由ReflectorCAD,另一種Brecault軟體程式,為片斷式反射器的設計用。ASAP使用Picture Viewer產生類似的圖式顯示。 ASAP Primer 入門指南 / 基本輻射度學及光度學概念 183-73
調查員量測光通量flux為角度的函數。他們使用的裝置稱為goniometer或測角器goniophotometer測角光度計,圖顯示其概圖。 圖 goniometer測角器或goniophotometer測角光度計的基本概念圖。 一個檢光器被固定在圓環上可以在高度角及方位角間自由移動,來取樣光源的光功率分布在球體上的所有方向的函數。其他可能的機械結構也存在。在許多案例中,旋轉或傾斜發光源,而固定檢光器會較便利實現,這些原理都是相同的。 雖然,這些量光通量在角度方向上分布的裝置,有一些不同的機械安排,其終極的目標都是取樣量測光功率為方向的函數。檢光器到光源的距離與光源大小比較通常需要很大。理想上,檢光器是位在無窮遠的距離,在那裡,所有的輻射好像都來自一點光源。從遠距離量測會產生遠場分布及遠場球體的概念。 183-74 ASAP Primer 入門指南 / 基本輻射度學及光度學概念
在實務的裝置中,我們通常將檢光器安裝在至少為光源尺寸大小10倍的距離。你將在第21章,“分析方向分布Analyzing Directional Distributions”中看到,並不需要追跡光線到一大距離的球體表面上來探測光線的角分布。這些光線一旦它們被最後一次折射或反射它們就有了方向。 從輻射強度radiant intensity轉換到發光強度luminous intensity是從絕對的輻射度學量測過渡到光度學量測的基本要點。所有其他的輻射度學與光度學的物理量都從這一事實導出。 一個一個candela發光強渡的單位是定義為556 nm的單色光光源在一定方ednacal的定義為向發出每立體角1/683瓦特的輻射強度。雖然,現代的定義看起來似556 nm的單色光光源在乎任意,但是其“根”係深入輻射度學及光度學的歷史。其最早是根一定方向發據實際上使用的蠟燭,後來精化為參考指定實驗室的黑體輻射光源,出每立弳及最後定義為上面的描述,保留了一些舊傳統的一致性。一旦我們指1/683瓦特的輻射強出這出發點,所有其他的轉換在根據人類眼睛針對這一波長反應都可度。 以做好。舉例說,流明 (lumen) 是均勻的點光源發出1個candela的發光強度的光通量進入一個單位立體角。 我們將在第21章中討論“量測及顯示光通量為方向函數”的方法。 單位面積單位立體角的光功率 Power per Unit Area per Unit Solid Angle 輻射度學 光度學 物理量 輻射亮度Radiance 光亮度Luminance或Brightness 222單位 W/m-sr lm/m-sr=cd/m=nit 輻射亮度Radiance及光亮度Iuminance(也稱為Brightness)是關於光通量為位置及方向的函數。現在我們要關心光或輻射是來自光源或到達檢光器的那一部份,及自光源發出或到達檢光器的角度。 輻射度亮及光亮度都是重要的,因為它們描述一物對眼睛或成像系統看起來像什麼。若你注視桌上型電腦的顯示器,成像的細節是依賴光來自顯示器上的發光點及你觀看的角度兩項因素成像於你眼睛的視網膜。以另一種說法,任何企圖評估類似這種裝置的性能表現,必需指定一顯示器上空間的坐標及你的觀測角度。 ASAP Primer 入門指南 / 基本輻射度學及光度學概念 183-75
照像機及人類眼睛可能是最常見的儀器或器官使用來量測輻射亮度及光亮度。二者都使用一成像透鏡來將物的面,成像到檢光器上。這個透鏡也定義了立體角的大小及位置。當相機的底片,CCD或人眼的網膜事實上是量測光通量為位置的函數,你會因站的位置不同而獲得不同的照片。一個成像的goniophotometer測角光度計可能被用來從不同的角度取得上千張的成像來顯示一光源物件的輻射亮度及發光亮度特徵。 輻射亮度及光亮度是使用蒙地卡羅光線追跡方法的最大挑戰,因為有一大數量的光線必須追跡以獲得有用的結果。為了獲得單一的定量值,我們必須限制這些光線,其被安置在一特定地方,再限制光線的方向,指向一以一特定方向為中心的有限的立體角。 圖顯示這一結果。一個汽車尾燈反射器的模型,顯示它可能出現從一特定的觀察角度。 圖 顯示一個亮度分布結果,在一特定角depicting這片斷式反射器上的光功率分布。在ASAP中這種分析被稱為“視角驅動的輻射度分析”(VDRA)。它並不嚴格“lit appearance”因為立體角被允許在一5度的半角角錐,遠大於人眼在合理的距離下的角錐。這個範例來自汽車尾燈範例計畫 (<install directory>\projects\samples\Tailamp)。 為了最好的結果,你必須有很好的擴展光源模型照明反射器,及在光源及被照體所有可見表面的散射特性知識。 183-76 ASAP Primer 入門指南 / 基本輻射度學及光度學概念
我們將在第21章“分析方向分布”中討論ASAP量測及顯示光通量為位置及方向函數的方法。 摘要 Summary 下面的表摘錄了輻射度學及光度學在這一章中討論的物理量。 物理量 輻射度學 光度學 光功率power或Power或輻射通量Radiant 光通量Luminous Flux 光通量flux Flux單位︰Watt (W) 瓦特單位︰Iumen (lm) 流明 單位面積的光功輻射照度Irradiance 光照度 率 22單位︰瓦特/米 (W/m) 單位︰lux勒克司=流明/22米 (Ix=lm/m) 單位立體角的光輻射強度 發光強度 功率 單位︰瓦特/立體角 單位︰Candela=流明/立(W/sr) 體角 (cd=lm/sr) 單位面積單位立輻射亮度 光亮度 體角的光功率 22單位︰瓦特/米-立體單位Nit=流明/米立體角222角 (W/m-sr) (nit=lm/m-sr=cd/m) ASAP Primer 入門指南 / 基本輻射度學及光度學概念 183-77
183-78 ASAP Primer 入門指南 / 基本輻射度學及光度學概念
第 19 章 分析總光通量及光通量的位置分布 ANALYZING TOTAL FLUX AND POSITIONAL FLUX DISTRIBUTIONS 在這一章中,我們將討論新的ASAP分析命令,其允許你調查在你的模型中能量如何分布為位置的函數。藉由上一章中介紹的名詞,我們將使用ASAP來計算,你系統中不同物件上的輻射或luminous的光功率,及輻射照度及光照度(位置函數的光功率)。你將看到每一個操作牽涉的只是一單一的通過光線表 (ray table),就在此同時,ASAP依光線的位置分類光線就輻射照度或光照度的計算。ASAP產生一分布的檔案,根據該檔案,你可以作圖象的或數值上的分析。 複習基本分析 Reviewing Basic Analysis 在第11章中,我們介紹基本的分析概念。現在值得再複習,因為它們可以應用到這一章及下面幾章的每一任務,要記住這二個概念。 1. 除非另外指示,ASAP執行的分析計算總是使用全部的光線在全部的物件上。 你可能時常需要在進行你的分析之前隔離一子群光線。隔離光線的執行可以從Choose Rays對話框,在Rays或Analysis功能選單上可以獲得。你可以使用Consider的選項來隔離某一特定物件上的光線,及使用Select Rays來進一步隔離光線根據由被產生的光源及與之相接觸的物件及其他基準。 2. 分析計算是執行光線的分析命令在這時間發出時光線在這時間所擁有的位置、方向、及光通量等等,。ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布 19-379
如這個概念所蘊含的,我們隨時可以執行執行分析。你並不須要讓追跡光線完全的通過你的系統-或全部-在你執行這些光線的分析之前。如同我們在第9章所見,執行一些分析就在光源被建立之同時,可以幫助你決定是否產生了正確想要的光線。 總光通量-根據光學元件分類 Total Flux-Sorting by Object 記得ASAP保留所有的光線資訊在一稱為的二進位檔案(見補充附錄在131頁,第7章的“ASAP Rays Details”)。這個檔案包含資訊例如物件上的每一光線目前的位置,其全域位置坐標 (x, y, z),方向餘弦 (a, b, c),光通量,及其他在追跡及分析時有用的資訊。每一輻射度學或光度學分析總是從這個光線數據的一個通過開始,分類這些光線根據一個或多個參數。在輻射亮度或光亮度的例子,光線分類是依據物件來執行。我們想要知道全部光線在一給定物件上的總通量。如果你必須親自做這個,你可以從產生一個所有光線的表,藉由ASAP的主功能選項Rays>Ray Information>List Ray Data,並在對話框中選擇Positions。其結果顯示在命令輸出視窗為 圖 一個在ASAP命令輸出視窗中的表,顯示所有光線的光通量。 這個表只顯示十條光線。在大多數的案例,會有更多的光線,我們可以在每一物件上保持一光通量的running tally。幸運地,ASAP可以為我們執行這個分類及加總。這個命令ASAP使用的是STATS,它是“statistics”的縮寫。我們在第11章中使用這一命令,當我們使用Rays>Locate Rays開始我們的後追跡分析。相同的命令可以在Analysis>Calculate Flux中選擇Summary中同樣找到。 19-380 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布
圖 顯示的是一種裝置,可能你須要計算你系統中經過一次光線追跡後每一物件上的總光功率。 圖 一背光板的面板,被使用在液晶顯示器的背後來提供均勻的照明。這一類的裝置被用在手機及其他可以在黑暗中閱讀的電子顯示器。 這類的背光板顯示出薄的,塑膠的面板,其照明是由4顆發光二極體從側邊照明。光線行進通過這裝置利用內部全反射 (TIR),稜鏡將光線分散並以控制的方法將光線垂直的射出前面板。這類裝置的目的之一是從LED耦合光線到面板最大的量。 一旦光線追跡完成,我們可以讓ASAP依物件分類來發現在這系統中每一元件有多少功率停留(或經由“missed after”跳離系統)。這個結果經由Analysis>Calculate Flux中之Summary選項來產生,顯示在下面。 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布 19-381
---STATS O tcejb R sya Fxul 1 353034 2 340 27 8 D 3 33629 9 672 1484 2 772 1628 2 88 DISPL 872 5376 98 79 SAMPLES_URF 972 1415 -1 182 5 8729 LED. 282 46054 2 382 51933 482 1463 8 LED..2SIDES 682 5 8279 LED..2BACK 782 456 27 2 LED..2DOME 882 51966 LE D.. 982 1402 -1 192 51910 292 45531 LE 392 51291 8 492 1441 -1 692 5093 2 LE 792 45196 22 892 5091 7 -------------------------- TOTAL 164901 2 圖 ASAP中光線依物件分類的結果,可以決定有多少能量停留或逃逸。 我們可以學習到︰當四顆LED產生總共100 mW的功率,只有35 mW的功率到達輸出面(稱為SAMPLE-SURF)。有一小部份的光功率從別的面洩露出這個顯示器,但光線其從未耦合進入這個面板,在這個簡單設計中是最大宗的損失來源。 光通量與位置-由位置坐標分類 Flux versus Position-Sorting by Position Coordinates 在了解有多少光功率到達-曲表面之外,我們也需要知道在該表面上是如何分布的?我們在第9章及第11章中接近這一結果,當我們在指派的視窗中使用Rays>Graphics>Plot Positions 2D來繪製光線的位置。這點陣圖的結果,圖象化的顯示這些光線如何分布在檢光器的表面。雖然這個圖是對調查成像品質有幫助,但是它也可能在你嘗試定量化輻射度學及光度學物理量時造成誤解。它並不包含每一條光線的光通量資訊。在圖上每一個光點“spot”看起來與另一光點非常相似,雖然它們可能在光通量上有好幾個數量級的差異。在這一章中所使用的方法相當接近點陣圖。但是對每一光線攜帶有光通量的資訊加以考慮。 19-382 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布
當作光通量分布計算的範例,再來考慮在第380頁的“總光通量-依物件分類”的背光板範例。這類裝置另一個設計的目標是在取樣曲面上儘可能的產生均勻的光線分布。現在我們對光功率為位置的函數感到興趣,以輻射照度(輻射度學計算)或光照度(光度學計算)來稱呼這種物理量。雖然這一類的計算對ASAP來說不簡單,依如物件的光通量來分類,它仍然是透過光線表,注意每一條光線的空間坐標,分類伴隨的光通量到相關的坐標。在這方法中,ASAP可以在一表面上產生一個光功率每一單位面積的分布圖。 我們須要告訴ASAP什麼,以致於程式可以根據他們的空間位置來分類光線? ASAP需要知道的是︰ • 那些光線要分類,因為你通常並不對所有表面上的所有光線感興趣。 • 面積或“視窗”在其上來執行分類的結果,進一步限制有興趣的區域。 • 你想要達成的空間解析度。根本地,我們除光通量累積進不連續的bin箱子或“bucket”桶子,分布在曲面的表面。我們必須指定這些bins箱子的尺寸大小。 你已經知道如何隔離光線來作分析。這個工具首先在第11章被介紹,從主功能選單,選擇Analysis>Choose Rays>Consider來隔離這些光線在一或多個物件上。在這個LED背光板範例中,我們只考慮SAMPLE-SURF,因為這裡是我們想要計算光功率分布的地方。若我們只想看4個LED光源之一的光功率,我們可以使用Analysis>Choose Rays>Select,來進一步限制在這分類中的光線。 其他的事情可以用Analysis>Calculate Flux Distribution來完成。當你從主功能選單選擇此一命令,其對話框顯示如圖。一旦你填入適當的資訊並按OK,ASAP會執行真實的分類。 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布 19-383
圖 Calculate Flux Distribution這個對話框是ASAP中最詳細的對話框之一。它收集必要的資訊給三種不同的ASAP命令︰視窗WINDOW,像素PIXEL,及點陣SPOTS。WINDOW及PIXEL命令建立參數,ASAP需要使用SPOTS來執行這些數據的binning。 在對話框的左上區域,Method是選用Flux/Area (irradiance using SPOTS 你可以從這POSITIONS)。如這方法的名稱所蘊含的,也如同我們在上面所提醒裡及任一的,這個活動動作是非常接近產生點陣圖的。 ASAP對話框顯示程式圖也顯示出真實的ASAP計算引擎所執行的命令。你可以從這裡藉由在Scritp按鈕及任一ASAP對話框顯示程式藉由在Script按鈕上點選。 上點選。 雖然,我們在先前碰見的點陣圖中並沒有提到,單一的ASAP命令,SPOTS POSITION可以執行分類及binning光線數據,及產生一個點陣圖。對話框包含產生點陣圖的圖式或壓縮它的選項。 19-384 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布
註︰若你有一大數量的光線,它可能耗費頗長的時間來產生點陣圖。這個圖,事實上,是非常電腦使用密集的比事實上光線進入箱子bins的分類。更進一步說,點陣的密度可能是如此的高,以致於由圖式只能傳達少量的資訊。考慮使用Plot every [n]th ray或Do not generate plot選項當你執行一個大量的光線追跡分析時。 在ASAP可以執行真實的光線binning之前,我們仍須要指定視窗及解iWndow坐標允許析度。在我們的例子中,SAMPLE-SURF is Y-Z平面,所以在對話框的我們來製作整個表Window區域的輸入是正確的選擇。若我們勾選Auto Scale box,我們面的分布將獲得一個視窗其大小恰夠大來包含所有落在SAMPLE-SURF的所有地圖-不論其是否光線。在許多情況下,你可能喜好來明確地指定精確的視窗坐標,如包含光線我們已做的。這些坐標允許我們來製作整個表面的分布地圖-不論其與否,且給我們完是否包含光線與否,且給我們完全的控制解析度。 全的控制解析度。 ASAP命令中設定解析度的命令為PIXELS。你在對話框中的PIXELS RESOLUTION區域輸入必須的資訊。全部最需要的是一個整數值(內設值為39),其設定bins(或pixels)的數目,進入這一視窗將在垂直方向被細分為此整數個。 再一次注意,ASAP在視窗中首先指定垂直方向,雖然是有一點和一般的標準不同。 我們已經在Y方向指定像素的數量值,如圖所示。ASAP自動地計算水平方向的像素數量值以方形像素來填滿指定的視窗。 因為ASAP必須在兩個坐標軸方向使用整數個像素,在兩側的像素,極左及極右可能多少會與視窗重疊。你可以藉由改變Aspect Ratio的值迫使改變直角長方形像素的尺寸,其是有關像素水平一垂直的尺寸比例(內訂值為1)。 圖顯示其結果的像素畫點陣圖的頂視圖。ASAP現在有一個任務是將每一光線加總其光通量,其落在一給定的像素。 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布 19-385
圖 這是一10 × 10的Plot Viewer視窗被分割成7個垂直的像素。ASAP自動地產生21個水平的像素來填滿整個視窗。若整數個像素不能恰好合適水平方向尺寸,ASAP允許左右兩端的像素行與視窗重疊,甚至於在沒有光線的視窗外也考慮。注意,ASAP並沒有提供工具來畫這些格子的線條。這個圖是由產生一系列的邊緣為基礎的線條來產生,並使用PLOT EDGES來將它們重疊在點陣圖的上方。 在這種特殊的情況你將選擇多少像素?我們已經推論這種選擇只是在挑選所想要的解析度。好的解析度總是期望的,所以為何不挑選ASAP中所能允許的最大像素?一個蒙地卡羅光線追跡模擬的準確度限制所無法避免的結論是由於實際我們能追跡的光線數是受限的所造成。這些限制造成結果的統計上變動,當你挑選不多的光線進入太多的bins (pixel) 時,精確度會更差。當我們討論AVERAGE命令時,我們將再回到這個主題,並在第444頁,第20章的補充附錄“要多少光線?及要多少像素”中再討論。 註︰提供給你的像素總數會隨著你的ASAP版本而變動。這個數字也傾向於因應快速強大的電腦而修改新版的ASAP時增加,你可以從Command Input視窗執行DIMENSIONS來觀看你版本的極限。要記得只可用大寫的字元。在標示為Sampling Pixels on a Side選項中檢查該數值。 提供在這對話框中的選擇,是出現來限制我們在垂直的全域坐標軸之一的平面表面上的執行分析。事實上,當對話框被使用時,這個限制正是這個案例。ASAP分類光線根據兩個卡氏三坐標軸坐標(在WINDOW命令中被命名的兩個)。第三個坐標被忽略。結果,我們執行這種型態的分析由將所有目前考慮及選擇的光線投影入指定的視窗,不論它們的“深度”坐標,且這個視窗總是卡氏平面之一。然而,它也可能在傾斜或歪斜的平面上執行分析。這過程描述在第394頁的補充附錄“Distribution on a Tipped Detector 在傾斜的檢光器上的分布” 。你也可以在一個平面表面執行這些分析,其法線方向在一選擇19-386 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布
的物件參考點上。使用具有一視窗在此分析命令上的AXIS LOCAL 命令,其將在線上求助說明中解釋。 分布檔案 Distribution File 若你不在Calculate Flux Distribution的對話框中指定繪製點陣圖,ASAP可能要工作數分鐘(如果你有一個大數量的光線)並已沒有明確的結果作結束。然而,大量的工作已經完成,ASAP已經產生一個分布檔案distribution file。 --- SPOTS POSITION ATTRIBUTE 0 Distribution of data within: Window Vertical: Y = to ( ) Horizontal: Z = to ( ) Opening NEW distribution file 9: C:\ASAP Work\ASAP Primer\ Rays Flux 573686 Maximum = minimum = +00 圖 在命令輸出Command Output視窗的分布檔案摘要。 在其他事情中,這個輸出顯示ASAP已經在你電腦工作目錄中產生一二位元檔案包含標個名稱為的檔案。這是個分布檔案。它是二位元檔案包含頭信息及標頭信息及二為的浮點數字陣列顯示每一個像素上的光功率。 二為的浮點數字陣列顯示每結果的檢視 Viewing the Results 一個像素上的光功率。 ASAP提供給我們廣泛的工具來與分布檔案工作。它們允許我們來展示及進一步處理這些分布檔案。雖然在這一章中我們對照度及照明(光功率為位置的函數)而論的工具感到興趣,但是分布檔案及展示工具為一般概念,其滲透充滿在整個ASAP程式。我們將系統化地在下一章中介紹這些工具。 然而,目前我們將簡明地進入這些工具,來對上面所產生的分布檔案有一快速的導覽。由Display> Graphics>Picture所產生的圖式顯示在圖。ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布 19-387
圖 PICTURE命令產生一人工加色的分布圖檔。這個分布是使用39個垂直的像素(內訂值)來產生的。ASAP提供117個水平像素,在這一案例,剛好完全填滿視窗。 在Display Viewer出現的檢視圖,這個視窗我們尚未在這本Primer入門指南中提到過。這預設的檢視特性是一數據分布的人工加色地圖式,其由SPOTS POSITION命令及由一個有垂直斷面及一個水平斷面數據的橫斷面圖所產生。我們將在第20章中再詳細介紹Display Viewer及其他顯示工具。 19-388 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布
摘要 Summary 在這一章中,我們已經討論了下面的新命令。 命令 功能選單 描述 STATS Analysis>Calculate Flux 依物件分類光線,並在每一物件上加總光通量。 CONSIDER Analysis>Choose Rays 指定物件(及在其上的光線)或SELECT 指定光線(根據其他判斷準則)來分析。 WINDOW Analysis>Calculate Flux 類似Rays>Graphics>Plot PIXELS Distribution Positions 2D,除非有一分布檔案SPOTS POSITION 已產生,且圖式為可選擇的。 DIMENSIONS 顯示一個最大陣列尺寸的表給最重要的ASAP陣列,根據你所擁有的版本。 DISPLAY Display>Graphics>Picture 在Display Viewer視窗顯示一個PICTURE 分布檔。 這一章的標題是使用ASAP來分析2個基本的輻射度學及光度學的分析物理量︰ 1. 在一系統模型內每一物件上總輻射亮度及光亮度的光功率。 2. 光功率為位置的函數(輻射照度及光照度)。 計算任一個物理量涉及單一次經過光線表 ()。總光功率的計算是單純的依物件編號分類,加總每一光線的光通量到一給定的表面。這個任務是由功能選單使用Analysis>Calculate Flux來達成。計算光功率為位置的函數有一三步驟的過程: • 從Analysis>Choose Rays孤立隔離你想要分析的光線。 • 根據它們的位置分類光線,指定視窗在其上可以執行分析及想要的空間解析度。你可以從Analysis>Calculate Distribution來執行這一步驟。其結果是一分布檔,儲存在你的ASAP工作目錄中如。 • 觀看結果。有許多在Display的工具選項提供給你。我們只介紹Display>Picture,其產生一人工加色的地圖,及通過分布檔的圖式斷面圖。許多其他圖式的及處理工具被設計來專門的與分布檔案工作,其在第20章中介紹。 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布 19-389
練習9︰簡單閃光燈模型 Exercise 9: Simple Flashlight Model 使用拋物面反射器及一發光螺燈絲,建立一個簡單的閃光燈模型。將閃光燈的方向指向Z方向。觀看在距閃光燈一段短距離牆上的光功率分布為位置的函數。 1. 使用Builder,開始定義一新的系統。你可以選擇你自己的單位,但我們將被給予所有的空間尺寸單位為cm及光通量的單位為瓦特。定義一100%反射的鍍層為下面定義-拋物面反射器使用,及定義吸收鍍層的牆面。 2. 從Surface>Optical模型化-拋物面反射器具有下列參數: 拋物面鏡頂的位置︰z=-10 cm 鏡頂拋物面的曲率半徑︰5 cm 圓錐常數︰-1 直徑︰40 cm 3. 從Surface>Plane>Axis產生一個長方形的牆面,具有下列參數: 位置︰z=200 cm 尺寸大小︰400 cm×400 cm 4. 從Sources>Emitters>Helix產生一個發光螺線形燈絲,具有下列參數: 方向︰沿著y軸 總長︰2 cm,以全域的原點為中心 螺線之直徑︰ cm 螺線形燈絲之直徑︰ cm 螺線的匝數︰10 光線的數量︰100,000條 5. 在Builder中使用Rays>Ray Modifiers>Flux Total來設定光源的總光功率為2瓦特。 6. 執行Builder檔案來產生幾何形狀及光源。注意看ASAP的提示號在繼續執行之前是否回到狀態顯示列。 7. 從Rays>Graphics>Plot positions 2D來證實光源,選擇Y-Z視窗。檢查螺線燈絲的長度及直徑藉由按下shift鍵及移動滑鼠在Plot視窗中來讀位置的坐標。 19-390 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布
圖 證實確定光源的位置及尺寸大小。 8. 證實確定光源與反射器的相對位置。從System>Profiles(Y-Z視窗),產生一反射器與牆面的輪廓檢視圖式。設定Pixel Resolution of Plot圖式的像素解析度為501來改善圖式的品質,並且選擇Overlay Next Plot來保持Plot視窗開啟以接受更多數據。然後再使用Rays>Graphics>Plot positions 2D在相同視窗中來繪製光線的位置。每10條光線繪製一條出來。藉由使用滑鼠游標在這plot檢視視窗內,檢查發光螺線絲相對反射器及牆的相對位置。如果需要,可以放大這圖式來觀看。 圖 證實光源相對反射器的位置。 9. 回轉向量檔以便從前一圖式中消除舊的3D資訊。 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布 19-391
10. 追跡光線,每100條光線繪製一條光線重疊到Plot Facets。在3D Viewer觀看結果。 圖 將光線追跡重疊到幾何形狀物件上。 11. 從Analysis>Calculate Flux,選擇Summary選項來證實所有的光功率到達牆面。 12. 從Analysis>Calculate Flux Distribution產生一個以位置為函數的光通量分布(輻射照度irradiance)。選擇Y-X視窗與牆面相同尺寸大小。同時產生一個點陣圖,每10條光線繪製一條光線。 13. 從Display>Graphics>Picture來顯示結果。 圖 計算光通量分布的圖式結果。在圖式的左側顯示的是光線的點陣圖,其僅顯示光線的位置分布並沒有顯示每一條光線的任何光通量資料。在圖式的右側顯示的是經過光通量加權後光線分布的圖象。 19-392 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布
提示 (Hints) • 假若需要,見第3章來溫習如何設定系統單位及鍍層特性。 • 注意,我們尚未指定波長,也尚未定義任何介質。在這系統中唯一的光學要件是反射性的,所以我們不期望有折射,也不期望有波長相依的光學行為。結果,波長及介質在這一案例中皆不需要指定。 • 我們已經指定所有的尺寸以直徑及全寬度來表示。記得ASAP期待尺寸的表示是以半徑及半寬度。 • 在這案例中,它不需要使用Analysis>Choose Rays隔離光線來供分析之用,因為所有的光線在系統中都到達同一元件。 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布 19-393
在傾斜的檢光器上的分布 Distribution on a Tipped Detector 產生在圖的3D檢視圖顯示一個簡單的狀態,在其上光線被收集在一傾斜的表面。這檢光器被旋轉,所以它表面的垂直法線與Z軸呈45度。當我們被強迫在三個坐標軸的垂直面上作一選擇時,其結果在圖的點陣圖及其分布檔案並未顯示造成此結果的檢光器參考框。 圖 光線追跡的3D檢視及點陣圖重疊在幾何形狀元件上。黑色點顯示原本的點陣圖,然而紅色的點顯示在檢光器參考框是旋轉光線後所見到的點陣圖。 圖 原本的點陣圖。 這個狀態是易於矯正的。雖然我們無法旋轉這分析的視窗,但是我們可以暫時旋轉這些光線。回想,這些光線已經被賦予坐標及方向。向量的位置及方向都可以透過任何角度,針對任一點旋轉好像它們是幾何形狀元件。 19-394 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布
我們須要以檢光器平面旋轉的方式,相同的旋轉這些光線,只改變角度的符號。這個特定的平面已在Builder中定義如圖顯示。 圖 Builder檔用來定義旋轉平面。 這個分析可以正確地執行藉由旋轉光線繞X軸-45度,並以y=0,z=10的點為中心。你可以從Rays>Rotate Rays來完成這個旋轉。使用來產生這個旋轉的命令是︰ RAYSET ROTATE X 4-5 0 10 其結果的點陣圖顯示在圖。 圖 在光線旋轉後,光線所見到的檢光器參考框上的點陣圖。 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布 19-395
19-396 ASAP Primer 入門指南 / 分析總光通量及光通量的位置分布
第 20 章 顯示工具 DISPLAY TOOLS 這一章將包ASAP提供我們一組很容易了解的分析工具,來達成圖像可見化及處含不是這一理數據檔案。在這一章中我們將描述及示範這些命令。大多數的命令本入門指南可以應用到所有型態的輻射度分佈,不只是應用在上一章所討論的輻Primer的典型討論課射或照度結果。然而,目前,我們將繼續使用在上一章所發展的背光題。你可能發現到瀏覽板輻射的例子適時地來舉例說明這些工具。只有兩個顯示工具將是特許多定的來做角分佈的分析。這些工具將在第21章“分析方向分布entries是有幫助的,Analyzing Directional Distributions”中討論。 使用這一章為參考。 這一章將包含的詳細程度不是這一本入門指南Primer的典型討論課題。顯示工具的許多方面都還沒有在ASAP文獻中好好討論,所以它們將在這裡仔細的被討論,以使ASAP的文書較為完整。你可能發現到瀏覽許多entries是有幫助的,及待會兒當需求時,使用這一章為參考。在這一章末的摘要表中快速的檢示,對最有興趣的命令描述,將可能證實是一個有用的導引。然而,本章中的前兩個章節的討論︰“Distribution File Details分布檔案的細節”及“Display Tools-Overview顯示工具的全景”將是基本的,應該被仔細的學習。 分佈檔案的細節 Distribution File Details 在第19章中,我們介紹了分佈檔案的概念。這個光線分類及累計光通量的工作,為位置的函數可以藉由Analysis>Calculate Flux Distribution來完成。處理後的最終結果存在你工作目錄名稱為bro009 . dat的檔案,該檔案包含有分布的數據。 ASAP P remir入門指南 /顯示工具 02-397
註︰由於bro009 . dat是一個二位元的檔案,下面描述的有數種方法可以將檔案的內容轉為ASCII文字碼。如果你對進一步學習二位元檔案的格式感到興趣,可以在線上求助說明Help上的主題為“分布檔案結構Distribution File Structure”中有詳細描述。 SPOTS POSITION不是唯一可以產生分布檔案的命令,許多ASAP命令使用這個有彈性的檔案格式來儲存數據陣列。這個命令與光度學及輻射度學量測相關,包含SPOTS及RADIANT來分析幾何光線。它們都在此書Primer中有討論。當ASAP使用於同調光束模式時,FIELD及SPREAD產生相同的功率分布。見技術導引“Introduction to Wave Optics”,可獲得這些命令的更進一步資料,其他ASAP命令其寫到bro009 . dat的將包含SAMPLED, FMAP, RENDER, MAP, VOXELS, APODIZE, USERAPOD, COLLECTION及OPDMAP。大多數這些命令產生一個單一的二維陣列,然而,其它(可注意VOXELS)產生一個三維的分布,適合在3D Viewer中觀看(見圖)。 圖 有些ASAP的命令,例如VOXELS,產生一個三維的數據分布。這個展示顯示了一束光線進入一散射體積的結果,depicting在材料中的功率流。這個3D Viewer視窗顯示6個移動的面,所以你可以在體積內以圖象來探討其分布。這圖是以Volume_Scatter0l . inr為例的程式繪製,位置在於<install directory>\ projects\ examples. 02-398 ASAP P remir入門指南 /顯示工具
註︰因為所有命令的內訂輸出是一個名稱為的分布檔案,在很多案例中,你可以有自己命名檔案的選擇。為了大部份的歷史理由,你自己命名的檔案副檔名為 . dis,而不使用 . dat。然而,這些檔案的格式是相同的,其後所隨之而來的ASAP分析工具及方法都可應用到兩種副檔名格式的檔案。 數種其它的ASAP命令及巨集也會產生分布檔案,雖然它們不用bro009 . dat為它們的預設內訂的檔案名字。我們將這些命令列示在此,因為下面描述的許多圖式及處理工具也都可以應用到這些檔案︰ 命令或巨集 使用 $ITER(第一語法) 發現使用者定義圖式的行為,具有一個或多個參數的績效函數;將結果放在iter . dis檔案 $EVAL 評估一個使用者定義的函數,將結果放在eval . dis檔案。 MODEL...PLOT 繪製散射模態的BSDF,將結果放在名稱為<model name>. dis,例如,harvey . dis 顯示工具的回顧 Display Tools-Overview 在ASAP的顯示工具是以ASAP計算引擎所提供的圖式及處理命令為它在ASAP顯示工具基礎的彈性組合。它們在ASAP中唯一的功能是在分布檔中顯示及處中唯一的理數據。雖然我們將視他們以光功率為位置函數(輻射照度及光照度)函數是在分布檔中的情況而言,這些工具是一般的,沒有特殊之處。他們可以使用上面顯示及處所列出的任一命令所產生的分布檔案一起工作。 理數據。 大部份的工具可以從Display功能選單中獲得。這些Display的次選項,顯示這些工具可以被分類為三個寬鬆的分類︰ 1.檔案操作, 2.圖式,及 3.處理。 ASAP P remir入門指南 /顯示工具 02-399
所有的DISPLAY命令與一個分布檔的複製檔案一起工作,該複製分布檔案保檔是在你電腦中的RAM區維護。這個分布檔本身為bro009 . dat,在你留著內容電腦硬碟中則保留沒有更動。假若你在處理過程中犯了錯誤,或可能直到下一次你要為了嘗試不同的趨近法,原始的資料則一直保持在bro009 . dat。這個ASAP計算檔案甚至保留在你結束目前的電腦開機期間。它保留著原封不動的內一個新的光通分布容直到下一次你要ASAP計算一個新的光通分布才被覆蓋,或執行其才被覆他會使用到bro009 . dat檔案的命令,如列示在397頁的“分布檔案的蓋。 細節Distribution File Details”。 註︰偶爾,一個新的ASAP使用者無法在光線追跡後產生一個分布檔,直接就進行到Display的命令。若一個舊的檔存在於你的工作目錄,ASAP會繪圖及處理這些舊數據,不會發出錯誤或警告信息。雖然在故意地作此工作時,這是一個有用的行為,它常常也是混淆的來源。要切記,當作任何類的分析其涉及藉由位置及方向坐標來分類光線,你必須在你進行繪圖及處理之前產生一個分布檔。如果你獲得非預期的結果,或結果好像不會改變,不論你在你的幾何形狀或光源作任何改變時,你可能正在看一個舊的分布檔。檢查命令輸出Command Output視窗來確認你是否成功地在SPOTS命令之後產生新的分布檔案。 將分布檔案載入記憶體來分析有數種方法存在。下面所討論的所有圖要切記,式及處理工具,執行了這一步自動地第一次從Display功能選單中選擇當作任何類的分析的操作。當你使用命令程式時,你可以使用Display命令。 其涉及藉由位置及一旦被載入,在ASAP視窗的最下端的狀態列的提示號會從方向坐標來分類光ASAP>改變為DIS>。這個提示號告訴你,這個陣列現在已載入記憶線,你必體,及所有緊接著的Display命令將在這個複製檔上操作,甚至你已經須在你進行繪圖及從原始的形式中修飾了它。在下面的描述中,我們稱這個工作中的複處理之前製檔為“分佈數據distribution data”或者“distribution data array”。產生一個分布檔。ASAP自動地離開這個特殊部份的程式,在任何時刻你發出一個非顯 示工具的命令,ASAP>提示號(或其他)會回到狀態列。假如,你發出一個顯示工具命令,你可以在命令輸出視窗看到一個小的警告,它讓你知道,下面的訊息已經發生︰ ***Unrecognized DISPLAY subcommand! 然而,這個警告並不會防止新的命令被執行。 註︰進一步有關在狀態列上不同提示號的意義的更多訊息,見線上求助說明“ASAP Prompts”。 02-400 ASAP P remir入門指南 /顯示工具
當你開始讀取bro009 . dat進入分布數據陣列,ASAP總是在命令輸出Command Output視窗列印出檔案的標頭資訊。所有與數據相關的資訊及如何產生是這個標頭的一部份,例如,由SPOTS POSITION所產生的數據,看起來應類似下面的圖示: ---DISPLAY Opening OLD Distribution file 9:C:/ASAP Work/ASAP Primer/ File header: Geometrical Ray SPOTS 1 X mW/sq-MM Z mm 117 Y mm 39 Statistics on 39 by 117 data set: mW / sq-MM Location Y mm Z mm Minimum 38 116 Maximum 30 116 Average 20 59 -06 -06 TOTAL mW = 檔案操作 File Operations 在顯示工具中,有4種被ASAP的顯示工具支援的檔案操作。這些操作是主要使用來讀取或寫入分布數據檔案到你的碟片裝置。你可以從Display>File的次選單中接近它們。 Display>File>Open/Read 這個Open/Read開啟/讀取檔案的操作是用來從記憶體中讀進分布檔案,以便做圖像化及數據處理。如果你只想要處理最近產生的檔案工作,你並不需要來使用這操作。所有GRAPHICS及PROCESSING命令都自動地從記憶體讀進bro009 . dat,如果你還沒有做這件事,只要你從Display功能選單接近它們。然而,這個命令是非常有用的,假如你已經執行一些分布數據陣列的處理,你並不滿意這些結果,或任何理由想要重新開始。選擇Display>File>Open/Read,選擇Files of type: All Files,並且在你的工作目錄中瀏覽bro009 . dat。 註︰你正在執行的ASAP命令是Display。當你在第22章“撰寫命令程式”Writing Command Scripts中學到撰寫命令程式時,你將發現這個操作並不會自動地替你執行,這個Display命令必須在你的程式中ASAP P remir入門指南 /顯示工具 02-401
被包含,以便將分布數據載入記憶體。ASAP將不會辨識其他的Display命令,直到你已經完成這個步驟。 Display>File>Save/Write ASAP包含Save/Write命令,所以你可以儲存目前的分布數據陣列到硬碟中。你可能想要保留結果,避免下次你要求ASAP計算光通量分布時被覆蓋,或你使用其他會產生bro009 . dat檔案的命令(見第397頁的“Distribution File Details”)。在你已經處理過這些檔案後,你可以選擇儲存你的結果到永久的檔案。一結果的對話框 (Display: WRITE) 給你一個選項,將資料寫入以二進位檔案格式 ( . dis),文字檔案格式 ( . din) 或者兩者皆有。藉由Display>File>Open/Read如上一節所描述,二位元進位檔案可以被讀回ASAP,來做未來的分析與處理。雖然文字版的的WRITE命令用來做為觀看分布檔案(包含標頭資訊)是非常有用的,TEXTFILE是輸出數據的一種優先考慮方法。 註︰文字版的檔案 (*. din) 可以被視為命令程式。你可以從這些*. din檔案中複製*. din文字列到程式檔案,或使用$READ<file name . din>來讀取*. din的檔案,進入另一個程式檔案。雖然以這個方式來讀取分布函數並沒有優點(它事實上會較慢)但是,它卻顯示了如果有這種需要時如何產生你自己的分布數據檔案。我們將討論這個處理過程,在這一章的補充附錄,第446頁的“產生你自己的分布數據”。 Display>File>TEXTFILE TEXTFILE命令將目前的分布數據寫入到一個文字檔案。這個方法輸出分布數據到ASAP之外,以便其他程式的使用,在圖形使用者介面 (GUI) 唯一能提供的選項是這個檔案的名稱及該檔案在硬碟中的位置。當你按OK,ASAP產生一個文字檔包含二維的每一像素的數值表。 -01 -01 -01 -01 -01 -01 -01 -01 -01 -01 -01 -01 -01 -01 -01 -01 -01 -01 0..2940370E-01 -01 -E01 -01 -01 -01 -01 -01 0..6474341E-01 -01 -01 -01 -01 -01 -01 0..3587401E-01 -01 -01 -01 -01 -01 -01 -01 -01 -01 0..8425464E-01 -01 -01 -01 -01 -01 -01 02-402 ASAP P remir入門指南 /顯示工具
註︰造成TEXTFILE混淆的一個來源是這些數據橫地列印出來的方式相對於它們出現在Display視窗中,由PICTURE所顯示的方式。在這個數據表中,左上角的數值是出現在Display視窗的左下角,當你自左向右讀過表中的一列,這些數值相對於像素,數據是從Display Viewer的底部開始,然後向上處理,為了將數據表的數值如它們在Display Viewer中所顯示位置可見化,想像將這個數據表逆時鐘方向旋轉90度。 命令列版本的TEXTFILE提供額外的選擇及彈性來輸出數據。它允許你詳細的指定數據的格式,且包含有是否包含任何標題資訊的選擇。例如,你可以列印數據在三欄的格式,包含每一像素中心的兩個空間座標,列在像素值的旁邊。你也可以控制這個數值列印的格式,如下面所列︰ +00 +00 -02 +00 +00 -02 +00 +00 -02 +00 +00 -02 +00 +00 -02 +00 +00 -02 +00 +00 -02 +00 +00 -02 +00 +00 -02 +00 +00 -02 •• 見線上求助說明Help,來看TEXTFILE的詳細命令細節。 Display>File>IESFILE IESFILE命令將定型態的分布檔案轉變為標準的IESNA光度學檔案,這個特點是適合於顯示輻射強度及發光強度數據,你可以從下列網頁中下載檔案,包含IESNA檔案格式的規格︰ #Formats 將捲軸移動到“Thinking Photometrically II-Lightfair International 2001 Workshop Notes”來尋找聯結到Adobe® Acrobat®的pdf檔。 ASAP P remir入門指南 /顯示工具 02-403
圖式工具 Graphics Tools ASAP提供我們九種圖式選擇,或工具,來觀看原始的或處理過的分布數據。這些圖式以不同的輸出工具顯示,包括Plot Viewer、Chart Viewer、Display Viewer、及3D Viewer。 線條圖是已經傳統地被顯示在相同的Plot Viewer,其提供PLOT Facets、 PROFILES、TRACE PLOT命令的輸出,在前面章節中已經看見。另一個選項Chart Viewer,被增加到此軟體中,來提供輸出的功能及使用者的控制。這些控制利用了目前視窗環境的使用者介面特性的優點。 Plot Viewer 提供7種這裡所描述的圖式選項,雖然Chart Viewer也提供這些選項。這一章中顯示了這兩個圖式觀察器Viewer的一些精隨內容。 註:為了使用Chart Viewer的這些選項,開啟使用者介面最愛 (User Interface Preferences) 的對話框(File>Preferences),選擇 Plot Viewer tab,其中的 Use new chart viewer for displaying graph。當不用這一選項時,預設的觀察器viewer是Plot Viewer。另一方面,你可以從命令輸出視窗Command Output Window執行 $GUI CHARTS_ON或以程式輸入。要離開這個模態時,從命令輸出視窗執行 $GUI CHARTS_OFF即可。 所有的觀察器Viewer都以預設的狀態顯示,但這只是一個起點而已,這些觀察器Viewer的各種可能展現圖式能力,值得去細細品味與發現。 圖式工具是在數據分布陣列上操作,反應了目前的狀態。你第一次接觸這些工具之一,或者處理工具之一時,ASAP會自動地從bro009 . dat載入原始數據到記憶體。如果你緊接著使用任一種處理命令,記憶體中的原始數據將會以處理過的數值重新放置到數據分布陣列,然後緊接著使用圖式工具來反應這些改變。如果你想要再看原始數據,你必須從bro009 . dat重新載入,如在第401頁所描述的“Display>File>Open/Read”。 我們將描述的前四個顯示工具,是使用來一次可見化visualize四個在分布數據像素上的資訊。在圖中的四個圖像顯示的是與第19章中背光顯示板的相同分布數據,但是以不同的方式顯示。 02-404 ASAP P remir入門指南 /顯示工具
圖 四個圖式顯示工具提供一種方法來將完整的工作複製分布數據檔案可見化。CONTOUR及ISOMETRIC是顯示在Plot Viewer視窗,PICTURE出現在Display Data Viewer視窗,MESH則為3D Viewer產生一個向量版的分布。 ASAP P remir入門指南 /顯示工具 02-405
Display>Graphics>Isometric 圖 Display: ISOMETRIC的對話框。 這個ISOMETRIC命令提供一個方便的方法,讓我們來可見化整個分布檔案,如同顯示在第401頁圖的左上角的例子。這個命令只有幾個選擇。它顯示一個Isometric投影,切過分布陣列。由於內訂,你經由你所指定像素的數目獲得相同數目的截面。你也可以有選項為Plot Every nth Line。Abscissa Magnification參數經由一個Scale factor讓你放大或縮小,在最後結果圖式中的數據高度。這個數值可以以浮點(小數點)輸入。 見的第20章附錄,在第449頁的“程式20-1”。 Display>Graphics>Contour CONTOUR命令產生一個等高線圖,如在第405頁的圖左下角方塊所顯示的圖式,產生該圖的參數,顯示在第407頁的圖。 02-406 ASAP P remir入門指南 /顯示工具
圖 Display: CONTOUR的對話框。 由於內訂預設值,ASAP產生五個Equally Spaced Levels等間隔高度,但是你也可以改變這些數值,或輸入指定的高度值。如果你選擇指定高度Specific Levels,ASAP通常期望看到介於0與1之間的分數值。例如,如果你想要看到等高線圖的最高值的25%,50%及75%,你要輸入,,。如果你要絕對高度值,你可以告訴ASAP包括至少一個數值其可以大於1或小於0。這個訊號值“Signal value”必要時可以是在數據範圍之外,如同我們在這個例中強迫所做的。 註︰雖然控制等高線的位置是可能的,但是目前並不能指定顏色來顯示,ASAP在27種顏色中循環使用,在整個程式中來顯示幾合形狀及多元的光源。 Color Fill選擇在等高線間以較低值的等高線顏色填入。對目前大多數的印表機及圖形顯示裝置而言,High Resolution及Low Resolution選項並沒有區別,這個選擇保留下來是為了保持與舊版的ASAP相容。 ASAP P remir入門指南 /顯示工具 02-407
你也可以有選擇Draw Tick Marks(如圖所示)或Draw Grid Lines。小標籤或格子的間隔是以系統的單位輸入的,圖形中每個mm顯示小標籤在圖式中顯示位置的尺規。 如果你選擇Write Contours to Vector File,這個等高線圖式也將在下次你開啟3D Viewer中顯示。 在這個圖中以內插值舖蓋其外廓也是可能的。見下面的討論在Display>Processing>Table。 見第20章附錄,在第449頁的“程式20-2”。 Display>Graphics>Mesh 你可以使用MESH命令來產生一個向量版的分布數據適合在3D Viewer中顯示。背光顯示的結果出現在第405頁的圖的右上角。使用3D Viewer來顯示分布數據有幾個優點。第一,雖然顯示是與Isometric選擇類似,但是3D Viewer,提供我們一個方便的方法來旋轉數據,改變我們的觀察點。第二,3D Viewer允許我們同時顯示幾何形狀,光線數據及分析結果在一個檢視圖上。圖顯示這一個範例。 圖 3D Viewer結合四種不同的要素在這個例中。基本的幾何形狀是藉由PLOT FACETS被放進這個向量檔案中。“迷失後missed after”光線在光線追跡中設定MISSED ARROWS後使用TRACE PLOT命令,將光線放置到向量檔案中。在光線追跡後SPOTS POSITION產生一個分布檔案。藉由指定Color Fill及Write Contours to Vector File,Contour命令產生填充式的等高線。最後,Mesh產生三維版本的分布結果,在其他元件的上方。 02-408 ASAP P remir入門指南 /顯示工具
註︰ASAP自動地設定mesh的垂直的尺規,所以最大值是與視窗的最大的空間大小類似。你可以使用RANGE命令來改變。見在Processing章節中的Display>Processing>Range。 見第20章附錄,在第449頁的“程式20-3”。 Display>Graphics>Picture 這個PICTURE命令顯示了第四個版本的數據,這次顯示的是一個像素接一個像素人工加色的數據分布圖。其結果是顯示在Display Viewer,一個功能很大及多才多藝的視窗,我們在前一章中已簡單的介紹。當你從功能選單中選擇Picture將沒有選擇項。顯示在ASAP主功能選單列的Display Viewer選項,當檢視視窗被點選,是迷惑地稀疏,事實上,在這工具中有許多可用的選擇,在顯示圖式或調色盤長方形圖形區或視窗的背景區域按滑鼠右鍵來接近。 圖 Display Viewer視窗從功能選單列有一些選項可用,但是在視窗中的特殊區域按滑鼠右鍵,可以產生一個下拉式選單,具有更多的選擇。左上角的繪圖顯示區域控制繪圖顯示本身,也切換其他兩個視窗要素的開啟與關閉。不選Cursors來消除圖形視窗。不選Palette來消除調色盤長方形。在任一個圖形顯示區按滑鼠右鍵,來擴展游標進入圖形區域,選擇圖式平滑化。在長方形調色盤區域按滑鼠右鍵來進入調色盤選擇功能,在背景的任何地方按滑鼠右鍵來選擇一般的顯示選擇。 在人工加色分布之外,Display Viewer包含數種其他的Display>Graphics選項的能力,包含等高線Contour及由滑鼠游標趨動物替代方式到GRAPH命令。藉由使用圖為導引,作這個命令的實驗未發現不同的選擇。你也可以引用線上求助說明這個視窗︰選擇Help>Display Help從ASAP功能選單列,當Display Viewer被點選,當你選擇你的最愛的顯示選項,ASAP會記住這個組態在下一次你使用這個工具時。 ASAP P remir入門指南 /顯示工具 02-409
見第20章附錄,在第449頁的“程式20-4”。 在下面四個圖式工具提供其他方法來顯示目前分布的全部或部分的資訊。 Display>Graphic>Graph 圖 Display: GRAPH的對話框 在Plot Viewer視窗中,GRAPH命令畫分布檔案的截面圖,範例顯示在第412頁的圖及。藉由使用背光板的範例,這兩個圖式顯示的是兩種替代的圖形方法來分析分布數據。 02-410 ASAP P remir入門指南 /顯示工具
圖 這個GRAPH命令在分布檔案中產生一個或多個垂直的截面圖。在這個例子中,如顯示在Chart Viewer觀察器,有五條垂直的切面,被指定在背光面板的左邊邊緣。 ASAP P remir入門指南 /顯示工具 02-411
圖 ENCLOSED命令顯示相同處理過的數據的結果,它圖形化了光功率被包含在半寬度平方的函數的百分比。這個平方數值從分布的中心向外擴展,注意其曲折點為5,如顯示在Chart Viewer觀察器。 由於內訂,GRAPH圖的圖形化對分布數據做了垂直截面。水平截面可以藉由首先調換這些數據來獲得(見在432頁的“Display>Processing>Transpose”)。這個Display: GRAPH的對話框提供了許多不同的選擇。就Plot本身而言,你可以繪製一條線通過最大值Line Through Maximum Value,繪製一條通過最低值的曲線Line Through Minimum Value,選擇曲線數目Line Numbers,或一個在整個垂直寬度中部分分數的一個截面。這個曲線數目的分數Fractional Number of Lines是最普通的選擇,你將非常平凡的指定來獲得通過分布中間的切面。 你也有一個選擇可以增加底部座標標示Bottom Axis Level,及兩條annotation在圖式的底部,垂直軸總是該像素的光通量的數據,雖然這個尺規可以使用X Axis Labeling選項來改變。 你可以選擇Append to Previous Graph來顯示超過一個圖形命令在一個相同的圖式視窗。注意,不像在許多其他ASAP繪圖背景,其具有可覆蓋的選擇,在第一個視窗被產生後,表現你的意向來附加數據到一個開啟的繪圖視窗。額外增加的數據也是在相同的垂直尺規中繪製。 如果你需要控制圖式的垂直尺規,你可以使用RANGE命令與THRESHOLD命令,這些被討論在下面的處理工具中。 見第20章附錄,在第450頁的“程式20-5”。 02-412 ASAP P remir入門指南 /顯示工具
Display>Graphics>Enclose 圖 Display: ENCLOSED的對話框。 這個ENCLOSED的命令產生這一類圖式,顯示在第412頁的圖。水平軸是原始視窗被包含在一組像素半尺寸大小的功率平方。垂直軸是被包含在這一個次集合內總功率的百分比,這個有時候也被稱為“ensquared”(與encircled相對應)功率。這個方塊內的功率會增長到100%的功率被包含,你可以選擇是否你想要將方塊的中心放在像素的中心 (Centroid),或者是最大值 (Point of Maximum Value),或者是一個指令的像素為中心。在這個圖中,被包含的光功率大約平方地增加(如一個均勻分布)直到方塊到達數據視窗的垂直邊緣 (y=5)。然後,它大約是線性的增加,經過均勻的照明區域,然後在靠近差的照明邊緣,區線會掉下來。 見第20章附錄,在第450頁的“程式20-6”。 註︰雖然有一些處理已經做了來獲得Enclosed的圖式,但是它並不被認為是一個處理的命令,因為在目前分布陣列中的數值,是不會以任何方式改變的。圖式是這個命令唯一的產出。 ASAP P remir入門指南 /顯示工具 02-413
Display>Graphics>Plot3D 圖 PLOT 3D的對話框 PLOT3D命令結合isometric顯示具有通過數據的數個截面圖(見圖)。這是ASAP中最古老的DISPLAY命令,保留在程式中大部份是為了向後相容以前版本。 02-414 ASAP P remir入門指南 /顯示工具
圖 PLOT3D的圖式,如顯示在Plot Viewer觀察器,結合一個isometric圖具有三個斷面︰垂直(紅色),水平(藍色),及對角線(橙色)。 斷面是通過分布的峰值,並不是通過幾何中心,且並沒有選擇項可以來改變這行為。你總是會在斷面檢視看到通過數據的垂直與水平的片狀。你也可以看到第三對角線片,如果像素包含最大值有odd indices。 所有PLOT3D的函式也存在於其他的DISPLAY命令,具有更多的彈性。見GRAPH, TRANSPOSE,及ISOMETRIC的討論。 ASAP P remir入門指南 /顯示工具 02-415
Display>Graphics>Radial 圖 Display: RADIAL的對話框。 RADIAL命令執行繞一個點,分布數據的徑向平均。換句話說,它是平均了數據在像素中的資訊,和這些像素距離指定的中心有相同的徑向距離的其他資訊。它可以產生一個徑向平均值的圖式 (Radial Function),包含encircled功率 (Integral Function),或兩者兼具。 範例顯示在圖,在第417頁,顯示了兩者。在大多數的例子,徑向平均是只適合分布數據中有徑向對稱的情形。 02-416 ASAP P remir入門指南 /顯示工具
圖 一個原始分布檔的isometric圖,如顯示在Chart Viewer觀察器,由SPOTS POSITION產生的一個徑向對稱分布。 ASAP P remir入門指南 /顯示工具 02-417
圖 經過分布中心的截面,如顯示在Chart Viewer觀察器,經徑向的平均(紅色線),及數據的積分為徑向位置的函數(藍色曲線)。 02-418 ASAP P remir入門指南 /顯示工具
圖 一個新的分布數據,如顯示在Chart Viewer觀察器,在使用Replace選擇項之後以平均值數據覆蓋於分布的工作複製檔中。 當使用ENCLOSED(上面所描述),你可以執行繞一固定中心點的徑向平均分布 (centroid),一個指定像素Pixel或一最大值點Point of Maximum Value。 註︰因為ASAP只允許正方或長方形的分析視窗,因此數據擴展到視窗的角落將會有問題。要確定選擇一個視窗其大到足夠包含內接圓形的分布,而讓角落保持空的。否則,任何內接圓外部光通量平均的展示都將可能在結果圖上產生加工品。 雖然這個顯示工具在許多方面與Enclosed相似,執行相同的功能,對徑向對稱的數據,仍然有一個關鍵的不同點;Radial給你修飾目前分佈數據的選擇,將每一數據替換為從該點到中心距離的所有數值徑向平均值。這個修飾是藉由選擇Replace Current Data With Radially Averaged Data來完成。當使用在這個方法時,RADIAL命令是一個Processing也是一個Graphical工具。如果你近距離的看使用PICTURE或者GRAPH的結果分佈數據,你將看到該分佈的展示完美的對稱你所指定點的中心,甚至於這一個中心點的值已經被“平滑”,根據新分佈的臨近點行為。 見第20章附錄,在第450頁的“程式20-7”。 ASAP P remir入門指南 /顯示工具 02-419
Display>Graphics>Directional 這個DIRECTIONAL命令是適合來使用於只有具有方向的數據分佈(是SPOTS DIRECTION,而不是SPOTS POSITION)。他將在第21章“Analyzing Directional Distributions”中被討論。 數據處理工具 Data Processing Tools 除了執行如上所述的分佈數據外,你也可以修飾或者數值化展示這些數據使用不同的展示數據處理工具。所有這些工具可以在Display>Processing功能選單上尋得。那裡你所接近的命令,允許你平滑,轉移,或者操縱分佈檔案。記得當這些命令修飾數據陣列,你只是在分佈檔案的複製檔案上工作。原始分類及由SPOTS POSITIONS累積的檔案仍然原封未動地存在你碟片中的。你可以恢復此一原始數據,或者使用Display>File來儲存修飾過的數值,該操作描述在第397頁的“File Operation”檔案操作。同樣地處理數據的命令,其改變目前的分佈數據並不會自動地展現修飾過的數據或更改已開啟的Display Viewer, 3D Viewer,或Plot Viewer視窗。你必須重複Display>Graphics命令來看新的結果。總數有15項處理的選擇可以提供在功能選單上,另外有兩種(ABEL及THRESHOLD)只提供在命令程式。我們將他們的用法在下面摘錄。 Display>Processing>Angles 這個ANGLES命令轉換存在檔案中角度分布的方向餘弦為角度度量。這個外理工具將在第21章中詳細討論。 02-420 ASAP P remir入門指南 /顯示工具
Display>Processing>Average 圖 Display: AVERAGE的對話框 這個Average命令藉由平均鄰近像素來平滑化目前分佈數據。這個命令通常應用在“噪音化”數據,其由太少的光線散佈在太多的像素所造成,這個命令唯一所需要的數值參數是在平均地區上垂直和水平像素的數目。平均過程的詳細細節顯示在第409頁的圖。 ASAP P remir入門指南 /顯示工具 02-421
面板1 由SPOTS產生的原始分佈 面板2 由相鄰像素平均而成 面板3 由相鄰2個像素平均合成 面板4 由相鄰5個像素平均合成 圖 四個漸進的Display Viewer面板示範Average命令在背光板光通量分佈的效應。最上面框是原始分佈由Calculate Flux Distribution過程所產生。其於的三個框是使用不同量的平均,如圖旁的說明指示。注意在左右兩側靠近光源的可見詳細細節在平均的方塊逐漸增加時消失。 注意,假如你選擇Average Over 1 Adjacent Pixel,事實上你是取一個3 × 3區域的平均,也就是9個像素。假如你取兩個像素,你是平 02-422 ASAP P remir入門指南 /顯示工具
均一個5 × 5的區域,其於以此類推。當你平均較多的像素時,其結果看起來比較平滑,但是你也不斷地損失空間的資訊(見第423頁的圖)。然而,那一個是最精確的呢? 圖 在ASAP中AVERAGE命令是一個“箱型車”的過濾器。如果你想要平均相鄰的像素,ASAP事實上畫一個3 × 3的盒子環繞每一個像素,然後以這9個點數值的平均重置回該像素。這個盒子然後向右移動一個像素並且為這個像素計算一個平均值,使用原始數值(非平均值)。在那些已被算過盒子裡的像素在角落只有四個像素被平均,沾著邊線只有6個像素被平均。如果你選擇Weighted Averageing選項計算九個像素的加權平均,使用數值的平方根來決定加權。 如在圖中的範例所顯示,你可能標記光通量的真實變化為位置的函數,其你正常調查。平均不會增加資訊,他只能突顯已經存在的特性。 注意,你已經獲得效應,其於使用大像素(像素個數得以較少)的平均類似(但不是完全相同),當你一開始使用ASAP計算光通量分佈。然而,在這事實之後,操作需要儲存備份和執行SPOTS再一次計算使用Analysis>Calculated Flux Distribution。重複這個步驟變得相當費力,當牽涉在這個分析的光線數目增加,使用AVERAGE命令具有相當大數字的像素,也會使得展示看起來與增大像素大小比較不會“馬賽克”。然而,資訊的內容基本上仍然是相同的。 在第424頁的圖顯示相同的光線數據在兩種不同的方式中分析。 ASAP P remir入門指南 /顯示工具 02-423
圖 第一個圖使用第39個像素。第2個圖使用了3倍的像素同時應用了3 × 3箱型車boxcar的平均。 02-424 ASAP P remir入門指南 /顯示工具
兩種數據的 Viewer display 清楚地顯示垂直的繫縛,其是由於幾何形狀物件下面的稜鏡,它將光線自光導分離且照射在樣板表面。第二檢視圖的像素化比較平滑,可能看起來比較舒服,但是基本上與第一檢視圖包含相同的資訊。 其它在Display: AVERAGE對話框中可獲得的選項是Weighted Averageing with Monte Carlo Statistics(以蒙地卡羅統計加權平均)。如果選擇,ASAP假設每一像素的誤差與該值的平方根成正比,根據平均值來加權該像素。這個選項對保留原始數據中尖銳的峰值或強烈的位置梯度很有用。 統計扮演一個重要的角色,解釋從蒙地卡羅模擬所得到的數據。假若你不清楚這些概念,見補充說明,在第444頁的“多少光線與多少像素”。 見第20章附錄,在450頁的“程式20-8”。 Display>Processing>Combine 圖 Display: COMBINE的對話框。 COMBINE命令合併兩個分佈檔案。這個工具最常用的用法是增加分佈檔案從獨立的光線追跡來形成單一的結果。例如,一些分析研究員若由執行ASAP在數個平行的電腦來執行大量的光線追跡。每一電腦追跡光線經過相同的幾合形狀系統,但是每一instance種子值是改變來產生不同組的隨機光線。分析研究員使用Display>File>Save/Write來記錄保管每一個別的結果,然後將它們合併使用Combine命令。 在上面例子的Display對話框,我們已經假設一個結果儲存在Sampl . dis的檔案。一旦你使用任何Display命令(例如︰Display>Graphics>ASAP P remir入門指南 /顯示工具 02-425
Picture來確定新的結果),最近產生的分佈檔案 () 是在記憶體中,變成Currant Data。 見第20章附錄,在450頁的“程式20-9”。 註︰另一方法,你可能已經使用Display>Open/Read來載入額外的歸檔數據來結合。然後這個數據就是Current Data。 選擇File Name選項並且瀏覽歸檔的結果,其變成Incoming Data。在這個例中,Action是被設定為: New Data=Current Data + 1 × Incoming Data。 藉以將兩個結果相加,你可以由選擇來包含一個multiplicative尺規因子,如果需要。如果你正在執行扣除背景,你可以使用尺規因子為 -1。 你也可以使用DISPLAY: Combine工具來相乘兩個分佈,雖然這是比較不常用的。如果你使用命令語言,你也可以結合分佈以任何方式,其可以用ASAP的函數和表示式來表現。例如,假如你需要兩個檔案的比例,你必須重新分類這個。 註︰當結合檔案,總是要確定這些數據在兩個分佈在完全相同的視窗及像素設定中形成。為了完成這個,你必須明確的指定視窗的邊界,而不是讓ASAP自動的根據光線的位置來制定尺規。唯一的錯誤檢查由Combine來執行是一個簡單的測試來確保兩個分佈具有相同的數據點。這個命令,然後只是執行一個像素接著一個像素之結合,沒有登錄或內插。 Display>Processing>FFT 圖 Display: FFT的對話框。 02-426 ASAP P remir入門指南 /顯示工具
FFT命令計算分佈數據的傅利葉轉換來產生一個空間頻譜或其相反。例如,他也可以被用為計算一個點光源成像的MTF。有幾個以命令程式撰寫的此程序範例在ASAP範例的資料庫,該資料庫在你儲存碟片的ASAP Install區,路徑為<install directory>\ projects \ examples。見mtf_obscured . inr, psf_poly_doublet03 . inr及mtf_ideal_lens . inr。 見第20章附錄,在第450頁的“程式20-10”。 Display>Processing>Fold Fold命令平均目前的分佈數據,繞著一條垂直或水平的線,或兩者皆具。例如,背光顯示器的例子是典型地適合這一個問題,因為它在兩個方向上都有側面對稱。因為這個光源及幾何形狀的對稱統馭在顯示器4個象限的差異只是統計問題,我們可以替換每一個像素以4個像素的平均值(見圖)。它所具有的效果與4倍光線追跡相同。 圖 這兩個圖式顯示的是應用Display: FOLD的效應。上圖顯示的是原始分佈數據,下圖顯示的是經過環繞垂直與水平中心褶疊數據的結果。現在我們可以利用設計中的對稱性優點。注意,雖然新的分佈數據仍然具有相同的像素數目(在這個案例中為39 × 117),相同的數據值是only replicated在四個象限。 ASAP P remir入門指南 /顯示工具 02-427
Display>Processing>Form 圖 Display: FORM的對話框。 FORM命令改變數據的形式或者將所有的值提昇一個特定的功率,或取其對數(以10為底)。 你可以有一個選擇寫入新的16字元標題到分佈檔案的標頭區,藉由在Display: FORM對話框中輸入。這個標題出現在下一個圖式視窗的適當位置,如圖所示。 圖 在Display: PICTURE之後的Display: FORM的結果,自ASAP發明創立的40年來已經顯示在圖形中。對顯示一個方式模仿人類眼睛來解釋它的方法的結果,這個處理方法也是有用的。人類眼睛是比較容許功率上的變化;一個強度上兩倍的變化人眼的感知是一個模糊不明確的變化。這個數據的檢示圖使用117個不具有平均的垂直方向像素。對數的選擇對你具有一個非常大的範圍的分佈數據特別有用。它對趨近分佈數據的視覺出現visual appearance也非常有用,因為人類的眼睛具有觀看非常大動態範圍的能力。我們對刺激察覺的反應傾向於對數處理而非線性方式處理。 02-428 ASAP P remir入門指南 /顯示工具
如果你選擇對數的選項,你需要指定一個數字Orders of Magnitude (decades) 來顯示,相對於最大的像素值。這個數字建立分佈檔案及所有接著的圖式一個“地板”訊號準值,所以往後圖式的動態範圍不會被少數幾個極端小的值耗盡。它也可以避免FORM數據中碰到有0的情況,其對數將為無窮大。 見第20章附錄,在第451頁的“程式20-11”。 Display>Processing>Modify 圖 Display: MODIFY的對話框。 MODIFY命令改變所有數據或一個範圍的像素在目前的分佈陣列。這裡的範例使用的是Linear選項。所有的分佈檔案內的數值將被改變由乘上常數b及加上常數a。你可以選擇這個來產生一個小心的比對在ASAP的結果與實驗室量測其包含一個小的偏壓及增益因子。假如你設定b為0,一個或多個像素可以設定為數值a。 第二個選項根據一些其它的函數關係轉換數據,這關係可以是定義在ASAP命令語言的內部定義函數,或者是使用者定義的函數。見線上求助說明的主題,其中Mathematical Functions有內部函式的清單。使用者定義函數是以$FCN巨集的形式進入,見$FCN,及MODIFY線上求助說明的細節。也可以見範例資料庫中。 ASAP P remir入門指南 /顯示工具 02-429
見第20章附錄,在第451頁的“程式20-12”。 註︰$FCN出現遍及整個ASAP,且在每一內容表現不相同。在某些案例中,使用者定義的函數能夠擁有一個獨立變數,雖然多數的引數是允許的在其它的案例。當使用MODIFY命令。只有單一數值被期待,是一個像素的值,它是以畫底線的字元( _ )輸入。 如果你想要對數據取對數或者提升數值to a power,見第428頁的“Display>Processing>Form”。如果你需要修飾數據為位置函數,你可能需要來使用Combine命令,關聯一個使用者定義的分佈檔案。見在第446頁的補充附錄“產生你自己的分佈數據”。 Display>Processing>Normalize 圖 Dsplay: NORMALIZE的對話框。 NORMALIZE命令將所有的目前分佈值除以一個常數因子。最常用的用法是除以最大數據值Maximum Data Value。然後,峰值就是1,自然地其他的值可以依照比例縮減。ASAP也會記得前一個歸1化的數值 (Previous NORMALIZE Value),所以其他分佈檔案可以被讀取且歸1化在相同的位準來直接比較。你也可以選擇歸一化到任意的數據值 (Data Value)。這個數值可以對所有的數據來除。 Display: NORMALIZE對話框也可以提供選擇來重新尺規化座標軸,其座標軸是由WINDOW命令(在背光板範例中為y及z)來指定的位置02-430 ASAP P remir入門指南 /顯示工具
(方向)座標。你可以歸1化兩個座標軸以相同的因子,但是在命令語言中允許他們獨立的變化。 見第20章附錄,在第451頁的“程式20-13”。 Display>Processing>Offset OFFSET命令平移目前分佈數據的空間座標系統的原點。你指定垂直Vertical及水平Horizontal平移。這個座標平移而後出現在你隨後所產生的圖式中。 註︰OFFSET這個命令不是適當的方法來登錄分佈檔案,該數據具有對稱的座標平移,只有標頭資訊其指定了視窗的設定被改變。像素內的數值並未在任何方式下被改變。 Display>Processing>Range RANGE這個命令是被用來增加垂直繪圖尺規的範圍,在圖形命令,例如GRAPH, PLOT3D, ISOMETRIC, MESH, CONTOUR。你可以用這些工具來迫使多於一個分佈數據顯示在相同的尺規。然而,它只可以被用在擴大繪圖範圍。 註︰如果你需要減少垂直的繪圖範圍,可以使用THRESHOLD指令來置入一個地板或者天花板在數據中。THRESHOLD命令目前並不在Display的功能選項中,但是可以直接在命令輸入 (Command Input) 視窗中鍵入。見第439頁“THRESHOLD命令的討論”。 Display>Processing>Reduce>Crop REDUCE這個命令出現在Display功能選項中有兩種型式。Crop版減少分佈檔案的大小,藉由消除分佈外面的列及行,該分佈的要素只包含陣列的最小值(通常為0)。 ASAP P remir入門指南 /顯示工具 02-431
Display>Processing>Reduce>Zoom 這個Zoom的命令選擇在分布數據中的一組像素次數據集合。所有其他的像素全部去掉,造成一個較小的分布陣列。Zoom的放大區域可以是在分布的中心Center,或者左下角Lower Left,或者右上角Upper Right。這個分布的次集合是由Zoom Fraction決定,它是輸入視窗的每一維像素個數的分數。假如這分布是方塊的(具有相同垂直和水平方向像素數目),你只要輸入一個參數。長方形的分布一定要輸入兩個分數Fraction,垂直方向先輸入,水平方向後輸入。 見第20章附錄,在451頁的“程式20-14”。 再一次,在命令程式版本中的REDUCE命令具有較高的彈性。如果你寫一個命令程式,或在命令輸入視窗直接鍵入命令,你可以由指定像素絕對範圍的選擇,允許你在分佈檔案的任何範圍挑選正方形或長方形像素的次集合。見線上求助說明輸入REDUCE命令來查看細節。 02-432 ASAP P remir入門指南 /顯示工具
Display>Processing>Section 這個SECTION命令指定了一個分佈的次區段,其你可能想要列印、複製到變數或者重置以新的數值從你前面所設定的變數。你指定水平及垂直你感興趣的像素範圍。垂直範圍的限制是10個像素,水平範圍的限制是26。如果你要較大的範圍工作,你需要執行SECTION命令超過一次來取得全部的像素。要記得像素 (1,1) 是在左下角當使用Display>Graphics>Picture產生檢視。在這個檢視圖中,垂直是向上,水平是由左向右增加。 見第20章附錄,在第451頁的“程式20-15”。 第一個選項,List Section of Data,在命令輸出視窗中,列出一個顯示數據值的表具有列與行的標題︰ 藉著使用TEXTFILE命令的輸出,這些數值必須被逆時鐘旋轉90度來符合Display Viewer的展示。注意對數據的較大區段,使用TEXTFILE命令 (Display>File>Textfile) 可能比較方便,因為在這個狀況下沒有像素範圍的限制。 ASAP P remir入門指南 /顯示工具 02-433
第二個選項,Copy Data Into Variables,將這些數值放置進入一個規定的登錄變數組。在執行這個選項後,你可以藉由在命令輸入視窗鍵入®來確認結果,並在命令輸出視窗中檢閱變數名稱及其數值。 這些數值而後是在Builder或在程式語言中以參數的形式被獲得。它們保留在電腦中(甚至於通過SYSTEM NEW命令及RESET命令)直到發出END命令,或者直到ASAP被重新開始。 註︰你可能從上面的部分表中明顯看到像素指標被包含在每一變數的名字。例如,V11-H1就是像素 (11,1)。記得包含變數的名稱在括號中,假如你單獨使用這個值而不是數學表示式的一部分。 最後一個選項,Copy Variables重置了一個範圍的像素以先前儲存在ASAP登錄變數中的值。其第一垂直行必須儲存在暫存器A0到A10,第二垂直行暫存器在B0到B10,以此類推至Z0到Z10。如果你正在使用GUI你可能不會使用這個選項,因為載入數值到這個變數是困難的。SECTION命令的變化是最適合來重置一組數值,該數字在命令程式中計算。比較直接來改變部分指定像素的數值的方法只使用功能選項是藉由在第429頁Display>Processing>Modify所描述的方法。 02-434 ASAP P remir入門指南 /顯示工具
Display>Processing>Table 圖 Display: TABLE的對話框。 TABLE命令的主要功能是覆蓋將一個內插值的表到等高線圖上。如圖所示,這個對話框產生10列及10行的數值在命令輸出視窗及Plot Viewer視窗。(見圖在第436頁)。 ASAP P remir入門指南 /顯示工具 02-435
圖 再一次,在這兩種情況下,依名詞的觀念,行與列是倒置的。傳統的意義(行是垂直的矩陣,列是水平的)只應用到命令輸出視窗,然而在Plot Viewer顯示的是這個矩陣的倒置。 其次,你可以指定Number of characters per cell來控制被報告的精確度。精確度--特別是在Plot Viewer的例中--必須與能供給的空間平衡。你也可以藉由在Plot Viewer中的Plot section對話框中填入Scale characters欄位(內訂值為)來改變Plot Viewer中數目的大小。通常,一些實驗是需要的來適應你的需求。 見第20章附錄,在第451頁的“程式20-16”。 雖然你可以選擇不產生Plot Viewer的輸出,TABLE命令是很少被這種方式下使用。正常地,你可以檢查Create plot及Overlay next Plot選擇項。當你按OK,這個數字將被列印在兩個視窗,你可以進行利用Display>Graphics>Contour來完成這個圖式。你應該避免在Display: CONTOUR對話框中使用Draw Tic Marks或者Draw Grid Lines選項,來保存結果圖式內兩個元件的相對尺規。 02-436 ASAP P remir入門指南 /顯示工具
註︰TABLE命令在ASAP中總是內插。它視由像素中心所構成目前分布的邊界為真實的邊界,然後,從那裡向內內插像素的值甚至當報告邊緣及角落的值時,就是這個原因ASAP從不必從像素中心向外外插。使用SECTION或TEXTFILE來訊問精確的像素值。 Display>Porcessing>Transpose 圖 Display: TRANSPOSE的對話框。 TRANSPOSE命令允許你來導轉在分布中二個空間(或方向)坐標的意思︰垂直的變成水平,水平的變成垂直。數據陣列於是有效地對應對角線跳轉。這個操作通常使用在與GRAPH命令連結來產生圖式的水平值(在WINDOW命令中的第二個坐標)。 見第20章附錄,在第452頁的“程式20-17”。 雖然使用About Diagonal選項是轉置的最普通用法,你可以選擇About nth Line來轉置,它將是一條水平線由PICTURE命令所顯示。 ASAP P remir入門指南 /顯示工具 02-437
Display>Processing>Values 圖 Display: VALUES的對話框。 VALUES命令列印一個或一個以上的分布數據值到命令輸出視窗。你列出你想看的每一點的垂直座標及水平座標值,以系統單位表示。ASAP將在真實的像素值中間做線性內插,如果需要。你也有選擇權來儲存每一個值到ASAP的登錄變數。Place Data Into Variable欄位允許你選擇一個名字給指定的變數。如果你不想儲存這個結果,則這個欄位保持空白,然後按Add按鈕。 見第20章附錄,在第452頁的“程式20-18”。 因為我們儲存這些值到登錄變數P1、P2、P3,它們可提供未來使用。對於進一步的ASAP登錄變數,見“在Builder中使用變數及表示式”在第15章的第303頁,及“使用變數”在第24章的第541頁。 另外兩個DISPLAY的命令無法直接從功能選項獲得,但是可以藉由鍵入它們及其引數到命令輸入視窗來執行。 ABEL命令 ABEL Command ABEL命令執行的是目前分布數據每一行的Abel或者逆Abel轉換,在目前分布數據有關一個指定水平線。對模型化弧形的光源此命令是個重要的工具。這個過程從ABEL INVERSE命令能夠從弧光放電的CCD02-438 ASAP P remir入門指南 /顯示工具
影像倒出取得一個分布檔案開始(使用),然後將它轉變成一個三維體發光器的規格。這個光源是假設對應原始分布檔案中一條指定水平線的軸對稱。你可以正常地儲存這些轉換(使用Display>File>Save/Write)與EMITTING DATA結合使用,其產生真實的光線集合。 THRESHOLD命令 THRESHOLD Command THRESHOLD命令在目前分布陣列中產生一個地板(下限)或者天花板(上限)。這個命令對顯示限制數據值得範圍使用圖形命令,例如GRAPH、CONTOUR、PICTURE、ISOMETRIC及MESH的範圍是有幫助的。例如要來顯示只在到範圍的數據,可以在命令輸入視窗鍵入THRESHOLD 。這個“鉗子”限制任何 < 到及任何 > 到的數據。 圖 在命令輸入視窗顯示一個範圍內的數據值。 與RANGE命令不同,THRESHOLD命令確實改變了你的分布陣列的內容。你可能想要保留整個範圍的數值,必須要用Display>File>Save/Write在使用THRESHOLD之前。 APPEND命令 APPEND Command APPEND命令將分布檔案堆積成一個三維的數據立方體。堆積是有用的對形成一系列的檢視圖,其可以被步進或者甚至於在Display Viewer中以動畫的型式呈現。讓我們假設你先前已經使用Display>File>Save/Write來儲存兩個分布檔案,例如名稱為VIEW1及VIEW2,然後你想要將它們結合(或其它的檢視)形成三維的堆積數據,名稱為VIEW-ALL。使用Display>File>Open/Read來呼叫VIEW1,然後Display>File>Save/Write來複製第一個框到VIEW-ALL。然後再一次使用Open/Read來呼叫VIEW2。藉由在命令輸入視窗鍵入APPEND VIEW-ALL來形成兩個框的堆積。你可以呼叫更多的檔案來增加更多的框,並且以相同的方法appending它們到VIEW-ALL這個檔案。 ASAP P remir入門指南 /顯示工具 02-439
摘要 Summary 在這一章中,我們已經討論了下面新的命令。 ASAP 命令 ASAP Menu選單 Description描述 Display>File: DISPLAY Display>File>Open/Read 讀取一個分布檔案到數據陣列。 WRITE Display>File>Save/Write 儲存目前的分布數據陣列到碟片。TEXTFILE Display>File>TEXTFILE 寫入目前的分布數據陣列到文字檔。 IESFILE Display>File>IESFILE 寫入目前的方向分布數據到一個檔案以標準的IESNA光度格式。 Display>Graphics: ISOMETRIC Display>Graphics>顯示一個均質cuts投影通過在Plot Isometric Viewer中的整個分布陣列。 CONTOUR Display>Graphics>Contour 在Plot Viewer或3D Viewer中產生目前分布數據陣列的等高線圖。 DIRECTIONAL Display>Graphics>繪製的方向分布數據,當角度以極Directional 座標或unwrapped的格式。 MESH Display>Graphics>Mesh 產生一個向量版的分布數據,適合顯示在3D Viewer。 PICTURE Display>Graphics>Picture 顯示目前檔案的人工加色的地圖,其結果顯示在Display Viewer。GRAPH Display>Graphics>Graph 在Plot Viewer中繪製目前分布數據陣列的截面圖。 ENCLOSED Display>Graphics>Enclosed繪製總功率的百分比為一個方形半尺寸的函數。 PLOT3D Display>Graphics>Plot 3D 結合isometric圖形用截面圖。 02-440 ASAP P remir入門指南 /顯示工具
ASAP 命令 ASAP Menu選單 Description描述 RADIAL Display>Graphics>Radial 繪製總功率的百分比為圓半徑的函數,具有替換數據的選項。 Disp lay>Processing: ANGLES Display>Processing>Angles轉換方向數據從方向餘弦到垂直與水平角。 AVERAGE Display>Processing>藉由平均鄰近像素來平滑化目前Average 分布數據。 COMBINE Display>Processing>結合目前分布數據與先前計算結Combine 果。 FFT Display>Processing>FFT 計算目前分布數據的傳立葉轉換來產生空間頻率頻譜或其相反。 FOLD Display>Processing>Fold 繞一垂直或水平線(或兩者)來平均目前的分布數據。 FORM Display>Processing>Form 以提升一值到指定功率或其自然對數代換分布數據的每一值或一次組的值。 MODIFY Display>Processing>Modify以任一函數修飾目前分布數據的每一值。 NORMALIZE Display>Processing>在目前分布陣列中所有值除以一Normalize 固定因子。 OFFSET Display>Processing>Offset 為目前的分布數據平移空間坐標系統的原點。 RANGE Display>Processing>Range 在圖式命令如GRAPH, PLOT3D, ISOMETRIC, MESH及CONTOUR中增加垂直繪圖尺規的範圍。 ASAP P remir入門指南 /顯示工具 02-441
ASAP命令 ASAP Menu選單 Description描述 REDUCE Display>Processing>Reduce修剪分布數據在邊界外的行與>Crop 列,若它們包含有數據中的最小值。 REDUCE Display>Processing>Zoom 在分布數據陣列中選擇一長方形的像素子集合。 SECTION Display>Processing>Section 指定分布數據的次區段,其你要列印,複製,重置數據。 TABLE Display>Processing>Table 放置一個內插值的網格到等高線圖。 TRANSPOSE Display>Processing>轉置一個分布中兩個空間(或方向)Transpose 坐標的意義︰垂直變成水平,水平變成垂直。 VALUES Display>Processing>Values 將一個或一個以上的分布數據值列印到命令輸出視窗。 ABEL 計算分布數據中的Abel及反Abel轉換。 THRESHOLD 在目前分布數據陣列中建立下限或上限值。 DISPLAY命令是一組顯示及操作分布檔案的工具。在這些命令可以被使用之前,ASAP使用者必須從Analysis的功能選單中使用Analysis>Calculate Flux Distribution產生分布檔案。其產生的檔案名稱為bro009 . dat。一旦產生該檔案,你可以載入這檔案的內容到記憶體來繼續分析其功率的空間與方向的分布。當你使用Display功能選單時來接近這些命令時,這個載入自動的發生。 02-442 ASAP P remir入門指南 /顯示工具
這些命令可以被分為三大類︰ Display>File—為了檢視及處理數據,使用這些命令從碟片檔案來讀取數據或將結果寫入到碟片檔案。 Display>Graphics—使用這些命令來顯示圖形化的分布數據。大多數的命令在任何情況下不改變數據,但是RADIAL卻可以提供選擇以徑向平均值來替換原始數據。當命令發出時,它們總是顯示展示數據陣列的狀態,且從不更新一個開啟的圖形視窗。這個可以做到處理前與處理後數據並排的比較。 Display>Processing—使用這些命令來執行對分布數據陣列的不同處理操作。在大多數的案例,展示數據陣列是在記憶體中被這些命令永久的改變。你必需從碟片重新讀取bro009 . dat來恢復原來,未被改變的數據。 ASAP P remir入門指南 /顯示工具 02-443
多少光線及多少像素? How many rays, and how many pixels?如果你是統計方法例如Monte Carlo模擬的新手,你可能發現一些名詞及程式的選項令人挫折及有一點困擾的,它們有如此多的選擇,如此多的方法來觀看相同的數據。為何ASAP不直接告訴我們哪一個答案是正確的?在最後的分析,你必須對統計的方法有些了解來使用例如ASAP的工具。你必須對結果的解釋及確認負起最終的責任。更進一步說,一個有經驗的分析者通常對數據能做出較佳的關鍵性決定,而不是建立在正常誤差的特定演算法。然而,有一些簡單的導引可以幫助你獲得你所需要的經驗,以有信心的方式做出這些決定。 我們可以從再觀看在421頁的圖的三個觀點。回想我們的任務是評估在這個取樣表面上的照明均勻度。所有的四個面板看起來都是不同的。哪一個是正確的呢?嚴格地說,它們之間沒有一個是對的。所有的都有在原始數據上光線數目限制的困難。然而,我們擁有從光線追跡獲得的足夠訊息來做定量評估這個設計--假如我們小心地解釋這些結果。仔細地觀看圖的第一個面板在全視窗檢視下如下面所顯示, 大量一個像素接著一個像素的變化顯示出來在Display Data Viewer及在圖式,雖然只有一個列或者一個行的數據。這是真實的嗎?不太可能﹗只有57萬條光線在這個表面(我們可以在Analysis>Calculate Flux中使用Summary選擇來知道這個數值)。它們是大約均勻地分布在39 × 117=4568個像素。(記得命令輸出視窗顯示使用的像素數目總數,當分布檔案載入記憶體)。因此,每一個像素有大約120條光線。假如我們進一步假設每一條光線具有相同的光通量(在這個例子可以被證明合理),我們可以期望一個不確定量例如120±√120,或根據統計大約10%。 02-444 ASAP P remir入門指南 /顯示工具
因為那是我們看到一個像素接著一個像素的粗糙RMS,我們可以結論為像素像素間的變化只是為“雜訊噪音”。我們必須謹慎在繪製關於10%程度或以下特性的結論。若你需要1%的結果,你必須降低雜訊的因子為10,其含意為增加100倍的光線追跡量。 但若光線具有較廣大的光通量差異水平,及它們不是均勻分布?你可以在光源產生另一個獨特的光線組合,藉由改變產生光線的亂數種子,再重複光線追跡及分析。大多數,變化存留下來是真實的。那些不能存留的變化是統計上的人工品。一個兩個或兩個以上“獨立實驗”間的仔細比較,告訴我們一些結果上的不確定性。 其次,從對稱中盡你所能的推論。這個背光板顯示是由4個LED照明,其是對稱地放在邊緣。這個放置的含意是結果必需對稱,在我們例中,注意在4個光源的週圍。(兩個光源是水平地flip來允許直接的比較。) 見在431頁的討論“Display>Processing>Reduce>Crop”所有的顯示在近邊緣處有一“熱點”在垂直段有一些證據。每一LED光源有一獨立組合的隨機光線,該特性依然保留。你可以結論它們不是統計上的人工品,必須多少與幾何形狀相關。現在你可以安全地做些額外的處理,來嘗試“將特點凸顯”。在這一範例中,FOLD命令可能是個好的選擇。 ASAP P remir入門指南 /顯示工具 02-445
產生你自己的分布數據 Creating Your Own Distribution Data隨著你的ASAP經驗增加,你可能事實上需要產生你自己的分布數據檔案。一個理由是可以簡單在ASAP Display Viewer,Plot Viewer或3D Viewer中展示外部產生的ASAP數據。另一個動機產生自己分布數據是將目前已存在的ASAP分布區分為“flat field”框來校正隨位置改變位置的效應。分布檔案亦可被用來產生具有規定的照度分布的光源(使用EMITTING DATA),或甚至於對一複雜的光學元件指定一個Sag表(使用SAMPLED表面)。 我們在此發展的這一範例假設我們正在製作為了使用一個“flat field”修正的檔案。我們想要讀取資訊進入ASAP,所以我們可以使用COMBINE命令來區分這些值為其他ASAP結果。這些基本格式須看起來像下面所示。 假如你使用Display>File>Save / Write來寫入一個以文字格式 (* . din) 分布檔案,其格式是相同的。儲存分布數據類似你的需求 (相同大小及視窗)是有用的,所以你可以使用它們為樣板來輸入你自己的數據。 第一行由Display 0開始,假若它只包含DISPLAY命令而不含延續下去的0的話,ASAP則會簡單地載入bro009 . dat進入分布數據陣列。這0對ASAP是一個信號,你將提供數據值。這字串由單引號,(‘ ’),所限制是出現在Display Viewer及任何地方的內訂標題,如果未特別指定的一個標題。這個字本可以長達24個字元。 下一行指定座標軸其垂直數據平面及延著座標軸數據的位置。 02-446 ASAP Pi rrem入門指南 /顯示工具
在雙引號(“ ”)內的字元典型的是X或Y或Z,雖然在許多案例中,它只是被當作圖形及其他顯示座標軸的標題。在這些案例中,你可以指定最多16字元的字串,在第一個座標軸標題後面的數字是沿著座標軸數據的位置。再一次,這些可能只使用於標題,但是在其他案例中(如EMITTING DATA)這個變成光線的位置,當他們隨後從這些訊息中被產生。 第三和第四行包含的資訊,通常是由Window及PIXEL命令所供給,當ASAP產生一個分布檔案。適當的ASAP顯示行是: $FAST是ASAP預先定義的巨集,其使用來快速的讀取大量的數據陣列進入ASAP。因為不必回傳數值給命令輸出Command Output視窗,所以這個指令非常快,同時只有很少數的字句分析和錯誤檢查被執行。這個巨集告訴ASAP期望有五行及十列的數據值,跟隨在這行的後面。值得注意的是這些值都是每一像素中央的值,而不是角落的值。在這表中第一個值是Y= - X= - ,而不是Y= - 1,X= - 2。 如果你將這幾行放到ASAP的程式並執行該檔案,ASAP會留給你Display提示號。這些數值將載入顯示數據陣列,準備好可被繪圖處理,並且貯存成二位元的格式檔案,以備將來使用。 ASAP Primer 入門指南 / 顯示工具 204-47
204-48 ASAP Primer 入門指南 / 顯示工具
附錄20A 第20章的程式集 Scripts For Chapter 20 在下面ASAP程式是參考第20章,“顯示工具”。 程式20-1 !!THE ASAP COMMANDS FROM THE DISPLAY...GRAPHICS...ISOMETRIC PULLD-OWN MENU FOLLOW :DISPLAY ISOMERIC B‘ ’thgilkca程式20-2 !!THE ASAP COMMANDS FROM THE DISPLAY...GRAPHICS...CONTOUR PULLD-OWN MENU FOLLOW :DISPLAY CONTOUR .05 .1 .152 .152 .-5 TICS 1 1 B‘ ’thgilkca程式20-3 !!THE ASAP COMMANDS FROM THE DISPLAY...GRAPHICS...MESH PULLD-OWN MENU FOLLOW :DISPLAY MESH V$IEW 程式20-4 !!THE ASAP COMMAANDS FROM THE DISPLAY...GRAPHICS...PICTURE PULLD-OWN MENU FOLLOW :ASAP Primer 入門指南 / 顯示工具 204-49
DISPLAY PICTURE 程式20-5 !!THE ASAP COMMANDS FROM THE DISPLAY...GRAPHICS...GRAPH PULLD-OWN MENU FOLLOW :DISPLAY GRAPH 314 COMMENT 3 V‘ lacitreC etanidrooS‘ lareve stuc raen eht‘ tfeledis 程式20-6 !!THE ASAP COMMADNS FROM THE DISPLAY...GRAPHICS...ENCLOSED PULLD-OWN MENU FOLLOW :DISPLAY ENCLOSED B‘ hgilkcaE“P”derauqsn’rewo 程式20-7 !!THE ASAP COMMANDS FROM THE DISPLAY...GRAPHICS...RADIAL PULLD-OWN MENU FOLLOW :DISPLAY RADIAL BOTH B‘ thgilkcaE delcricnP’rewo 程式20-8 !!THE ASAP COMMANDS FROM THE DISPLAY...PROCESSING...AVERAGE PULLD-OWN MENU FOLLOW :DISPLAY AVERAGE 程式20-9 !!THE ASAP COMMANDS FROM THE DISPLAY... PULLD-OWN MENU FOLLOW :DISPLAY COMBINES“”sid 程式20-10 204-50 ASAP Primer 入門指南 / 顯示工具
!!THE ASAP COMMANDS FROM THE DISPLAY... PULLD-OWN MENU FOLLOW DISPLAY FFT MODULUS 程式20-11 !!THE ASAP COMMANDS FROM THE DISPLAY...PROCESSING...FORM PULLD-OWN MENU FOLLOW :!!DISPLAY FORM 4- L‘OGP( )rewoWm’ 程式20-12 !!THE ASAP COMMANDS FROM THE DISPLAY...PROCESSING...MODIFY PULLD-OWN MENU FOLLOW :DISPLAY MODIFY 1 3 91 11 S‘ elac dna dda’tesffo 程式20-13 !!THE ASAP COMMANDS FROM THE DISPLAY...PROCESSING...NORMALIEZ PULLD-OWN MENU FOLLOW :DISPLAY NORMALIEZ MAX N‘’dezilamro 程式20-14 !!THE ASAP COMMANDS FROM THE DISPLAY...PROCESSING...REDUCE...OZOM PULLD-OWN MENU FOLLOW :DISPLAY REDUCE 程式20-15 !!THE ASAP COMMANDS FROM THE DISPLAY... PULLD-OWN MENU FOLLOW :DISPLAY SECTION 11 02 1 62 GET 程式20-16 !!THE ASAP COMMANDS FROM THE DISPLAY... PULLD-OWN MENU FOLLOW :ASAP Primer 入門指南 / 顯示工具 204-51
DISPLAY TABLE 10 10 4 PLOT 0. 7OVERLAY 程式20-17 !!THE ASAP COMMANDS FROM THE DISPLAY...PROCESSING...TRANSPOSE PULLD-OWN MENU FOLLOW :DISPLAY TRANSPOSE 程式20-18 !!THE ASAP COMMANDS FROM THE DISPLAY...PROCESSING...VALUES PULLD-OWN MENU FOLLOW :DISPLAY VALUES “11”.0 “.2”20 “3 ”204-52 ASAP Primer 入門指南 / 顯示工具
第 21 章 方向分布的分析 ANALYZING DIRECTIONAL DISTRIBUTIONS 在這一章中,我們將首先介紹一些新的ASAP的分析命令,該命令允許你來調查能量如何分布為方向的函數而非位置的函數。輻射度學名詞來描述這類的分布為輻射照度(每一立體角的光功率),光度學的名詞稱為光照度(每一立體角的流明或坎迪拉)。如同位置分布,這些資訊可以從單一通過光線表來導出。然而,這一次分類光線及加總這些光通量是根據它們的方向,而非它們的位置。在本章的最後,我們將給一個簡單的介紹ASAP根據光線的位置及方向分類光線的方法。這些資訊是必須的,若你想要學習第18章所討論的物件可見化外觀。 映射問題 Mapping Problem 或許最簡單及最直覺的方法來做方向分布的可見化是輻射或遠場球或許最簡單及最直體。想像縮小你的光學系統直到光線的方向向量在分析上似乎是從一覺的方法小點向外輻射。我們只對光線的角度感興趣,這個假設是合理的,因來做方向分布的可為我們正忽略光線的發光位置。 見化是輻射或遠場其次,考慮一個中空球體,其中心在光源這一點上。若我們擴展每一球體。 光線的方向向量直到其碰到球體,這個接觸點指出光線的方向。每一在三維中空間可能的方向是球體上一個點。若球體的半徑為1單位,球體這點的卡氏坐標正是該向量的方向餘弦。(見在154頁第8章補充附錄,“方向餘弦”)。 ASAP Primer 入門指南 /方向分布的分析 4215-3
SAP以方向餘弦儲存光線的方向,將光線置放在標準單位球體上是容易的。圖顯示一個ASAP模型9006汽車頭燈光線的方向分布。 圖 方向點陣圖(左)顯示9006頭燈光線在方向空間上的光線密度分布(右)。單位圓上曲面的每一點,代表每一條光線的方向。在+z及 -z方向光線的缺少是由黑色上漆的頂部及機械的底部所造成,該二部位吸收朝向這兩方向的光線。然而,缺乏全部點光通量的資訊,使得無法從這些資訊繪製定量的結論。 藉由選擇Rays>Graphics>View Directions 3D,我們可以產生3D Viewer的圖象在圖。光線自燈絲開始被追跡,通過燈泡幾何形狀的其他部份,直到他們停在最後接觸的穿透物件︰玻璃燈罩的外表面。 註︰追跡光線到一個非常大的球體表面對遠場分析是不需要的。一旦光線到達你系統中的最後一個物件及反應到它的INTERFACE命令來獲得它們最後的方向,它們的方向餘弦就是精確地支配光線撞擊到此輻射球體上的位置。 圖中的方向點陣圖形與第19章中討論的空間點陣圖具有相同的缺點,它們都缺少個別光線有關光通量的資訊。光線密度以這個方式描述只是對所有的每條光線具有相同光通量時有用,這種狀況通常不為真。 4215-4 ASAP Primer 入門指南 /方向分布的分析
然而,它的解決方案比位置的分析是多少較具有挑戰性。我們將如何將位在球體表面的數據裝入箱子?這是一個古典的映射問題。任何企圖展示這些資訊在一個平面的球體表面會迫使我們扭曲視野 (view)。更進一步說,這些箱子該有什麼形狀?使用均勻無重疊的方形像素來產生一個有用的球形表面近似是不可能的。 ASAP提供三種方法來執行方向分析,每一種解析映射問題的方案都是不同的方法。 1. 3D的輻射球體--使用三角箱子,其大約佔據相等的立體角。 2. 方向餘弦--使用正方形像素在單位圓,其是一個半圓的方向分布投影在赤道面上。 3. 球座標--使用相等增量在極角polar angle (θ) 及方位角azimuth angle (Φ) 來定義球體表面上數據的箱子。 我們將在下面的章節中討論這些方法。 輻射球體方法 Radiant Sphere Method 一如往常,我們藉由使用CONSIDER及SELECT命令來孤立隔離一個次集合的光線,來開始分析在方向空間上的光線。例如前面所討論的汽車頭燈範例,我們將只考慮到玻璃燈罩的外表面。這個步驟是方向分析的唯一的觀點注意到光線的位置。其他隨後所有的步驟都只針對光線的方向關心。你也可以自己產生圖像從Rays>Graphics>Radiant Sphere。對於9006燈的結果顯示在圖21-2。 ASAP Primer 入門指南 /方向分布的分析 4215-5
z x y 圖21. 2 輻射球體方法的結果 (Rays>Graphics>Radiant Sphere) 來定箱子及顯示9006頭燈的方向資訊。單位圓上每一點代表一光線的方向。現在,每一立體角的光通量已被考慮,我們可以看到因垂直燈絲的支持結構所造成的陰影。燈絲沿著+y軸環繞著從一極到一極。我們也可以看到水平的箍體由於燈絲的結構。 我們可以訊圖形包含比方向點陣圖更多的資訊,顯示在圖。 問球體上任 一位置藉由 在 D3Viewer視窗 中按任一位 置,在下拉 式視窗中讀取輻射或發 光強度的 值。 4215-6 ASAP Primer 入門指南 /方向分布的分析
在映射每一光線方向向量到輻射球體之上,ASAP也已經總加所有光線的光通量在三角形箱子中(圖)。 圖21. 3 藉由按一個三角形箱子,其組成整個輻射球,球坐標及每一立體角的光通量可以從下拉式視窗中讀出。球坐標系統與圖所定義的相同。 我們可以訊問球體上任一位置藉由在3D Viewer視窗中按任一位置,在下拉式視窗中讀取輻射或發光強度的值。Level of tessellation是輻射球方法,唯一需要的控制參數來觀看方向數據。Level最終地控制球體表面被分割的三角形的數目。 你可以設定最大的level數,在任可時刻3D Viewer被點選,藉由選擇File>3D Viewer Perferences,及選擇RaySet tab選項。注意,然而,這改變並不會發生作用,直到下一次你使用Rays>Graphics>Radiant Sphere來讀取及分類光線。預設內訂的級數level是5,但level 6或level 7也不是不合理,若你進行超過1百萬條光線追跡。 ASAP Primer 入門指南 /方向分布的分析 4215-7
這裡顯示的9006頭燈的圖是包含4百萬條光線,且被分類成7級。然而,這個級數會使光線分類緩慢下來。它可能花幾分鐘來讀取及分類光線,依賴你電腦的速度。然而,一旦分類你可能看最大的級數及所有較低級數的圖顯示在圖。 Level3 Level 5 Level 7 erTe ivew i n3D Viewer 圖21. 4 上面的三個視野View都是從9006頭燈相同的光線組所產生。棋盤形佈置級數“level”可以在3D Viewer中選擇(左)彷彿它是一個幾何形狀物件。你可以藏起目前的級數(按熱鍵H在tree中按等級後),及產生其他可見化(按熱鍵V)。3D Viewer總是以挑選的最高等級開啟。 4215-8 ASAP Primer 入門指南 /方向分布的分析
在這一章中討論的三種方向分析方法,輻射球方法可能是最容易使用及解釋。然而,它也有缺點,獲得定量結果的唯一方法是如上面敘述一點一點按的步驟。個別的三角形箱子並不會組織它們自己為方便的行與列,取代的是所看到的在球體表面曲折的漫遊(圖21. 3在453頁)。它們是跟隨著任意形狀的五角及六角體邊界,其形成為應用到球體的棋盤式鑲嵌式舖裝的基礎。這個行為造成輻射球方向困難產生平面的等高線圖,表及其他傳統表示方向資訊的數據的圖式表現方式。然而,另兩個方法可以更正這個情況,允許我們來使用在第20章討論的顯示工具。 方向餘弦方法 Direction Cosine Method 如我們已經提到的,ASAP內部地儲存所有的光線方向以三個方向餘弦。若我們發展一種數據一箱子化的方法其允許我們以這個本來的方式工作在計算上一定是最有效率的。假如我們就單純的將三個方向餘弦坐標視為好像是卡氏坐標會如何? 當我們在第19章中分析位置的數據,我們指定一個視窗,選三個空間坐標中的兩個來繪製結果。這個視窗是位置點陣圖。然而,在位置分布的例子中,它忽略三個坐標中的一個是合理的。我們的光線是被追跡到一個平面,垂直三個全域坐標中之一。結果,三個坐標中之一是常數值對在分析面上所有光線,且它可被忽略。 在方向分析的案例中,所有光線是被坐落在單位圓的表面。忽略三個方向餘弦坐標中的一個,其意義是何?為了協助解答這個問題,考慮一個簡單的發光二極體其形狀如圖21. 5所示,沿其遠場光功率分布使用輻射球方法。 ASAP Primer 入門指南 /方向分布的分析 4215-9
圖 發光二極體(左)產生一方向餘弦分布類如顯示在右側。如此的光源沿其光軸有一發光強度高峰值分布。 在這個特殊的分布有一重要事情要注意的是限制為半球。在此一案例中,所有的方向資訊是包含在只有兩個方向餘弦。 註︰以數學來看這個問題,回想方向餘弦向量之長度為1︰ 222222cosθ+cosθ+cosθ=A+B+C=1 xyz 結果,三個方向餘弦中之任一個可以其他兩個方向餘弦表示,雖然正負號仍未確定︰ 22C=±1−(A+B) 這個方向分量的“正”“ 負”符號可以決定光線是在那一個半球,其他包含的資訊是重複的。假如你事先知道你是與一方向分布工作,其分布是限制在一方向球上的一個半球,你將可忽略方向餘弦中的一個,而不會損失資訊。 4216-0 ASAP Primer 入門指南 /方向分布的分析
藉由繪製兩個方向餘弦在一個平面上,好像它們就是卡氏坐標,事實上,我們正在觀看單位圓在赤道上的投影。現在它是一個單位圓(圖21. 6b)。 圖 上面的數值是在長方形盒子相對於圓區域在圖的檢視圖a,b,及c中。 View a View b iVew c (.0,,) (.0,) (.0,), horizontal an devrtical piexls 圖 a) 圖中的A,B及C值是一條已給的光線在單位圓上的光線的卡氏坐標。它們代表方向向量的尖端,其向量的尾就是坐標的原點。b) 當我們只處理“向前”方向的光強度(發射進入一個半球),所有的方向資訊只包含在二個方向餘弦數值。當我們觀看在赤道平面上點的投影時我們可以知道所需要知道的。c) 從“上”觀看(在此例中為順著z軸下),我們看見所有光線方向的投影。“依方向餘弦分類”,只是在單位圓上將在像素上的數據箱子化。在我們LED的例中,在單位圓中心的點代表一條光線平行z軸進行。在單位圓邊緣的光點,其光線的行進是與z軸呈90度。 若我們將單位圓分成方塊像素,在第19章中我們有一個方法以位置來分類光線,與這個方法相似且解釋其意義也相似。我們也可以只以最少的修飾問相同的問題。我們需要告訴ASAP什麼,所以這ASAP程式可以根據它們在單位方向圓上的位置來分類光線? ASAP Primer 入門指南 /方向分布的分析 4216-1
ASAP需要知道 . 那些光線要分類,因為你並不經常對所有在你光學系統中的所有曲面光線感興趣。 • 使用那一個視窗。若所有的光線方向在+z半球如LED的範例,那正確的n選擇視窗將是YX。 .你所要達到的方向解析度為何。在此例中,像素的數目控制了投影立體角的尺寸大小。 當然,第一步是由Analysis>Choose Ray>Consider或Slect Rays來執行。至於第二步,其步驟是與依位置分類光線的步驟接近相同。我們使用Analysis>Calculate Flux Distribution如前,但這一次,我們將選擇顯示在對話框上面的第二種方法︰Flux per Projected Steradian (Intensity Using SPOTS DIRECTION)(圖) 圖 Calculate Flux Distribution(Analysis選項)的對話框,使用Flux/Projected Steradian方法,告訴ASAP來分類光線且依據2個方向餘弦將它們箱子化。 4216-2 ASAP Primer 入門指南 /方向分布的分析
當你按OK,ASAP執行3個命令︰WINDOW, PIXELS,及SPOTS DIRECTION。ASAP著手執行分類方向餘弦到單位圓上指定的垂直像素數目。其結果被儲存在,並提供給往後的處理及使用展示工具的圖式分析。 觀看及解釋方向餘弦的結果 Viewing and Interpreting Direction Cosine Results 因為我們已經投影單位方向球表面到平面,當我們觀看結果時我們期待會看到畸變 (distortion)。例如,考慮光線在各方向均勻分布 (isotropically)。圖21. 8a顯示其方向點陣圖,及一個通過分布檔案中心的圖形截面。這分布不再呈現均勻,當在投影中觀看。 圖 方向點陣圖(左),顯示光線“堆積”在接近單位圓的外邊緣,甚至光線在三維單位球上的表面是均勻分布。右圖是通過均向分布在方向餘弦空間中心的光功率分布,顯示工作具有不同立體角像素的效應。 然而,一個Lambertian分布看起來是均勻的,甚至於光通量必須隨著從指定軸角度的餘弦而遞減(圖)。所有這些效應是觀看在單位圓上的投影結果,而不是在單位球上。 ASAP Primer 入門指南 /方向分布的分析 4216-3
雖然像素是在單位圓上的正方形,它們的投影回到球上不是張開一個固定的立體角,而是隨著我們遠離指定軸的角度而增加。 Z X 圖 (左)Lambertian光通量分布的方向點陣圖看起來均勻,甚至於光線密度是隨著與z軸角度的餘弦而遞減。(右)。每一個在單位圓上的方形像素所張開的立體角是逐漸增加隨著與z軸夾角的餘弦倒數,平衡掉Lambertian分布在光線密度上面的遞減。 一旦我們了解工作在投影座標系統的結果,我們可以使用相同的圖式顯示工具在上一章所介紹的來進行最後結果分布的觀看。圖顯示LED分布的幾個檢視圖。 4216-4 ASAP Primer 入門指南 /方向分布的分析
Picture Isometri c Mesh Contour 圖 所有在第20章中所介紹的展示工具都可以應用在方向分布的圖式及處理。這裡顯示四個範例。 兩個額外的工具被包含在這些顯示命令中由SPORTS DIRECTION特別設計來顯示及處理方向數據。 ASAP Primer 入門指南 /方向分布的分析 4216-5
Display>Graphics>Directional 圖 Display>DIRECTIONAL的對話框 DIRECTIONAL命令顯示由SPORTS DIRECTION方法所產生的方向數據圖形,但是將這些方向餘弦值轉換成角度度量。這個工具顯示數據是以Polar Plot或者未折疊的Cartesian Plot(圖)。 iDrectional Polar iDrectional aCrtesian 圖 LED發光強度分布可以利用Display>Directional被重新映射從方向餘弦到角度(左圖)及極座標圖的兩個通過重新映射數據斷面。一個是沿著B方向(紅色顯示)及另一沿著A方向(藍色顯示)。由於對稱的分布,這其間的不同不大。(右圖)相同的數據未折疊 (unwrapping) 的結果顯示在卡氏座標系統。 在這兩種案例中,圖形顯示通過分布的兩條曲線或兩片“slices”,一個垂直另一個為水平。基本分布數據陣列是不會以任何方式改變的;圖形顯示的這兩片是操作的唯一結果。轉換整個陣列為角度所以你可執行任一片狀的數據,見下面章節,“Display>Processing>Angles”。 4216-6 ASAP Primer 入門指南 /方向分布的分析
Display>Processing>Angles ANGLES命令轉換由SPORTS DIRECTION做成的分布檔案,從方向餘弦空間到球座標。沒有選項伴隨著這個處理命令,所以沒有對話框顯示。雖然DIRECTIONAL顯示一個圖只具有兩片通過角度分布,這個方法將整個分布檔案轉換且覆蓋原來的方向餘弦數據。球形的角度座標系統的極軸假設是水平方向(與IES型態B的光度學一致),如圖(左)所示。這個數據將被re-binned進入新的座標系統,然後把它“壓扁”如圖(右)所示。 Vertical 圖 ANGLES命令重新映射方向餘弦分布到球座標系統上。(左圖)之前顯示的LED發光強度分布投影到單位圖上的X-Y平面。(右圖)球座標格子投影在單位圓的上面。ANGLES命令重新映射這兩種新箱子化的分布,並且執行扭曲這些彎曲的格子線為平的、正方形像素顯示在右圖。 在ANGLES命令應用後,你可以應用其他適當的執行工具(例如Graph、Isometric或Picture)來圖形化或者處理這些重新映射的結果。圖顯示另一種LED的等高線,這次是以水平及垂直角度而不是方向餘弦。 ASAP Primer 入門指南 /方向分布的分析 4216-7 Polar Axis Horizontal
圖 在應用ANGLES命令到已分類數據後,使用方向餘弦方法,座標的標示現在已經是“Horizontal angle”及“Vertical angle”。 然而,記得ANGLES(不像DIRECTIONAL)已經改變原始分布檔案記得的複製工作檔案的數據。(如果你需要回覆原始分布,你可以重新載ANGLES(不像入從Display>File>Open/Read。選擇Files of Type: All FilesDIRECTION並且瀏覽bro009 . dat。 AL)已經改變原始分布 檔案的數註︰一個給定的展示工具不是必須適合使用在任一種分布檔案據。如果你的。例如,Directional及Angles的工具,是指定適用於由SPOT 需要回覆原始分布,你DIRECTION所產生的分布檔案。它不必也不適合使用這些命令由可以重新載其他方法所產生的分布檔 (例如RADIANT將在下面討論,或入SPOTS POSITION命令),雖然當你如此做時,ASAP不會發出警。 告或錯誤信息。更進一步,Directional將不可被用在Angles之後,因為數據已經被重新映射到不同的坐標系統,DIRECTIONAL命令正在presuming一方向餘弦分布。一個有關這些命令及其他限度和限制的表在第479頁的 “摘要”中有資訊供給。 球坐標方法 Spherical-Coordinate Method 直接工作與方向餘弦由SPOTS DIRECTION產生的光線數據在ASAP中是簡單的,因為它單純的是位置方法的擴充。 4216-8 ASAP Primer 入門指南 /方向分布的分析
然而,從你的看法來看這個方法可能仍有缺點。在怪異的投影效應出現的情況下可見化結果是夠困難的,雖然你可以使用諸如DIRECTIONAL及ANGLES命令來克服一些問題,但是假如你正在工作的數據不是定義在一個半球上,該怎麼辦?在本章前面討論的9006汽車頭燈輻射功率在每一方向,除了一個很窄的角度範圍指向燈泡的頂部及底部。方向餘弦方法不能在這個情況下被使用,沒有使用SELECT來執行展示分離的“上”及“下”分析。 ASAP提供另一個替代方法來執行展示方向分析,其將光線bin在球座標系統涵蓋整個方向球體。這個方法是以RADIANT命令為基礎。在這個系統,空間的方向被兩個球座標角度來指定︰一個從指定的極軸量測下來(稱為極角polar angle或者天頂角zenith angle),另一個環繞這個軸(方位角azimuth angle)。座標系統顯示在圖。 ASAP Primer 入門指南 /方向分布的分析 4216-9
Polar Axis Angle from Angle around x z y 圖 任何在空間的方向可以被定義從指定極軸下來的角度及環繞極軸的角度。ASAP使用右手座標系統。這個蘊含的意義是假如+x為極軸,方位角是定義為環繞極軸的角(稱為azimuth angle)其量測角度是從+y指向+z。至於其他的極軸,這慣用法的旋轉示意如左下角的插圖。如果+z是極軸,方位角是量測從+x指向+y,以此類推。 4217-0 ASAP Primer 入門指南 /方向分布的分析
雖然球坐標方法與3D輻射球方法相似,但它們之間仍有二個不同的地方︰ 1 球坐標方法將方向球表面分割成固定範圍的天頂角及方位角,然後3D輻射球使用任意三角形。 2. 由於這個binning的方法的結果,它可能再產生分布檔 (bro009 . dat),及使用示工具檢視或處理結果。 由於RADIANT命令,這個將數據箱子化的方法在像素內並不會有相同大小(立體角)或形狀,最靠近極(南北極)的箱子,都被塑形為類似派的片狀,然而在靠近赤道則大約是長方形。當然,這些箱子是被擠壓拉伸及扭曲,如所需要的,來映射到一直角格子。ASAP將方向餘轉換到球坐標,將全部的光線分類進入適當的箱子,並且報告每一箱子的每一立體角光通量(因此對箱子的大小變化補償)。 對ASAP以這個新的方法著手進行光線方向數據的分類,我們必需提供這個程式四種資訊︰ 1 那一種光線要被分類? 2. ASAP中三個全域坐標軸中那一個該被定義為球坐標系統的極軸? 3. 什麼角度的範圍應該被考慮? 4. 在分類中,多少箱子該被使用? 一如往常,你指定這些光線從Analysis>Choose Rays>Consider或Select Rays(問題1)。 你現在可以輸入剩下的資訊(問題2到4) 從Analysis>Calculate Flux Distribution對話框,在區域標題為RADIANT Option。然而,這一次要確定選擇方法名稱為Flux Per Steradian (Intensity Using RADIANT),如圖所示。 ASAP Primer 入門指南 /方向分布的分析 4217-1
圖 Calculate Flux Distribution(Analysis) 的對話框使用Flux/Steradian (Intensity using RADIANT) 方法。它設定需要的參數來分類,光線進入一個球座標的角度分布。 小心選擇你的系統的極軸(問題#2在第471頁)。當你可以從前面討論看到,球坐標系統映射到一直角格子,相當大的扭曲產生當你接近極(南北極)時。一般來說,就這個理由,選擇你的極軸要座落在一個方向,該方向具有很少或不重要的資訊。例如,z軸是一個理想的極軸對分析9006燈泡而言,因為只有一點點,或沒有光通量被期望在+z或-z方向。任一極軸都可以,但是一個聰明的選擇可以使它容易可見化地解釋結果的分布檔案。 輸入被考慮的角度範圍從From到To參數在Calculate Flux Distribution對話框(見圖)中。因為這個球坐標方法可以執行整個方向球體的分析,你可能偏好這種方法甚至只有有限的方向範圍需要考慮。記得,極角(天頂角)是從指定的極向下量測。因此,這個坐標是允許被假設其值的範圍為0〜180度。負的角度或角度大於180度為無意義。 4217-2 ASAP Primer 入門指南 /方向分布的分析
然而,方位角的範圍可以擴展到0度〜360度,或-180度〜180度如果你喜歡。顯示在對話框內的預設值使用整個方向球體。 最後,你必須輸入細分(箱子)的數目,在這裡ASAP將會分光通量到指定的角度範圍。記住,若你指定太多次細分,你將只有少數的光線在每一個箱子。其結果的分布數據將會是雜訊。圖顯示一些典型的結果使用球坐標方法所獲得。所有坐標軸現在以角度為標題,相對於所選的極軸,以角度為量測單位。 Picture Contour Graph Mesh 圖 使用輻射方法在以方向空間分類光線後,ASAP顯示工具能處理及顯示這些結果。這些9006汽車頭燈的方向分布圖式清楚地顯示“notch”其由垂直方向的燈絲固定結構的陰影所產生。比較這些圖與圖其輻射球方法被用來觀看在方向球體上相同的光線數據。 ASAP Primer 入門指南 /方向分布的分析 4217-3
上部的兩個圖式(由Picture及Contour產生),顯示完整的分布檔案。座標系統的“赤道”映射到通過這兩個圖式中心的一條水平線。“極”(南北極)--點,在方向球體上--已經被扭曲成一條平行赤道的線,圖式的上部與下部邊界。這個扭曲是類似於產生南極大陸出現拉伸橫越在平面世界地圖的底部。 在圖右下角的圖式保留了特別的註解。它是藉由使用網格MESH命令所產生。我們已經看到這個命令用來產生三維的分布檔案的表現式,為了在3D Viewer中觀看。見第20章圖及圖及這一章中圖。MESH命令的行為必須有一些不同,當使用在分布檔案其由RADIANT命令所產生,然而,現在,分布擴展到二個半球必須被配合。 如網格的範例在圖的右下角顯示,ASAP是產生一個角分布的三維polar圖。雖然類似於單一截面的polar圖顯示在圖的左邊,我們現在可以來觀看複雜、雙向分布在3D Viewer中,那裡可以旋轉你的觀察點來看其細節。注意這個檢視圖並沒有遭遇到任何扭曲的困難,歧視本質的存在別的方法的可見化分布使用球座標方法。為了使這個更清楚,LED發光強度分布在之前的討論顯示在圖使用二個版本的MESH所以你可以學習這二種圖形的不同。 4217-4 ASAP Primer 入門指南 /方向分布的分析
圖 相同的光線數據(從LED的例子)被使用來產生二種Mesh圖式。左圖使用方向餘弦方法來bin數據,然後應用Angles轉換。其結果是以卡氏座標顯示數據。右圖使用球座標方法。其結果的Mesh圖式是一個三維的polar圖。在這個例中允許雙方向分布被顯示。 輻射亮度、光亮度及視角驅動的輻射度學分析 Radiance, Luminance, and View-Driven Radiometric Analysis 在最花時間的輻射度學及光度學計算中其使用蒙地卡羅光線追跡方法是涉及radiance及luminance的模擬。相同的,這個模擬是在許多領域中最重要之一,因為這個計算代表了物件的光出現(人的眼睛看起來的方式)。它花費非常大量的光線來獲得在這種情況下的好的結果,因為我們必須將數據箱子化,不但根據光線從物件表面的根源,而且其在與表面交互作用後重新發出的角度。人類眼睛是小的--其直徑僅僅只有幾個mm--所以角度張開在一個合理的距離也是非常小的。它可能必須追跡好幾百萬條的光線來獲得一束從一物件上指定位置指向一特定方向的光線。 ASAP Primer 入門指南 /方向分布的分析 4217-5
為了這個理由,大多數的光出現工作仍然由使用radiosity計算來完成,而不是使用蒙地卡羅光線追跡。 當電腦變快了,使用例如ASAP的程式,其被開發來優化光線追跡速度,被開始用來計算輻射照度及光照度。雖然radiosity計算通常比較有效率,但是它包含實際光源模型比較困難,ASAP則可以模型化。通常,詳細的光源模型化是需要精確定量的結果。 大多數計算輻射亮度及光亮度的方法是超出本書primer的範圍。其困難不但是必需追跡的光線數目,而且由相關分析命令所產生的數據總量,很明顯先前地,只有有限的工具可以應用來圖形化地分析這些結果,而且沒有直接的方法存在來審視這些數值存在於其所造成的多維分布檔案。ASAP介面的圖形化進步已經使得這個可能。仍然,大多數需要的分析工具並無法獲得於圖形使用者介面 (GUI)。就是這個理由,我們將摘入這些工具及可提供的技術,對於這個主題的進一步資訊請查閱範例的資料庫。 最基本的工最基本的工具來執行輻射亮度及光亮度計算,使用ASAP是radiant具來執行輻命令的選項,在前一節中所介紹。它們是RADIANT...MAP及射亮度及光RADIANT...AREA這兩個選項都使用基本radiant的特性,它是將數據亮度計算,使用ASAP根據方向bin進入球座標系統,它們都使用連結與目前由WINDOW是radiant命及PIXELS的設定一致,及結合起來供給所想要的空間解析度資訊。令的選項,及結果是一個很大的四維數據組,為了接近一個值,你必需指定兩個在前一節中所介紹。它角參數(天頂角及方位角)及兩個空間維度(由WINDOW命令定們是義)。RADIANT...MAP產生結果具有每一個像素有單位為1的光通RAIDATN... 量立體角,然而RADIANT...AREA輸出輻射亮度(光通量/立體角/MAP及..投影面積)。 ARAE 現在,使用這些命令的挑戰是:只有一個顯示工具存在來觀察或處理這些結果(見<install directory>\ projects\ examples\ )。結果,你可能典型的指定角度的bining進入單一角度angular element,涵蓋一個我們感興趣的物件的空間範圍。例如, RADIANT Z 85 95 1 40 50 1 MAP 指定一個單一的“觀察點”以水平線(極角為90度)為中心,在方位角為45度。這些方法產生定量的數據在每一空間像素具有恰當的單位。然而,它並未產生一個被照物體的表現,告訴我們它看起來像什麼。 4217-6 ASAP Primer 入門指南 /方向分布的分析
或許目前使用ASAP最佳接近模擬一物件的出現是被描繪在project樣本中名稱為Tail Lamp的計畫 (<install directory>\ project\ samples\ TailLamp)。類似所有樣本計畫,這個展執行模型的任務是使用ASAP程式語言。一如往昔,其基本策略使用可以被了解為︰ 1. 架構一精確的模型,所有全反射尾燈組合,其包含實際的散射特性在反射表面(見在Tail Lamp計畫檔案夾)。反射器幾何形狀在CAD程式中被發展,並使用ASAPTM的smartIGES轉譯器輸入ASAP來作分析。 2. 定義一個實際、詳細的光源模型。(從BRO光源資料庫中的1156尾燈被使用在這範例中。) 3. 追跡光線。因為在系統中沒有檢光器,光線將到達反射器的片段,反射來得到他們最後的方向,但保留在他們的表面,因為“missed after”光線中止。 4. 旋轉光線。因為SELECT命令應用到下一步驟可以孤立隔離限制光線在一圓錐,相對全域坐標軸之一,一般來說它會需要旋轉光線,所以現在所想要的光線方向會沿著這些坐標軸之一。這個步驟是被執行在檔案,。 5. 只選擇光線發射進入一繞全域坐標軸的窄圓錐。在這例中是選用z軸,且該圓錐的半圓錐角是5度。見。 6. 使用SPOTS POSITION產生一個空間分布檔。在展示工具中使用FORM命令來轉換數據到對數的尺規,來模擬人類眼睛的反應。 7. 使用PICTURE命令來產生一個rendering,其結果出現在圖。 ASAP Primer 入門指南 /方向分布的分析 4217-7
圖 由PICTURE命令所產生,在光線追跡後及只選擇一特定的5度的圓錐角內被導入的光線次集合。它來趨進汽車尾燈的片段發光面appearance,從組合的上15度及在左15度觀看。雖然是有雜訊的,這些結果通常具有光度學上較精確,比從輻射計算外觀好看所得到的結果正確。 仔細看這些使用來產生這個結果的檔案顯示其用了4仟萬條光線,來產生這些不可否認的“表面粗糙的表現”,更進一步說,圓錐的角度選的是5度,它是遠大於人類眼睛瞳孔從一合理距離觀看尾燈所張開的角度。為了這個理由,我們稱這分析技術為“View-Driven Radiometric Analysis (VDRA) 而不是“lit appearance”。甚至於4仟萬條光線仍不足以利用蒙地卡羅光線追跡法精確地模擬lit appearance,但是具有藉由快速電腦及平行處理,其藉由Remote特性在ASAP/Pro中成為可能,現在類似這種的分析為可能,但仍不容易。 4217-8 ASAP Primer 入門指南 /方向分布的分析
摘要 Summary 在這一章中,我們已 經討論下面的新命令︰ Commands ASAP ASAP Menu Description DUMP Rays>Graphics>Radiant 在3D單位球表面顯示方向$VIEW Sphere 的光功率分布。 WINDOW... Analyze>Calculate Flux 使用方向餘弦方法產生方PIXELS... Distribution 向分布檔案。類似Rays>SPOTS DIRECTION... Graphics>plot Direction 2D,除了一個分布檔案被產生及圖式是可選擇的。 DIRECTIONAL or Display>Graphics>產生一個極坐標或卡氏坐DIRECTIONAL UNWRAP Directional 標圖具有二個截面通過強度分布。 ANGLES Display>Processing>轉換整個分布檔案從方向Angles 餘弦到球坐標角度。 RADIANT Analysis>Calculate Flux 使用球坐標產生一個方向Distribution 分布檔案。 RADIANT...MAP (Not available) 產生輻射照度及光照度分布。 RADIANT...AREA (Not available) 產生輻射照度及光照度分布。 ASAP Primer 入門指南 /方向分布的分析 4217-9
我們介紹三種不同的方法來分析方向的光線資訊(單位立體角光功率或投影立體角)。每一種方法都有優點及缺點。它們之間的不同摘錄在下面的表中。 輻射球體 方向餘弦︰ 球坐標︰RADIANT SPOTS-DIRECTION 3D Viewer執行光線分類ASAP的計算引擎執行光ASAP的計算引擎執行光從複製的光線數據檔線分類,使用在光線檔 線分類,使用在光線檔 案。 () 中的資訊。 () 中的資訊。 分類是執行進入三角形分類是執行為光線進入等分類是執行為光線進入等區域在方向球體表面。 增量的方向餘弦 增量的天頂角及方位角的箱子bin。 角解析度是以預先定義需要WINDOW及PIXELWINDOW及PIXEL設定不級數來表示,其為3D 設定來定義角度範圍及解被使用。所有的資訊由部Viewer設定之一部份。 析度。 份的RADIANT命令供應。 本方法在全方向球體工這個方法被限制分析只在這個方法可以在整個方向作。 一個半球。 球工作。 沒有產生分布檔案,顯ASAP產生一個產生一個示工具無法使用。 檔案供Display工具分析檔案供Display工具分析用。 用。 結果以球坐標角度讀使用顯示命令數據已經是球坐標。從不取,藉由按3D Viewer視DIRECTIONAL或ANGLES會使用DIRECTIONAL或窗。 來轉換到球坐標角度。 ANGLES與RADIANT數據在一起。 不可能有圖形。 使用DIRECTIONAL來獲使用MESH來獲得3維的得二維的極坐標圖。 極坐標圖。 不可能有網格圖。 網格圖總是以直角卡氏坐網格圖總是極坐標圖。 標。 並不是所有的ASAP中顯示工具是與每一分布檔案型態相容。一些Display功能選單的命令被設計來與特殊型態的數據工作,會產生誤解,不正確,及無意義的結果當應用到其他分布檔案時。然而,在這種情況下,ASAP不會發出錯誤或警告信息。 4218-0 ASAP Primer 入門指南 /方向分布的分析
下面的表摘錄了大多數這些情況。一個註解提供了解釋那些場合這命令是不適合的。 SPOTS SPOTS SPORT RADIANT 命令方法 POSITION DIRECTIONAL DIRECTION WITH ANGLES 12 ANGELS - 不適用 不適用 345 DIRECTIONAL 不適用 不適用 不適用 67 RADIANT 不適用 不適用 8910 ENCLOSED 小心地解釋 不適用 不適用 MESH 產生卡氏坐標產生卡氏坐標圖不會產生網格圖 產生極坐標圖 圖 註︰ 1及2︰ANGLES命令是設計來轉換方向餘弦到球坐標。只有SPOTS DIRECTION分析命令(方向餘弦方法)以這格式產生分布檔案。 3、4及5︰DIRECTIONAL命令,類似ANGLES,假設分布以方向餘弦方式箱子化。在任何其它情況下它將不會產生有意義的結果。 6及7︰RADIAL命令是執行徑向平均在一方式下假設直角數據只由SPOTS POSITION及SPOTS DIRECTION提供。仍然,它仍相當頻繁地想要產生一個包含能量的圖以角度而不是方向餘弦表示。兩種方法來獲得這種圖在範例的數據資料庫中提供。第一方法使用ASAP巨集語言,手動地來bin箱子化數據,在指定的角度範圍使用SELECT,及第二(較有效率)範例使用RADIANT命令來bin數據,然而,使用VALUES命令手動地整合其結果。見及。 8︰雖然數學上適合來計算“ensquared”能量在方向餘弦分布,它是困難來想像許多狀況其將有用於單位圖。 9及10︰如同RADIAL, ENCLOSED命令假設直角坐標系統。 ASAP Primer 入門指南 /方向分布的分析 4218-1
練習10︰螺旋線的發光強度 Exercise 10: Intensity of the Emitting Helix 分析強度分布(光功率為方向的函數)對於發光螺旋線使用在閃光燈模型(“練習9︰簡單閃光燈模型”在第390頁)。下面的第一步驟是相同的,來產生光線。 1. 創造產生發光螺旋線使用Rays>Emitters>Helix且具有下面的參數︰ •方向Orientation︰沿著y軸。 •總長度︰2 cm以全域的原點為中心。 •螺旋線直徑︰ cm。 •線材直徑︰ cm。 •匣數︰10。 •光線數目︰1,000,000。 2.使用Rays> Ray Modifiers>Flux Total在Builder中設定光源總功率為2 Watts。 3. 執行Builder檔案產生光源。注意看ASAP回來的提示號在狀態列在繼續之前。 4. 證實光源。使用Rays>Graphics>Position 2D,選擇Y-Z視窗。檢查螺旋線的長度及直徑,藉由按下Shift鍵同時移動滑鼠來讀取游標位置,在Plot Viewer中。 圖 證實光源的位置及尺寸。 4218-2 ASAP Primer 入門指南 /方向分布的分析
5. 使用球坐標方法計算方向的光通量分布。選擇y為極軸。包含整個方向球體,具有36個細分在天頂角方向及72個細分在方位角方向。 6. 使用Display>Processing>Average來平均一個相鄰像素。 7. 使用Display>Graphics>Picture來觀看結果。 圖 使用球座標方法來計算方向的光通量分布。這個Display Viewer視窗是經由一個相鄰像素平均每一個像素值後產生。 8. 使用Display>Graphics>Mesh來觀看結果。 ASAP Primer 入門指南 /方向分布的分析 4218-3
圖 方向光通量分布由網格來展示。 9. 使用Rays>Graphics>Radiant Sphere來觀看結果。 圖 由輻射球方法所產生的方向光通量分布,在3D Viewer中觀看。 4218-4 ASAP Primer 入門指南 /方向分布的分析
一些問題來考驗你的了解 Some questions to test your understanding •在這個練習中你沒有被導引做光線追跡。為什麼這個步驟不需要? •在步驟7的顯示結果,極(南北極)在哪裡?赤道在哪裡? •最高強度的方向是什麼(沿著哪一個軸)? • 下面圖顯示的是一個固體螺旋線燈絲的方向分布。這個模型是由TMPhino_ CAD軟體來產生的螺旋線其具有上面我們所使用的相同TM尺寸。它被經由ASAP的smartIGES轉譯器輸入ASAP,同時轉換成發光物件。在這個例子光線被追跡,所以它們可以與螺旋線物件接觸此物件被模型化為吸收。是什麼造成光強度沿著y軸有一個凹洞,為什麼這特性不會呈現在上面所獲得的結果?(提示︰你可以複習發光螺旋線在第16章討論的特性)。 圖 方向光通量分布具有較實際的螺旋線燈絲。在左邊的3D圖顯示的是網格圖,然而在右邊的3D圖顯示的是輻射球。 ASAP Primer 入門指南 /方向分布的分析 4218-5
4218-6 ASAP Primer 入門指南 /方向分布的分析
第 22 章 撰寫命令程式 WRITING COMMAND SCRIPTS 在這章到目前為止,你可能已經藉由使用Builder及下拉式功能表執行所有中,我們ASAP的工作。這個方法是開始ASAP工作非常好的方法,對許多問將展示如何使用命題而言這個方法是全部你所需要的。這個方法需要學習的較少,因為令語言來不同的功能選單提醒我們這些ASAP命令的名字,同時對話框也幫助完成每件事情。我們匯集命令所需要的資訊。 然而,許多新使用者開始想要撰寫簡單的程式,其允許被執行一系列的排列好的ASAP命令。然後當他們都要重覆這些步驟時,只要在基本程式做小部分的更動,程式將很容易的被修正若干行便再一次的被執行。這些程式將執行的較快速,因為利用滑鼠及鍵盤與電腦的資訊交流遠遠慢於以ASAP計算引擎所直譯的命令程式語言。ASAP命令語言提供這種程式化的能力。 使用ASAP程式,不再是0與1的零和遊戲。一旦你獲得ASAP命令語言的基本了解,你只是擁有更多的選擇。許多使用者發展一種型態其混合了使用者圖形介面(GUI)及強大能力的命令語言的最佳特性。你自己的風格將隨著你的經驗的增長而改變與適應。 在這一章中,我們將首先討論基本的ASAP程式檔。雖然你可以選擇繼續使用Builder及下拉式功能表來完成你的工作,我們將展示如何使用命令語言來完成每件事情。你可以挑選及選擇在這個時段,你要採用這個方法到多少的程度。 ASAP Primer 入門指南 / 撰寫命令程式 22-487
回想每一個ASAP計畫的四個基本要素︰ 1.建立系統的模型 2.產生光源(光線) 3.光線追跡 4.執行分析結果 我們將描述如何以單一的ASAP命令程式完成每一任務,該程式可以定義一單一透鏡、格子光源及光線追跡這些光線在一檢光器上作分析。 產生過渡 Making the Transition ASAP提供數種內訂的協助來進行從Builder及使用者圖形介面(GUI)過渡到命令程式︰ 程式樣板。許多一般的任務牽涉好幾個ASAP命令,可以被作成可獲得的“scripts templates”來變成可能。你可以插入數種樣板templates進入你的編輯視窗,並以你特別應用所需要的特殊命令及參數填入其空白“fill in the blanks”。 程式命令。你可能已注意到大多數的對話框伴隨著ASAP的功能選單,包含著一個script按鈕。這個按鈕擴展了視窗來顯現同義的程式命令,該命令在你完成參數輸入後,將被送到ASAP的計算引擎。若你不知道或不記得這些需要執行操作的命令,也可以從功能選單來完成,只要從對話框中將這些命令剪下及貼上到程式檔案。 小型迷你的Builder (Mini Builder) 。在Editor編輯器上這個選擇的特性提供了許多Builder的優點,協助從Editor視窗中進入Script列程式。當你組合一個命令行時,它給予我們以功能選單為基礎的進入使用,其包含大多數的命令及具有標頭的引數。ASAP轉譯這些Builder列進入命令語言語法,並將結果傳送到Editor視窗。 Command Tips工具提示。一個視窗形態的 Command Tips命令協助你獲得正確的語法,當你將命令直接鍵入你的Editor視窗時。 從Builder輸出轉為程式檔案 (Exporting from the Builder) 。若你想要繼續完全在Builder發展你部分或全部的工作,你仍然具有選擇權來輸出最後的結果到程式檔案。 每一個人的風格都有些不同,且每一個人以不同方式學習。你可以實驗這些每一種方式來尋找那一種方式工作最適合你。在本章的最後剩餘章節,我們將強調最基本的方式︰將命令鍵入編輯視窗。然而,我們將使用程式樣板,因為這些樣本可以節省我們的時間及困難。 22-488 ASAP Primer 入門指南 / 撰寫命令程式
從編輯器開始 Getting Started in the Editor 產生命令程式的第一步是開啟一個編輯視窗 (editor window)。在ASAP中編輯視窗最初開啟名稱為INR Input的檔案。有數種不同的方法來開啟這個視窗。選擇其中任一個工作最適合你。 表 開啟一個新ASAP編輯視窗的方法。 ASAP工具列 在紙張的小圖式左側新檔案New按鈕上按滑鼠左鍵。 ASAP工具列 在紙張的小圖式新檔案New按鈕的右邊向下的箭頭處按滑鼠左鍵打開下拉式功能選單。 選擇INR Input。 ASAP工作區Workspace視窗 在樹狀檔案中在INR Input處按滑鼠右鍵並選擇New。 在ASAP的檔案 (File) 選單中 File>New ASAP Primer 入門指南 / 撰寫命令程式 22-489
註︰在歷史上,ASAP的命令程式已經使用檔案的副檔名為*.inr,其為input rabet的縮寫。RABET,則是ASAP中模組Ray And BEam Trace的縮寫。RABET是1992年以前的程式名稱並繼續被延用在batch版的程式碼內。可執行的及 (Pro) 仍伴隨著今日的ASAP寄送,允許你使用命令提示方式來執行這些程式,或TM者從Mathcad及類似程式碼來呼叫,其可以執行外部的batch程式。這些檔案是在<install directory>\ bin。在線上求助說明的主題中“Batch mode”有詳細說明他們的用法(你可以在index tab選單尋得)。 在目前,儲存檔案以新的名稱是一個好的習慣。這個動作可以從編輯器視窗的工具列 (toolbar) 完成。另存新檔 (Save As) 及其他按鈕確認在表。 表 ASAP編輯器的工具列。 Save儲存 Save As另存新檔 Run執行 Save and Run儲存並執行 Run from Cursor從游標執行 Run to Cursor執行到游標 Step一行一行執行 Cut剪下 Copy複製 22-490 ASAP Primer 入門指南 / 撰寫命令程式
Paste貼上 Erase擦掉 Print列印 Undo復原 Redo再恢復 Find尋找 Repeat Find重覆尋找 Replace取代 Import Template輸入樣板 Scripting languages程式語言 Command tips命令提示 在ASAP的編輯器,類似其他一些ASAP的視窗,包含許多可選擇性的特性。有些具有高度的功能性,其他控制視窗內顯現的文字。類似Display Viewer、3D Viewer及Plot Viewer一般,你可以從很簡單的開始再藉由試驗及實驗來學習其剩餘的部分。你將發現大多數編輯器的功能上的觀點非常接近Windows®的標準,所以你可以非常熟悉的使用。 在本章的最後一節,有ASAP編輯的完整介紹,但是到目前知道它僅僅是一個文字編輯器就已足夠。事實上,在純文字編輯器上來撰寫ASAP程式檔是可能的,例如微軟Microsoft®的記事本 (Notepad)。然而ASAP編輯器包含具有許多有用的特性,其使得它特別適合來發展及執行ASAP程式。 •Color syntax highlighting以顏色凸顯語法為目前現代軟體發展環境的共同型態。這個功能使得你的檔案容易被閱讀及檢查,甚至於當你對命令拼錯字時,它會顯示出來。我們將在下面章節討論這個特點。 ASAP Primer 入門指南 / 撰寫命令程式 22-491
•Drag-and-drop editing 「拖拉放」編輯法,在視窗甚至文件之間拖拉放編輯的這個特性可以在欄位中選擇及編輯文字。後者這個特性對在有數字的表中工作的命令特別有用。 •Step through scripts 由ASAP編輯器中逐步執行,及執行所選取部份的程式碼根據游標的位置及使用Editor編輯器上工具列的要件決定。 • 進入程式樣板Access to the script templates、命令提示 (Command ToolTips) 及小型迷你Mini Builder皆已在前一章節中提到過。 因為這些優點,我們建議你在使用你所熟悉的舒適及安全的慣用文字編輯器之前試用ASAP的Editor編輯器。由本章及下一章的平衡,所有的程式發展及除錯都將在使用ASAP Editor下完成。 基本程式樣板 Basic Script Template 藉由樣板的協助,我們開始來介紹程式語言,其已經為我們組成了一程式檔案的基本要件。在ASAP編輯器的工具列 (toolbar) 的最右側 Import Template按滑鼠右鍵,其對話框將顯示在圖,列出可提供的樣板。 22-492 ASAP Primer 入門指南 / 撰寫命令程式
圖 輸入樣板 (Import Template) 的對話框。 選擇Basic Template,按OK。其結果將顯示在圖。 ASAP Primer 入門指南 / 撰寫命令程式 22-493
圖 使用基本樣板 (Basic Template),你可以快速地產生ASAP程式檔,其中許多常用的命令已經內建在適當的地方(以藍色顯示),及註解(以綠色顯示,並以﹗﹗開頭)。這個註解(﹗﹗)的標記可以提供你自行增加你的註解。注意,一些有效的命令集命令選項(例如WINDOW及PLOT)在圖中已經被當作註解而不發生作用。 在基本樣板中有幾項關鍵特性要注意︰ •註解是以“﹗﹗”開始的,且其顏色為綠色,任何在“﹗﹗”符號後面的字元ASAP全部忽略。註解可以放在每一行的開始或者命令 (Command) 的後面。自由的使用註解是來幫助你及其他人來了解你寫這個程式當時的想法。 • 關鍵字(ASAP的命令及命令的選項)出現為藍色。若你鍵入一個命令而該命令沒有馬上轉變成藍色,你可能拼錯了,或者記了不正確的命令。 註︰編輯器Editor使用一個簡單的方法來決定語法中的顏色凸顯。當你鍵入字元時,它在一個關鍵字表格中檢查所有字元字串。假如這個字存在,它就變成藍色。因為Editor並沒有任何進一步的前後22-494 ASAP Primer 入門指南 / 撰寫命令程式
文檢查,編輯器 (Editor) 有時候會從表中做了錯誤的選擇。例如,在圖中一個稱作ABSORB的鍍層定義。Editor辨認這個名字是由於ABSORB也是一個MEDIA ABSORB命令中的一個選項,式被使用的另一種替代方法來定義有吸收特性的介質。這個不是在這個檔案中的它的功能;ABSORB只是我們選擇來指定一個鍍層的名字。這個錯誤認定並不會造成任何問題,當命令被送到ASAP的計算引擎時,因為計算引擎對前後文是敏感的。 •大多數其他的字串及數字引數都是黑色的。 •所有的命令及其選項都是英文大寫。雖然這個狀態可以被改變(見$CASE在線上求助說明)ASAP計算引擎內訂的行為是忽略所有字母字元其不是以大寫型式鍵入。小寫字元事實上被當作white space處理。 •ASAP忽略額外的white space(spaces, tabs及空白線)。你可以利用這些white space來使得程式容易被閱讀及檢查。這個選擇只是個人風格的問題。 在程式內的許多藍色關鍵字,看起來將會非常熟悉。ASAP Builder及使用者圖形介面的建築都ASAP命令語言使用相同的名稱慣例及語法。這個一致性將幫助你更容易轉換到程式語言。 註︰你的ASAP安裝程序,提供你許多ASAP命令的工作範例,其範例都是以命令程式撰寫,你可以進入這些範例,藉由在線上求助說明的歡迎頁中,按連結Index to Exmaple Scripts,或藉由單按在ASAP命令在大部分主題頁最下端的相同連結,當這索引打開,選擇你想研讀的第一個命令的字元,然後從範例清單中選擇。 系統的先前準備 System Preliminarie 基本樣版中的前兩個命令列是System New及Reset。在你檔案上端,這兩行的出現並不是必須的, 但是他們習慣性的使用,可以避免一些問題發生。同時,這兩個命令實行大多數重要END鈕的功能,所以在執行檔案前如果你忘記按END,它可以拯救你。 ASAP Primer 入門指南 / 撰寫命令程式 22-495
重新初始化系統的數據資料庫 (Reinitialize the system databases) 第一個命令,SYSTEM NEW,重新初始化系統的資料庫,有效率地將已存在的鍍層、介質、散射模型、物件個體 (entity)定義等這些ASAP知識基礎在計算引擎執行這行命令時,全部拋棄。這個步驟避免你意外地產生相同物件多重的複製。 拋棄已存在的所有光線 (Dispose of all rays in existence) 第二個命令,RESET,拋棄所有已存在的光線,同時重置數個程式的參數,到起始狀態。藉由將這個命令置於你程式的起點,你可以避免不經意地多次重複定義相同的事物。 註︰有些ASAP的工程師喜歡使用多重程式檔。他們可能使用一個到其幾何形狀定義,一個到其光源,及另一個到光線追跡的光線及分析執行上。如果你採用這種風格,要確定只放SYSTEM NEW在幾何形狀檔的最上端,只使用RESET在光線的定義檔案。 宣告系統單位,波長,及性質 (Declare system units, wavelength, and properties) 我們將從宣告系統的單位,波長及其他我們使用的光學材料的性質開始。這是與我們在第3章Builder中所使用的程序相同,執行相同的次序(沒有下拉式功能表)。單位是由UNITS命令設定。你可以從Builder的單位組中選擇相同的設定,以短格式或長格式鍵入定義。 表 單位設定表 IN INCHES MM MILLIMETERS YD YARDS FT FEET MI MILES M METERS KM KILOMETERS MIL MILS UM MICRONS CM CENTIMETERS UIN MICROINCHES 22-496 ASAP Primer 入門指南 / 撰寫命令程式
單位不能夠混淆使用,你必需選擇一個單位,同時這個單位適用於整單位不能夠個ASAP計劃。 混淆使用,你必需選擇如果你也想定義光通量的單位,你可以使用相同的命令︰ 一個單位,同時這個單位適用於整 個ASAP計劃。 ASAP現在被設定來使用字串“Watts”來取代內定的字串“flux”在所有的分析結果。 為了設定工作波長,可以使用WAVELENGTH命令。再一次,這個工作如同在Builder中所做的。你可以有常用的選擇,包括短格式與長格式︰ 表 波長的設定 A ANGSTROMS NM NANOMETERS UM MICRONS MM MILLIMETERS CM CENTIMETERS M METERS 定義一個介質(Define a medium) 其次,這基本樣板定義一個介質︰ 這個定義只是一個使用在你模型中真實介質的地方,但是它確實是執行這個命令的基本格式,然而它將在我們單片透鏡的範圍中工作良好,注意,此處與Builder中不同的是MEDIA是一個兩列的命令,我們已經將這個介質命名為“GLASS”,其必須在單引號中,往後你可以參考這個介質,由其名稱或者數值。ASAP中,已經有一個介質MEDIA 0預先被定義為AIR/VACUUM(其折射率為1),所以“GLASS”變成介質編號1。 當你增加介質,在隨後的下一行中插入命令,最高可達一百種介質(根據ASAP的版本)︰ ASAP Primer 入門指南 / 撰寫命令程式 22-497
ASA記得ASAP包含內建的玻璃目錄如常用的商業玻璃 (Schott, Hoya, P包含內建的玻璃Ohara, and French Corning)。你不必在MEDIA命令中定義這些材料,因目錄如常用的商業玻璃為ASAP已經有它們的檔案。我們將示範這些介質目錄的使用在第498 (Schott ,頁的“Object Modifiers”。 yoH, arahO ,aand rFen ch指定鍍層特性(Specify the coating) Corning)。 在ASAP基本程式中,定義幾何形狀之前的最後一個步驟是指定介面的鍍層特性,使用COATING PROPERTIES命令。在這樣板中指定了三種最常用的指定鍍層特性,其中Fresnel反射可以被忽略︰ 再一次,這些慣用符號與在Builder中完全相同︰第一個數字指定的是介面的反射係數,第二個數字是穿透係數,如同MEDIA命令,額外的鍍層出現在Single COATING PROPERTIES命令的隨後下一行。 定義物件 Defining Objects 一旦我們已經建立工作的單位 (unit) 及定義一些介質與鍍層,我們現在可以開始來定義我們的幾何形狀。在我們這個範例中的光學系統是只有單一透鏡及檢光器平面。這個定義完成後將顯現在圖。 22-498 ASAP Primer 入門指南 / 撰寫命令程式
圖 第一步驟的程式範例,定義系統。系統定義也包含先前準備工作。例如,單位,波長,介質與鍍層。對這個範例而言,大多數這些定義都由基本樣板所提供(圖)。 與在Builder中相同,有三種個體形態的以提供給你來定義幾例形狀︰表面 (surfaces),邊緣 (edges) 及透鏡 (lenses)。然而,現在這些不只是在Builder功能選單中的次分類,但是,確實是ASAP命令。單片透鏡 (singlet) 的前表面,顯示了典型的定義以曲面為基礎物件的語法︰ 這個OPTICAL命令看起來與Builder中的形式相同,但是許多引數已經不見。ASAP程式語言中已經有許多有用的預設內定值,這些是Builder不能擁有的優點,當Builder強迫你跳過許多格子,其代表非球面相的選項時,它們非常簡單的被省略在程式命令版本。線上求助說明help現在變的是很重要的參考,遠遠比在Builder中來的重要,其引導你通過這些命令語法的細節,在下一節中提供線上求助說明Help格式的快速導覽。 ASAP Primer 入門指南 / 撰寫命令程式 22-499
這個範例也帶出在產生幾何形狀時,在Builder與命令程式間的其他重要的不同。在Builder中,所有被產生的幾何形狀由內訂為物件“Object”。記得物件“Object”會與光線有接觸的交互作用,個體“entities”則不會。在命令語言中,這個慣用法被保留下來︰內定的幾何形狀為entities,要將它們轉變為Object物件,外加的一個步驟是需要的。這個步驟是由Object命令來執行,在該命令中,我們也可以給它命名︰ 假如我們需要將兩個邊緣擠壓在一起,如我們在十三章中所做的,我們需要一個正方形的表面中央具有一個圓形的孔,我們該怎麼做?你可以回想我們遭遇到Object命令。這裡是一個同義的通光孔徑定義,這次是使用命令語言定義︰ 首先,這兩個個體entities已經被定義了,然後OBJECT命令做這個擠壓動作,在這個情況下,Object變成是一個兩列的指令。個體entities的編號和物件的命名移到第二列。我們使用在第四章中介紹的相對參考座標的方法,在個體編號之前以“dot”來表示。 線上求助說明的使用 Using On-line Help 如同上面所指出的,你可能在命令程式中使用線上求助說明的機會,比你使用Builder及功能選項時來的多。有許多種方法來進入求助說明。或許最有效率的方法是在目前的程式上下文中,對你在編輯器視窗中所鍵入命令的關鍵字按滑鼠兩下,然後按鍵盤上的F1鍵。這個Optical命令的線上求助說明上半部章節會出現,如圖所示。你可能可以發現當你在鍵入Editor時將求助說明頁,保持在編輯視窗上可見是相當有用的。你可以藉由在Help視窗上按滑鼠右鍵,並選擇Keep Help on Top>On Top來完成。 22-500 ASAP Primer 入門指南 / 撰寫命令程式
圖 Optical命令的線上求助說明Help的上部章節。全部命令輸入的關鍵要素有︰Syntax語法,Option選項說明,及註解Remarks。 ASAP Primer 入門指南 / 撰寫命令程式 22-501
Optical命令給予我們一個好的機會來描述ASAP中線上求助說明的習慣用法。Optical的基本語法應類似︰ 這語法,在初見時該承認,有一些神秘的,但是它實質上是一個簡單的系統。相同的用法應用在整個on-line Help、 Command Tips、及ASAP Reference Manual是一致的,所以,它是值得學習。這裡是一些規則︰ 1.第一行總是顯示一命令的完整版本,雖然,它可能不是唯一的版本。大寫字母表示的是真實命令的要素。參數通常以字母小寫的形式表示。這裡,例如,OPTICAL X是命令的一部份,但是字元x及r是你要放入數值(或變數名稱,或表示式,如我們將在第24章中見到的)。 2.在緊接著的一行上的增加字元,及直接出現在第一行字元的下方,顯現替換物可以置換上面的要素。在OPTICAL命令,其使用在我們的單一透鏡實例中,我們使用第三選項︰OPTICAL Z 0...而不是OPTICAL X 0... 3.參數或關鍵字出現在中跨號之中,例如 [‵P],是可選擇的參數,若將它們省略,ASAP會使用內訂的預設值,其將在求助說明頁中解釋。 註︰不幸地,這p參數是頗例外的案例。此參數是一很少使用的拋物曲率半徑,其可以從基本曲面中減掉。在r參數與p參數之間沒有空格在此處是重要的。如果你有機會使用到這一參數,你將它寫成r的擴充,以r‵p(例如- ‵)在這些字元之間沒有控格字元。這個選項,在這幾年中被擠進“squeezed into”OPTICAL的命令,藉由使用不常用的語法來維持與前一版本的倒向相容。 4.當數個參數出現在中跨號中,例如 [c d e...],它們都是可選擇的,可以部份地或完全地忽視由右向左。換句話說,假若你需要指定e參數,你必需也指定c及d。有時候,只有很少數的參數被使用,ASAP使用蜂巢式的跨號來使它看起來較清楚(見下面的表格)。 5. OPTICAL語法中的第4行,被用來增加-可選擇的第二表面。由第一行及可選擇的第二行我們可以指定這一透鏡物件的前表面與後表面。 22-502 ASAP Primer 入門指南 / 撰寫命令程式
你一定不想要記憶所有小寫字母變數的意義,它們通常在命令的求助說明中提供簡明的格式。 表 在ASAP中小寫字母的變數 選項 描述 X, Y或Z 對稱軸 x, y或z 在坐標軸上的位置 r 鏡項的曲率半徑 p 鏡頂的曲率半徑的拋物線項可以選擇性的從基本表面上減去扣除 c 圓錐常數 d, e,...,l 第4,第6...,第20項非球面係數 EXPAND 擴展圓錐進入非球面項的旗標 aperture ELLIPSE, RECTANGLE,或HEXAGONAL t 到第二面曲面的相對距離 這些短的解釋通常足夠來幫助了解,假若你以前已經使用過這一命令。假若沒有,你可以閱讀在下一節的說明主題,有較詳細完整的說明與討論。有一典型的範例是在OPTICAL命令中r參數所提供的解釋︰ 鏡頂處曲率半徑r是負值,假若曲面的曲率中心是在曲面的負方向(左側)。0或者非常大的r值相對於一平面。 有一個地方需要更多的解釋的是 [aperture] 選項。這是一個shorthand place holder對於共同大多數的以曲面為基礎的定義通光孔徑規格。它有其自我的語法,在更往下的求助說明的主題中更進一步的注意︰ 現在,整個OPTICAL命令在單片透鏡中的意義,可以完全被了解。回想其規格為︰ 這規格是在Z=0的一個曲面,曲率半徑為+5(沒有拋物線項),圓錐常數為0(球面),其圓形通光孔徑的半直徑為。此曲面沒有非球面變形,圓孔,也沒有偏移。由於ASAP所具有能力所假設的合理ASAP Primer 入門指南 / 撰寫命令程式 22-503
內訂值,有15個可選擇的參數可以省略。有時候,你的任務在使用程式語言時會變得簡單。 物件修飾 Object Modifiers 在ASAP命令程式中,物件修飾出現在OBJECT命令的緊接著的下一行。對這具有兩個要素成員的單片透鏡的唯一修飾是INTERFACE。 回想INTERFACE命令告訴我們一條光線要做什麼,若光線與Object物件接觸時。每一物件都會有一個介面修飾。假若你忘了加這一行此物件會變成可吸收的介面(內訂)。對這曲面的穿透鍍層TRANSMIT coating已經使用在上面的COATING PROPERTIES定義。我們於是宣告在介面有空氣-玻璃AIR-GLASS的改變。如同在Builder中一樣,AIR與GLASS介質的次序並不重要(見在第72頁第4章的“Interface Command”)。 你可以在介質目錄中選用玻璃,藉由在玻璃介質材料名稱前先列出玻璃廠商目錄的名字及一橫線underscore“_”字元。例如,從Schott目錄中選用BK7,你可以使用下的定義︰ 注意在圖中用來定義的INTERFACE命令,與其使用在是有一些小的不同。COATING TRANSMIT的字眼已不見,在其位置上以被兩個數字取代。這是INTERFACE的另一種語法。根據我們已有的TRANSMIT定義這兩種版本的用法是同義的: 第一個數字是反射係數,第二個數字是穿透係數。許多ASAP的使用者偏好這種語法,因為它可以一眼就了解介面的特性,不必參考在檔案前頭的折射率定義。選用任一你喜歡的語法。用來形成單片透鏡的邊緣管狀物件需要一個BOUNDS的修飾命令,來刪除我們不要的管狀物的多餘部分 22-504 ASAP Primer 入門指南 / 撰寫命令程式
使用於此的習用方法與在Builder中的用法完全相同,符號“+”(其為任意,要與不要皆可)指示我們所想要保留的管狀物,為在先前定義的第3個體entities的正方向。再一次,我們選用的相對參考為:.1是最近定義的個體(管狀物TUBE),.2是PLANE平面,.3是光學物件表面OPTICAL。不像在第4章建造Cooke三片組透鏡的第一個元件,它不必使用後表面back surface來修管狀物,因為這個透鏡已經有一個平面的被面。我們已經完全知道管狀物Tube的末端在哪裡,所以我們在TUBE的定義中指定其位置。 註︰在BOUNDS命令中ASAP Editor已經將“+”號施以紅色。這是顏色語法。對ASAP Editor中算術運算的重要提反白強調。這符號不是真實地被使用為代數運算子的角色,但Editor並不夠聰明來辨識這些。 其他你已經學習過的物件修飾,有你期待的名字,及其參數化,你可能已經猜到︰ 產生光源 Creating Sources 隨著已經定義的系統模型,現在我們可以進行步驟二:產生一些光線。我們想要撰寫ASAP定義其產生一個圓形的格子光源光線,其大小足夠填入半徑為 mm的透鏡,指向沿著+z軸,具有總光通量為100瓦特。 ASAP Primer 入門指南 / 撰寫命令程式 22-505
需要三個命令如圖所示來完成,伴隨著同義的Builder行顯示一起來比較。 圖 步驟二:定義光線。一個格子光源定義的比較,在Builder(上圖)及命令語言(下圖)舉例說明了兩者的相似性。 註︰這裡也有一個程式樣板來幫助你定義格子光源。假如你在Editor視窗按Import Template按鈕,選擇Grid Direction,其結果看起來將像 這樣。 在這個例中,ASAP提供我們必須的二個命令的工作範例來產生基本的格子光源,雖然我們必須改變幾個參數來適合我們立即的需要。FLUX TOTAL命令也必須加進來。仍然,當你是ASAP及其程式的新手,你可能找到類似這個有用的更簡單的樣板。 追跡光線 Tracing Rays 在每一個計畫中的第三步驟是追跡光線。基本樣板已經提供給我們,當一個需要的命令來追跡光線通過我們的系統︰ TRACE。完整的預設內訂輸入程式看起來應該像這樣; 選擇性的包含幾何形狀圖式(適合在3D Viewer中觀看)的命令已經被包含在內,但它們已經被當作註解排除在外。 對這個範例,我們將不對這些命令提出備註,並增加另一個新的命令 22-506 ASAP Primer 入門指南 / 撰寫命令程式
($VIEW) 來開啟3D Viewer及展示結果。我們追跡的程式段顯示在圖。 圖 步驟三︰追跡光線。 在圖中第一個命令是WINDOW。直到這一點我們不需要明白的包含這個命令,因為它總是由功能選單對話框建立起來的命令流中的一部分。例如Systm>Plot Facets及Trace>Trace Rays。使用WINDOW的選擇看起來像︰ 記得在圖中第一個被指定的座標軸是垂直,第二個軸是水平。假如你未輸入a a’及d d’參數,ASAP將自動定你圖形的大小。如果你想要控制視窗的大小,就把這些參數包含進去。 下一行,Plot Facets 5 5 OVERLAY,畫一個幾何形狀的圖進入Plot Viewer,並且準備一個三維向量版的相同數據其可以在往後的3D Viewer中觀看。這個OVERLAY關鍵字保持Plot Viewer視窗開啟來接受更多的圖形數據,當ASAP執行TRACE PLOT該數據將會出現。 這一組的命令可能比較複雜相較於當你使用Trace功能選項做光線追跡,但是如圖所示,當你按OK時,在對話框中完全相同的命令被送到ASAP計算引擎。 ASAP Primer 入門指南 / 撰寫命令程式 22-507
圖 在ASAP的對話框,使用者介面幫助你當你不能記得完成一個普通的模型化過程所有必需要的步驟來。Trace Rays對話框是一個例子。它產生多重的命令以正確的次序給ASAP計算引擎來處理。 記住你總是可以藉由按Script按鈕,獲得幫助形成程式的輸入,複製這些命令在這個Script視窗,並將它們貼到你的編輯視窗。 在圖式圖中的最後一行是一個新的命令,$VIEW。這個命令類似任何ASAP以$或&開頭的命令,是ASAP巨集語言的一部分。巨集與其他ASAP命令並無基本上的不同,在這一方面它們被使用或者參數被通過。唯一重要的不同是它們必須在式撰寫在程式的上下文關聯要做的更多,而在光學方面並不需要做多少。這個特定的巨集允許你開啟3D Viewer來觀看目前向量檔的內容。它的功能是與在ASAP工具列上按3D Viewer完全相同。事實上,如果你按這個扭,你將看到 ―$VIEW在命令輸出視窗中被回應。 22-508 ASAP Primer 入門指南 / 撰寫命令程式
如果你想要看到你的光線追跡覆蓋在你幾何形狀剖面profile圖上,在不開啟3D Viewer下,下面幾行必須要做︰ 執行分析 Performing Analysis ASAP的Editor同時提供了一個樣板來設定及執行分析在一個命令程式內。如果你將滑鼠的游標放在你想要插入命令的地方,按Import Template輸入樣板鈕,然後從清單中選擇Analysis Block,你將插入下面幾行︰ 這個樣板建立了執行分析︰孤立隔離光線 (CONSIDER) 的基本步驟,選擇一個視窗及產生分布檔案 (WINDOW, SPOTS POSITION) 及使用顯示工具來觀看分布結果。你被提示號來增加你自己特殊的資訊,藉由使用<<…>>符號。在我們的例子我們將以DETECTOR重置這。我們已經做了這及對樣板做了少數修改來建立這個分析曲塊,顯示在圖。 圖 步驟四︰執行分析。 這個DISPLAY命令在第20章被介紹且廣泛地討論。它的功能是載入目前的分布檔案 () 由SPOTS命令載入記憶體,所以你可以 使用展示工具來圖形化或者處理它。使用者介面 (GUI) 已經將這些命令送到ASAP計算引擎,當你使用這些功能選項來做你的分析。 ASAP Primer 入門指南 / 撰寫命令程式 22-509
RETURN命令也是新的,而且必須總是放在你的展示命令下面。它的功能是告訴ASAP計算引擎,你已經完成處理展示數據,而且準備回到其他工作。這個展示工具幾乎在程式中具有程式的狀態。你進入這個狀態以DISPLAY命令,離開它以RETURN命令,假如你忘了做這件事,同時發出額外的命令,ASAP會以下面的警告回應。 然而,它將經常處理新的命令。 註︰如果你學習許多程式在範例的資料庫,你也可以注意到在程式中其他部份使用RETURN命令。事實上,有許多“次程式”或者“levels”在ASAP計算引擎中,一個level被輸入,當計算引碰到COATINGS命令。它停留在這個level當讀取隨後的下一行描述其他的coatings,同時自動地離開當語法的改變顯示你完成輸入coatings。若你以手動地在命令輸入視窗輸入這些定義,你將注意到小的提示號,就在視窗下面。從ASAP>改變為COA>在這個過程中。在大多數的例子,ASAP能夠找到自己“家”的路,回到ASAP>提示號,不需要你的幫助。 22-510 ASAP Primer 入門指南 / 撰寫命令程式
以Builder產生程式 Creating Scripts with the Builder 圖 顯示我們在ASAP Editor中所產生的程式(這個程式被分割在兩頁) (下頁續)ASAP Primer 入門指南 / 撰寫命令程式 22-511
圖 完整的單片透鏡程式,顯示一個計劃的四個要件,在單一程式檔。 圖(上圖)顯示一個Builder檔,其產生完全相同的幾何形狀如我們已經撰寫的這個程式檔案,如果我們選擇發展我們的系統模型在Builder,而不是以ASAP Editor,我們仍然從Builder檔做了一個程式,為了做這個,首先,要確定Builder已經被點選(在標題列或Builder視窗中的任一部份點選),然後,選擇File>Export>INR。取代送命令到ASAP計算引擎,Builder將命令導向一個文字檔,同時給它副檔名為.inr,其結果顯示在圖的下半部,你現在可以前進來加入命令、註解、巨集,或其他程式要件到這個檔案,藉由在ASAP Editor中開22-512 ASAP Primer 入門指南 / 撰寫命令程式
啟它。不幸的是你無法逆向工作,這個轉譯工作只有單向。 圖 幾何形狀由Builder檔所產生(上部)是相等於在圖程式所定義。它也可以輸出來產生程式檔下部。 ASAP Primer 入門指南 / 撰寫命令程式 22-513
一個圖與圖之間的詳細比較,顯示有許多命令不同。例如,看鍍層的定義︰ 我們撰寫的程式 Builder所產生的檔案 在兩種定義這些不同是由Builder強烈的偏愛所造成來避免多行的命令。Builder方式間的最大不同是物插入一個分號(;)來結合兩行(進一步資料參閱第24章“其他命令件被定義的程式特性other Command Script Features”),並且沒有必要地重覆這個方式,如我們已經提示基本命令 (COATING PROPERTIES) 在每一行。一如往昔,當由ASAP的。 計算引擎處理時,這個效應足完全相同。 在兩種定義方式間的最大不同是物件被定義的方式,如我們已經提示的。Builder假設你總是想要產生物件,然而我們的命令程式需要一個明白的OBJECT命令來轉變數為個體 (entity) 為物件 (object),物件可以與光線交會作用。對於更進一步在Builder中,這個趨近是如何來完成,見在第517頁的補充說明“另一個產生幾合形狀的方式Alternative Styles for Creating Geometry”。 22-514 ASAP Primer 入門指南 / 撰寫命令程式
摘要 Summary 在這章中,下面新的命令被介紹。 ASAP命令 功能選項 描述 SYSTEM NEW Builder: 起始系統資料庫,移除 System>System>New 所有先前的定義。 RESET Builder: 刪除所有存在的光線。 Rays>Ray Control>Reset EDGE - 指示隨後的命令是邊緣個體 (entity)。 SURFACE - 指示下面的命令為表面個體 (entity)。 LENS - 指示下面的命令為透鏡個體 (entity) ENTITIES OBJECTS (Automatic) 所有幾合形狀的定義,在這個命令之後,自動地轉成物件,不需要一個明白的OBJECT命令 ENTITIES Builder: 所有幾合形狀定義在這(Right-click a definition and 個命令之後,具有個體 select Entity Status) (entity) 的狀態 DISPLAY (Automatic) 將載入記憶體,為了檔案的操作,圖式或處理,使用展示工具 RETURN (Automatic) 將ASAP計算引擎回到最上層命令層級,及ASAP>提示號 ASAP Primer 入門指南 / 撰寫命令程式 22-515
命令程式是ASAP命令程式提供一個和Builder及由GUI組成的選單專門地工作的以ASAP計替代方案。Builder及功能選單並沒有給你進入每一命令的路徑,也沒算引擎的語言寫成。當有每一命令的選項,然而,命令程式是以ASAP計算引擎的local語言你以這種方寫成。當你以這種方式使用ASAP,所有命令及巨集都可以使用。 式使用,ASAP所有命令及巨集都可以使用。 22-516 ASAP Primer 入門指南 / 撰寫命令程式
產生幾何形狀的替代方法 Alternative Styles for Creating Geometry 比較圖與圖顯示光學表面Optical Surface的定義有些不同。我們的程式看起來應類似: ASAP的Builder處理這個為: 當這兩種定義都送到ASAP的計算引擎處理時,都產生相同的物件。 這兩種Spec種最重要的不同是不熟悉的命令ENT OBJECT。事實上,這是ENTITIES OBJECT命令的縮寫版,(見在第529頁第24章中的“縮寫,捷徑,及特殊字元”Abbreviations, Shortcuts, and Special Characters其中有關命令的縮寫的討論)。一但執行,所有序列的定義自動的轉變成物件,所以不必要OBJECT的命令。 在Builder中將ENT OBJECT放在每一行的最前面。 雖然沒有害處, 但是卻不是需要。 要記得,我們可以使用這種替代方式來撰寫緊湊的物件定義。 下面幾行定義一個單片透鏡的所有三元件: 在這語法中,我們不必使用OBJECT 或SURFACE的命令。 ASAP Primer 入門指南 / 撰寫命令程式 22-517
假若,在一系列物件的定義中,你需要定義一些entities個體 (或許來擠壓邊緣或建造邊界表面) ,你可以藉由使用ENTITIES命令,沒有OBJECTS選項,來改變在ASAP工作中的模態。你可以定義一個在這一章中先前討論過的光闌孔徑,如下所述: 許多ASAP的使用者偏好這個精簡的語法我們在這本Primer入門指南中選用這個舊型態的語法來保留與ASAP範例資料庫的一致性它們是在ENTITIES OBJECT 變成流行主流之前所撰寫的龐大命令範例。 22-518 ASAP Primer 入門指南 / 撰寫命令程式
第 23 章 執行命令程式 RUNNING COMMAND SCRIPTS 在這章中,你將學習如何執行ASAP程式檔案。如你可能期望,這個通常只要涉及按一個鈕就可完成的動作,所以它幾乎不值得用一整章來討論。但是事情總是不能如你所計劃的精榷地來進行,所以執行程式很自然的會造成一些有用技術上的討論,來更正或除錯你的程式。我們也將有一個簡明的瀏覽,當產生及執行程式檔案時,有一些額外的方法來自定ASAP,以便適合你個別的需求。你將學習ASAP Editor的特點,其將節省你的時間及努力,一個增加你自己程式樣板到Editor的過程,及方法來寫程式重組Custom Toolbar按鈕,只要按“按鈕”就可以執行一個或一個以上的命令。 執行程式檔案 Running Script Files 如在Builder中的範例,ASAP的計算引擎不會在 “你的肩膀上閱ASAP Editor讀”,當你鍵入命令在ASAP Editor視窗時。ASAP Editor可能在清可能在清單中尋找關鍵單中尋找關鍵字,如果發現它們,就會將它們變成藍色,沒有正式語字,如果發法及錯誤檢查,直到你真正“執行”這個檔案。你做這個動作,可以現它們,就在Editor視窗按Run或者Save and Run按鈕。 會將它們變成藍色,沒 有正式語法如果你不是正在使用ASAP Editor,你必須在ASAP的主工具列上按及錯誤檢Run按鈕。 查,直到你真正“執 行”這個檔現在你可以瀏覽你的程式檔,選擇它,執行它。如果你正在執行一個案。 的最近被執行過檔案,你可以選擇它按Run按鈕鍵右邊的箭頭,在下拉式清單中,。 同時,回想組織一個計劃。在第十二章中你學習到如何產生一個計劃,增加你正在積極地使用的檔案到ASAP工作區Files tab選項的一個短的清單上。若你已經做了這個動作,你可以直接從這個清單執行這些檔案, ASAP Primer 入門指南 / 執行命令程式 23-519
只要選擇它們,且按Ctrl+Enter,或按滑鼠右鍵並從下拉式選單中選擇Run。這個檔案並不需要在Editor中被開啟,雖然它可以被開啟。然而,如果你使用這個方法,要確定儲存你的工作在Editor,來確保最近版本的程式是寫在你目前的工作目錄。 若你已經從前一章中輸入命令程式,你現在將可以以這些方法之一執行。若你沒有打字上的錯誤,ASAP將會進行通過所有4個步驟階段︰定義系統、定義光線、追跡光線及執行分析,並且在結束時留下ASAP>的提示號。從ISOMETRIC及PICTURE命令的結果顯示,在圖。 圖 從程式的分析結果。左圖為isometric檢視圖;右圖為相同的分布檔從Display Viewer來看。 23-520 ASAP Primer 入門指南 / 執行命令程式
以命令程式模式使用ASAP的漂亮之處:是一旦你將它弄正確了,你以命令程式模式使用使用在模型化,追跡光線及分析的每一步驟,程式自己完全的記錄文ASAP的漂件化。不須要去記憶產生這結果的精確滑鼠按鍵的次序。 亮之處:是 一旦你將它弄正確了,更正錯誤 Correcting Errors 你使用在模型化,追跡 光線及分析但是若你在開始時的試驗沒有弄對將會如何?如果你正確地打字,你的每一步可能幸運地已經輸入全部單片透鏡的77行程式且都沒有錯誤。然驟,程式自己完全的記而,極有可能你第一次想要執行這程式時,並不成功,至少在一些細錄。 節。這個結果將在命令輸出視窗指出錯誤的信息,如圖所顯示的文字形式。 圖 若有錯誤在你程式中發生。ASAP發出一紅色錯誤信息在違反的命令列下面。parser嘗試解釋,數值佔在位置如一字母(X, Y,或Z)及失敗。當恰當時機,ASAP印出正確的語法在下面,幫助你找出你的錯誤。 如你所能看到的,ASAP計算引擎停在錯誤那一行並且指出問題。在情況類似這個時,也顯示一個語法上的範例,因為ASAP想要在除錯上幫助你。 一些文字是為了精確地指出當你在執行ASAP程式時發生了什麼。ASAP的命令語言是逐行直譯interpreted而非整個檔案編譯Compiled。此意義為ASAP從不預先讀取及發現等一下什麼會發生。更進一步說,如許多編譯的語言所會做的一種“機器碼語言”版本的程式在ASAP中從未產生。在ASAP程式,你所鍵入的命令是以一次一行(或一個record)的方式讀取,錯誤及語法檢查也是在這個時刻被執行。如果通過,這個record就送到計算引擎並且執行。當計算引擎完成執行一個record,轉譯進行到下一行。 ASAP Primer 入門指南 / 執行命令程式 23-521
假如一個record沒通過語法的測試,一個錯誤信息將會在命令輸出視窗中印出,沒有進一步的行會被讀取。這個帶給我們到一個重要的點︰ 當ASAP偵測一個錯誤部份通過一程式,這計算引擎已經成功地執行錯誤行以上的程式行,且ASAP的知識庫的狀態也已經因此改變。 在圖中,我們不慎沒有指定軸(即z字元),所以轉譯失敗在TURE record。一個快速的觀察ASAP工作區視窗上的Object tab選項來確定tubes以上所定義的物件現在都存在(圖)。 圖 在ASAP Workspace上的Objects選項確定錯誤在定義透鏡邊緣那一行(見圖)並不會改變二個物件已經成功建立的事實。 不需要再去執行這些已執行過的行。在Editor上做過修正後,將游標留在先前含有錯誤的這一行的任何地方,且按RUN From Cursor按鈕。 ASAP會前進來執行程式剩下的程式部份,來完成或至少前進到下一個錯誤。我們的檔案是太簡單,所以,我們不會節省太多時間儲存,若與執行整個檔案從頭開始比較的話。但是如果你已經花了整個晚上作光線追跡,然後在分析區塊的中間拼錯了DISPLAY命令,你將感激這個語言的“resume恢復”優點特性。 23-522 ASAP Primer 入門指南 / 執行命令程式
當你工作時做證實動作 Verifying As You Work 先前的討論隱含著你必須撰寫整個程式檔案,從開始到結束在檢查之前,來看是否每一小片斷都正確地工作。這個趨近不是一個好主意。在Builder中,我們可以週期性地按Preview鈕來觀看部份或全部系統來確認我們目前所有的是正確。當我們使用命令程式時,我們是否損失了這個能力?不,我們只要簡單的注入一些新的額外確認命令,在程式中適當的地方來給我們目前工作仍是正確的信心。 或許最接近Builder上Preview按鈕的事情是VUFACETS命令。這個命令期待兩個整數引數,且行為特性有些像PLOT FACETS。在內的幾何形狀定義的終端嘗試置放VUFACETS 5 5。然後將游標放在VUFACETS的下面一行,然後按Run to Cursor。 ASAP將顯示在3D Viewer中在VUFACETS命令之前產生的所有幾何形狀。注意ASAP做這個不必如一般的中間步驟產生一二維的PLOT FACETS版的圖式在Plot Viewer,許多動作是像Builder上的Preview按鈕所做的。然而,一個大的差異是︰現在你已經執行你自己的檔案,且ASAP的狀態已經被轉換。這是Preview所做不到的。 註︰在Builder工具列上的Preview按鈕可以給你一個快速觀看所有或一些你發展中的幾何形狀,而沒有改變目前ASAP的狀態。你可以看到ASAP如何做這個藉由從學習命令送到命令輸出視窗,當按Preview按鈕。ASAP事實上貯存ASAP目前狀態的備份,執行選擇的Builder列,產生一個向量檔(沒有在Plot Viewer視窗顯示),發出3D Viewer來顯示其結果,然後回到ASAP的原始狀態。不幸的,它不可能去做這件事,使用命令程式,以十分自動化的方式。 你已經學了其他幾何形狀及光源的確認方法,使用功能選項在執行你的Builder檔之後。你可以隨時在Builder對話框中按Script按鈕,來觀看什麼命令正在使用,將它們複製到你的程式的適當位置。一些常用的圖形確認工具顯示在圖。 一旦你已經確認一片你的幾何形狀或你的光源,不再需要包含這些確認步驟,在往後每次你執行程式時,雖然你可以移除這些確認證實的命令,許多ASAP的使用者只是將它們變成註解,在使用後,以備它們在往後需要再使用。 ASAP Primer 入門指南 / 執行命令程式 23-523
System > ProfilesRays> Graphics> Plot positions 2D WINDOW YZ WINDOW Y X OBLIQUE OFF SPOTS POSITION ATTRIBUTE 3 PROFILES 0 0 -1 PIXELS 201 Rays> Graphics> Radiant Sphere Rays> Graphics> Plot Rays 3D $10 VECTOR REWIND DUMP $10 PLOT CANNEL $VIEW $PLOT OFF PLOT RAYS 1 $VIEW $PLOT NORM $10 PLOT 圖 所有幾何形狀及光線的證實確認方法,你所學到的都可以插入ASAP程式中,大多數的命令,顯示在這圖中都是熟悉的,除了一些伴隨著Plot Rays 3D以外。巨集可以被用來(初始化)向量檔,壓制圖式到Plot Viewer,在最後貯存正常的圖式。 23-524 ASAP Primer 入門指南 / 執行命令程式
更多的編輯器特點 More Editor Features 你已經看到ASAP Editor的基本功能及其工具列。然而Editor有許多的其它特點,可以被用來制定檢視圖及功能來配合你的style品味。你獲得通行到這些大多數選項,藉由在Editor視窗中任何地方按滑鼠右鍵,然後從下拉式選單選擇Properties。這個將帶給你Window Properties對話框,其具有四個選項tabs。每個tab選項顯示在圖。 ColorF/ont tab LanguageT/abs tab Keyboard tab Misc tab 圖 4個tab選項在Editor的Properties對話框,通常可用來自訂Editor視窗的行為。 ASAP Primer 入門指南 / 執行命令程式 23-525
我們將在下面強調一些它的特點。 Color/Font控制視窗顏色,包含Color Syntax Highlighting。你也可以選擇介於幾種替代的固定寬度字體,假如你不喜歡預設內訂的字體。注意並不是所有的語法強調的顏色選項會影響你文字的顏色。 註︰ASAP Editor是third-party第三者軟體設計來支援一廣泛不同的軟體應用。並不是所有特點都已經被執行在ASAP,主要在顏色語法的凸顯強調區域。一些凸顯強調的選項不存在於ASAP的命令語言中。 Language/Tabs控制你檔案中的縮排,甚至允許你自動地轉換所有關鍵字為大寫字元,當你選擇Fix up text case。 Keyboard列出鍵盤的熱鍵,其被指定給常用的Editor功能,並允許你去編輯或指定新的鍵盤捷徑。你將從你自己的這個tab選項探就獲得方便,因為它會凸顯許多隱藏著的Editor特性。例如,將學習如何放置“書纖”,以有顏色的邊在Editor視窗的左側,其允許你在程式中關鍵位置做記號,按幾下鍵就可以快速的在記號間跳躍。 Misc在Editor中enable開啟功能及disable關閉功能的特性,包含行的編號及顏色語法的反白凸顯。 這Misc tab選項也包含特點提示,其值得特別討論。其中的一個特性是Column Selection。這個特性,可能是由Editor提供的最有用的“extras”之一,被預設內定成enabled,它允許你沿著Column選擇數據,該數據你可以作剪下,貼上,拖拉來獲得數據的正確次序。 23-526 ASAP Primer 入門指南 / 執行命令程式
為了使用Column Selection,在按所選文字之前,按下Ctrl鍵。圖及圖提供範例及一些建議來使用它。 圖 在ASAP Editor中Column Selection的特點,你可以操作欄的文字。為了交換2欄,按下Ctrl鍵且選擇一欄(左圖)。一旦選定,這一欄可以被剪下來移動它且在Windows的剪貼簿Clipboard儲存一個備份。按下ctrl鍵,選擇並拉下一個欄來建立一個區域的欄位你想要插入(中間)。Paste貼上這個欄在標記的位置(右圖)。 另外一種欄位的特點是選擇一系列的行來變成註解。 圖 隨著Column Selection的特點,你可以快速地註解掉一系列的行在一檔案中。按下Ctrl鍵且按下及向下拉來選擇要變成註解的行(左邊)。鍵入﹗﹗來同時註解掉所有選擇的行。這個註解的字元可以被移除以相同的方式快速地完成。 其他有用的特點其被預設內定成enable包含水平及垂直視窗分離。這個特點可以被用來分割Editor視窗為二個區域(垂直或水平之一),其你可以獨立地捲動。 ASAP Primer 入門指南 / 執行命令程式 23-527
這些特性的普通用法顯示在圖及圖。 Vertical Splitter Horizontal Spiltter 圖 使用水平及垂直分離來轉動Editor視窗為二個獨立的可捲動視窗。你可以分割一個視窗上下或左右藉由選擇或拉動垂直或水平的分割扭在這個視窗的角落。 圖273b. 由於垂直分割Editor視窗,我們可以觀看系統資料庫定義在先前程式的曲段,其為看不見,同時我們繼續往下輸入命令。 23-528 ASAP Primer 入門指南 / 執行命令程式
圖 水平分割顯示一個含有很寬行(欄數很多)的檔案的極右欄,同時在左側可以保持可被看到的列的標記。(這個檔案式一個典型的光源切趾source-apodization檔。) 增加你自己程式的樣板 Adding Your Own Script Templates 假若你發現這程式樣板有用,你可能也想擴大這個清單,藉由你自己的撰寫。你可完成它由下列的步驟︰ 1. 開啟一個新的Editor視窗。 2. 按Import Template鈕,並從清單中選My Template。 3. 刪除提供的樣本中的行,並插入你自己的程式行。 4. 從主功能選單,選擇File>Template>Export。 5. 命名及儲存你的新樣本。 撰寫程式自訂工具列 Programming the Custom Toolbar 現在你知道一些ASAP命令,你可能想要開始使用ASAP的自訂工具列Custom Toolbar。從第2章中回想,有一系列10個預先程式化的按鈕以鐵錘標示的icon,工具列是在ASAP資訊框的右側(如果你沒有移動它)。你可以編輯每一個自訂的按鈕或增加10個以上的程式化按鈕來執行一個或一個以上的ASAP命令,其經常使用。ASAP將這些命令送到ASAP計算引擎馬上執行當你按這些按鈕。 這個新的VUFACETS命令,在本章中先前的介紹,是這個處理的一個好的候選人。你可以從主選單中由選擇File>Preferences來開始,並從其選項tab中選擇Custom Toolbar Editor。 ASAP Primer 入門指南 / 執行命令程式 23-529
你藉由主選單File>Preferences開始程式化過程,並且從其中的tab選項選Custom Toolbar Editor。 為了程式化按鈕之一,從Button Name清單中選擇它,並且填入4個欄位如圖所顯示。 圖 在User Interface Preferences的Custom Toolbar Editor選項tab的對話框可以來增加編輯及移除按鈕。前10個按鈕是預先指定的。你可以再增加10個按鈕有命令文字到這個工具列。要在按鈕上編輯一個icon,按Edit Bitmap。 ToolTip Text當你的滑鼠游標在按鈕的上面而沒有按下時會有文字出現。 Status bar Text當你的游標在按鈕的上面而沒有按下時文字會出現在ASAP資訊框的下部。這是典型一較長,更詳細解釋,按鈕的功能相較於由tooltip所提供的資訊。 Tool text當按下這個鈕時,是一視窗那裡你列出命令,其會被送到ASAP計算引擎。 Bitmap file name完整的路徑到一可選擇的bitmap檔,若你選擇做這事其將置換有編號的鐵錘icon。藉由使用內建的Bitmap Editor你可以做你自己的icon(在對話框中按Edit Bitmap鈕)。23-530 ASAP Primer 入門指南 / 執行命令程式
顯示在圖,或任一具有產生及儲存影像能力的程式如bitmap(bmp格式),包含隨Window®操作系統而來的Paint程式。 圖 使用Custom Toolbar Editor,或任一繪圖程式來設計自訂的icon給你的工具按鈕。你不必縮小你的bitmap的大小,ASAP自動調適這個影像的尺規來適合。新的按鈕圖案顯示在Custom Toolbar(右圖)。 ASAP Primer 入門指南 / 執行命令程式 23-531
摘要 Summary 在這一章中,我們介紹了下面的新命令。 ASAP命令 選單描述 VUFACETS - 產生一個幾何形狀的向量檔,並在3D Viewer中展示。 當執行及除錯ASAP的程式,我們建議以小的程式發展及試驗你的程式。Editor鈕例如Run To Cursor,及Run From Cursor使得易於檢查你程式的區段。許多ASAP的新手及以習慣使用者也會發現它簡單的開始,使程式正確地執行及增加複雜度在增加的步驟是有價值的。 當你逐漸熟鍊及有經驗在ASAP命令語言工作,你可能會花更多你的時間在這個程式環境。有些自訂的選配功能將對你有幫助,雖然其他可能不適合你個人的風格。學習那些看起來有趣的,擱置跳過其他不感興趣的。 23-532 ASAP Primer 入門指南 / 執行命令程式
練習11︰將閃光燈模型轉變成程式 Exercise 11: Converting Flashlight Model to a Script 撰寫一個ASAP程式,其重複閃光燈模型在第386頁的“練習9︰簡單閃光燈模型”,及重新產生所有的圖形結果。 1. 2. 圖 1. 確認證實光源的尺寸及其相對於反射器的坐落位置,使用PROFILES及SPOTS POSITION命令,2. 將光線追跡重疊在幾何形狀上。3. 光通量加權的光線分布圖。4. 點陣圖,其顯示只有光線位置的分布,沒有任何指示有關每一條光線的光通量。 ASAP Primer 入門指南 / 執行命令程式 23-533
提示 (Hints) •假若你偏好,你可以開始藉由輸出你的Builder檔其被產生在部份的練習中為程式 (inr) 格式,如描述在第19章。這個Builder可以加速你通過首先幾個步驟。 •記得這個Script按鈕﹗你可以使用對話框伴隨每一光線追跡及圖式步驟被清楚的說明在第390頁的“練習9︰簡單閃光燈模型”,來建立必需的命令程式來執行這一工作。 23-534 ASAP Primer 入門指南 / 執行命令程式
第 24 章 其他命令程式特點 OTHER COMMAND SCRIPT FEATURES 前二章集中注意力在如何使用ASAP命令程式來執行先前由Builder及GUI所完成的任務。在這一章中,我們將擴展這些主題到包含我們特別指出的一些特點,或至少在一般程式中相當普遍碰到的特點。我們也將花一些時間來討論表示數值及書寫數學表示式的正式規則。我們在以前已經提到許多這些規則,因為其中許多可以應用到Builder格子及命令程式。現在我們為你將它們整理在一起來給你做為快速的參考。在最後的章節,我們將給一個簡明的簡介對預先定義巨集,其將允許你增加程式流程控制(條件分支及迴圈)到你的程式。這是一個大的課題,由技術導引,“預先定義ASAP Macros巨集”,會有專門討論。藉由在ASAP Editor中程式樣板的問世,使用巨集已經變成很簡單,值得在本書Primer裡作簡明介紹。 縮寫,捷徑,及特殊字元 Abbreviations, Shortcuts, and Special Characters 很多爭論存在於撰寫電腦程式的人,其喜愛使用最小數目的技巧及捷徑。雖然節省你敲擊許多額外鍵盤的麻煩,這些技巧有時會使閱讀你程式碼的人感到困難。相同的規則應用到程式語言,例如ASAP命令及巨集語言。就為了這個理由,ASAP避免使用捷徑、縮寫及其他特殊字元來建造ASAP命令語言,雖然縮寫可以使你寫程式的短一些,成為比較密集的ASAP程式。龐大數據庫的範例程式,包含你的ASAP釋出軟體,也是為了清楚而不是為了字元的經濟來撰寫。一如往昔,最後這是一種風格。你或許知道其他ASAP使用者,他們已經採用這ASAP Primer 入門指南 / 其他命令程式特點 245-35
些捷徑,所以我們提供這一章來作一個方法來介紹你替代性哲學的規則。 重覆的數字使用@ (Repeating numbers with@) ASAP提供一個有用的捷徑給在命令中重覆輸入的數字。當ASAP碰到4@在命令中,它擴展這個為4個相同的引數︰ 假如前面有個負號,數字的符號會間隔的︰-4@變成 有機會使用到這個密集語法的是GRID命令。下面二行產生完全相同的格子光線,其中之一可以少打了些字︰ 使用;結合行 (Combining lines with;) 你可以使用“;”假如你想要將多於一個命令放在同一行內︰ 這一行可以翻譯為︰ 你以前看過“;”。它經常被Builder使用來將二個命令連結在一個record(見在第22章第507頁的圖)。這個符號法具有一些優點在許多情況,例如使用者定義的巨集在一大的資料庫。它將許多的命令放在較少的記錄上,允許ASAP來尋找資料庫較快。然而一般來說,它只會使得命令較難在你的檔案中被找到。 使用,命令跨行繼續 (Command Continuation with,) 這個逗點字元可以被用在一個超越一行的長命令。這個技術有時候被用來使得長的命令較容易讀。例如考慮OPTICAL命令及非球面項: 245-36 ASA Primer 入門指南 / 其他命令程式特點
縮寫 (Abbreviations) ASAP關鍵字(命令及命令選項)可以被縮短為較少的最低數目的字元,不會模稜兩可。例如, 可以被縮寫為 一般來說,ASAP Editor不能辨識縮寫型態的命令,為了顏色語法反白凸顯的目的。只有一些可接受的縮寫形式已經被包含在檢查的檔案中。一些著名的範例SOU DIR, SPOTS POS SPOTS DIR。這些形式是非常普通來獲得輸入進入表格中。若你經常不變的使用特定的縮寫在你的ASAP程式中,你要輸入這些到表中。 在ASAP 版本之前,你增加縮寫到檔案稱為位置在<install dir>\bin。典型的輸入看起來應像︰ 在劃界的“,”之前的輸入部分是關鍵字,任何在這個表上被找到的字在Editor中將轉成藍色。在“,”之後的輸入部分是ASAP線上說明的主題標題名稱。這是Editor及Builder如何使用F1鍵來在線上求助說明中定適當的說明頁位置。如果你傾向於經常不變的地使用SEQ為SEQUENTIAL命令的縮寫,你可以增加下列的行列到檔案︰ 這個命令不需要以字母順序排列。ASAP 版開始你可以自訂ASAP命令的名稱,典型地來縮短它們的名稱使在ASAP Editor中容易撰寫ASAP Primer 入門指南 / 其他命令程式特點 245-37
程式。關鍵字出現在顏色語法,伴隨著命令提示,其提示顯示該命令的語法。關鍵字可以被創造或刪除,在Editor視窗中使用Keywords Editor對話框,可以從Editor menu中進入。 輸入數值 Entering Numerical Values 你可以輸入數字進入一個命令行的Record(或Builder的格子)可以為整數,浮點或指數型式。ASAP轉換你的輸入到它所想要的數字型態。 指數數字(例如-12)不能包含大於40個字元。指數型式的小數點可以被忽略;例如與1E3為相同。 一些ASAP命令可以接受複數。例如,MEDIA命令可以轉譯為一個折射率,其具有實部及虛部︰ 注意這斜單引號(`)single quote或音節重音的用法。這個符號是在美國鍵盤上〜鍵的下方,不要將這符號與單引號(‘) 與雙引號 (“) 的鍵盤位置混淆。冒險增加混淆到一已經技巧性的問題,單引號(‵)是用來表示複數,其兩個分量是現在代表模(振幅大小)及相角(以度表示)。總結, ‵ 表示複數為+ ` 表示複數為 MEDIA ABSORB命令提供另一種方法間接指定一複數折射率。你可以使用這版本的MEDIA來指定一吸收係數以長度的倒數為單位。詳細細節及公式見線上求助說明。 表示式,運算子,及函式 Expressions, Operators, and Functions 在第22章所發展的單片透鏡範例,我們使用清楚的數字做為在ASAP不同命令中的引數。我們那時大可以替換任一數字藉由一其值被評估的“表示式”。一個表示式是一個數字的集合,變數(見下面),運算子,函式,其ASAP可以轉譯及縮併為一單一數值。例如,如果你已經被給定直徑而不是你光學元件通光孔徑的半徑,讓ASAP做這個數學︰ 是與 245-38 ASA Primer 入門指南 / 其他命令程式特點
相同。你不可以使用空白鍵在表示式中。ASAP在翻譯你的命令時尋找空白字元來標示表示式的終了及在命令行中另一個的起頭,結果ASAP嘗試翻譯為delimited pieces為分開的引數。 完整的ASAP算術運算符號清單顯示在表。 表 在ASAP中的算術運算符號 運算 描述 優先順序+ ADD加 二個輸入值 4 - SUBTRACT從第一個數 減掉第二個數 4 * MULTIPLY乘 二個輸入值 5 Y^ (X^Y表示成X) 6 / DIVIDE第一數除以第二數 5 \ 在第一數除以第二數後的餘數 6 < 小於 6 > 大於 6 -1% 取tan(角度為度度量)第一數除以第二6 數 〜 均勻分布隨機數在第一數與第二數之間 7 ` 從REAL實部及IMAGINARY虛部形成複0 數 ′ 從模MODULUS及角PHASE形成複數其0 中相角為度度量 ([ 存表示式及運算子的值到左邊 1 )] 呼叫先前的值及運算子,評估新的表示式 2 所有這些運算子在ASAP Editor中都以紅色表示,當內訂的顏色語法突顯的功能開啟中。當這些符號的任一個出現在兩個數字之間(或其他表示式)ASAP替換entry如表中所描述。所有這些運算子被指定一個預設內訂的優先順序如表中所示,但是--如同大多數的程式語言--你可以使用()來控制你想要的操作順序。你可以創造最高10個等級的()蜂巢。 ASAP也有一組數學函數。它們出現在表,大多數這些函數可能看起來很熟悉,雖然它不可能,你看到FBI、LPW或EYE。這三個函數是使用來幫助你在一些處方中做光通量加權的多波長光源。它們將在技術導引中“More About Sources” ,比較完整地討論。當ASAP遇到這些函數之一時,它代換它及它的引數以在表中所描述的數值。 ASAP Primer 入門指南 / 其他命令程式特點 245-39
表 在ASAP中的數學函數 () Either [] INT truncate為整數 四捨五入取最接近的整數 xxEXP e 10 LOG ln(x) log(x) ABS 絕對值 SGN 正負符號(回傳值為-1,0或1) SQRT 平方根 CBRT 立方根具有相同符號 SIN sin(x),x為弳度量 sin(x),x為度度量 COS cos(x),x為弳度量 cos(x),x為度度量 TAN tan(x),x為弳度量 tan(x),x為度度量 -1-1ASIN sin(x),x為弳度量 sin(x),x為度度量 -1-1ACOS cos(x),x為弳度量 cos(x),x為度度量 -1-1ATAN tan(x),x為弳度量 tan(x),x為度度量 BJ# 第#階的Bessel J function(#從 0〜9) BK# Modified Bessel K function(#從 0〜9) STEP 0當x<0,1當x>0 RECT 0當|x|>1/2及1當|x|<1/2 22GAUS Gaussian exp(-x) Gaussian exp(-πx) SINC sin(x)/x sin(πx)/πx SOMB 2J1(x)/x J1(πx)/πx 1FACT x!階乘 ERF Error function Complement:1-ERF() 2FBI 黑體能量分數 黑體光子分數 LPW Lumens/Watt為溫度x度的克 爾文黑體 3EYE Photopic (bright) Scotopic (dim) response response 4LIT 8個以下字元 16個以下字元 RAN 均方根單位 最大單位 1FACT是真實地gamma(|x|+1)具有x的符號 2FBI是分數黑體積分從0到x,其中x=T,其中x的單位為μm,T的單位為∘K。 245-40 ASA Primer 入門指南 / 其他命令程式特點
3EYE是標準化的視覺反應在x微米; 4LIT轉換一個數值為等效的字元字串。 注意,許多函數有兩種形式,根據引數是否包含在括號 ( ) 或中括號 [ ] 之中。例如,Cosine函數接受引數為弳度量(使用小括號 ( ))或度度量(使用中括號 [ ])︰ 函數只有一種型式的定義在表的中間欄位。小括號或中括號都產生相同結果。 使用變數 Using Variables ASAP允許你儲存數值在被命名的變數,變數名稱可以多到32個位元(在ASAP 版之前為16個位元),及必須以字元作起頭,變數不必使用前事先宣告,當你儲存一個值進入一個ASAP以前沒見過的變數,它自動地放這個變數名稱及值到1768個之一的內部暫存器。見在542補充附錄,“ASAP的暫存器”。 •存一個值到一變數使用“=”符號︰ 如其他的表示式,沒有空白格在命令record中是被允許的。 •當你想要使用值儲存入一變數,包含變數的名字在小括號內。 •當變數名被使用為一個大表示式的一部份時,括號是不須要的︰ 這裡有兩個重點,關於變數的初始化︰ 1. 你可以使用一個變數沒有初始值,它被設定為0,及ASAP工作進行在命令輸出視窗只有最少的通知。 ASAP Primer 入門指南 / 其他命令程式特點 245-41
例如,假若在下面顯示的PLANE命令是第一次ASAP遇到變數LOCATION,ASAP將在命令輸出視窗只以下列的敘述進行。 2. ASAP暫存器(變數),保留他們的值在你的程式已經完成執行。甚至SYSTEM NEW及RESET都不會改變他們的狀態。所有1768個暫存器變數只在ASAP重新開始或你按END鈕時重新初始化。 註︰若你有個ASAP程式其在昨天工作的很好,但是今天卻給不同的結果或錯了,最普遍的理由是失敗於初始化變數。經由先前的活動,你可能有一合理的值在ASAP暫存器變數中,從較早期的執行,甚至你忽略在程式的最後版本初始化變數。下次ASAP啟動,一個零值假設給未初始化的變數。 ASAP也支援高達286字串的變數來儲存字串多達32個字元之長。然而,這些變數名稱有些限制。他們必須被指派由單一字元A到Z命名,或由一數字0到9聚接在後(例如,A, R, N5, Z9)。 •字串變數也被指定一個值經由等號“=”,隨後的字串在 (“) 雙引號之內︰ 來使用這個字串,使用雙引號在變數名稱之後︰ 245-42 ASA Primer 入門指南 / 其他命令程式特點
ASAP巨集語言 ASAP Macro Language 一個ASAP你已經看到許多ASAP巨集命令。這些命令是以$或&起頭例如$VIEW, 巨集是基本$REG,及®。一個ASAP巨集是基本上與任何ASAP命令沒有任上與任何ASAP命令沒何不同,除了巨集與撰寫程式比與光學有較多關連。我們將示範三個有任何不最重要的能力其你可以用ASAP來執行,包含do迴圈,條件判別分支,同,除了巨集與撰寫程式及重新導向輸出到文字檔。 比與光學有 較多關連。 DO迴圈 $DO (Do loops) 大多數程式語言包含至少一種方法來重複“迴轉通過loop through”一群的命令,在ASAP中,你用$D0來做這個動作。它允許我們來重複一個方塊的命令,或許每次在通過迴圈改變一個或一個以上參數。 從在ASAP Editor上按Import Template的按鈕開始,並從清單中選擇Do Loop,其結果顯示在圖的上部。如同所有的程式樣本,你需要 重新放置所有介於(含)在<<與>>符號之間的表示值。 一個簡單的例子出現在下面部分的圖中。它將產生三個面具有獨特的名稱。這個$Do巨集只工作在整數步驟。這個例子迴圈3次,從計數為 -1開始,並停止在 +1每一步是1個單位。第三個引數,允許你增加量不是剛好1。 ASAP Primer 入門指南 / 其他命令程式特點 245-43
圖 $DO巨集被使用為通過一系列ASAP命令的迴圈。程式樣本顯示在上部,隨著是一個範例的程式,及3D Viewer的輸出。在這一例中,這迴圈是用來產生三個平面,使用指標記數來使每一片平面互相偏移。 包含在大弧號內的是你想要迴圈的ASAP命令,如圖所示。在迴圈方塊的其它每一個看起來像一個正常的ASAP命(或巨集)除了問號(?)字元以外。這個place holder是作為計數器。第一次通過迴圈,字元 -1(負號及1)被替換在這place holder的位置。在這方法,計數器可被使用為字串之一部分,如它在OBJECT行的名字(產生物件的名字為PLANE_-1,PLANE_0和PLANE_1),或者像一個數值輸入,如它在SHIFT命令的引數。你可以形成更複雜的偏移,藉由使用算術表示式其包含迴圈計數器。 $IF(條件分支) Conditional Branches $IF巨集允許你執行一個或一個以上的ASAP命令只在滿足特殊條件時。再一次有樣本可以幫助你做這件事,假如你選擇Simple IF THEN,你會看到樣本顯示在圖的上面。顯示在圖型下半部的這個範例,假設已經產生的光線數目被貯存在名稱為NRAYS的變數。我們已經檢驗這個NRAYS的數值,來確定它的值不要太大,假如它是100或以下,ASAP被要求來列印出光線的位置及方向,使用LIST RAYS命令。假如超過100條光線在系統中,這清單會跳過。 245-44 ASA Primer 入門指南 / 其他命令程式特點
圖 這個$IF巨集是使用來執行一系列的ASAP命令當特殊條件滿足時。這個Simple IF THEN樣本顯示在上部,及完整的範例在其下(隨著一些例子輸出)。在這一例子中,ASAP產生一個光線數據的數字清單當其光線為100條或更少時。 有一略為複雜的範例顯示在圖,以Multiple IF THEN為基礎。在這個例子中,我們已經選擇是否產生一個圖式在追跡光線過程中,依據以光線數目為基礎,再一次儲存在變數NRAYS中。我們可以試驗幾個案例,及最後預設內訂到在$ELSE巨集行之後。 ASAP Primer 入門指南 / 其他命令程式特點 245-45
圖 這個$IF巨集也有多重狀況的形式,包含內訂的 ($ELSE),其允許更多條件的精巧的檢驗。這個例子是以Multiple IF THEN樣板為基礎,產生一個幾何形狀的圖及光線當光線為1000條或以下。否則,它只是追跡不顯示光線。 $IO OUTPUT 這$IO巨集有許多功能,所有的功能都會以許多方式影響ASAP的輸入及輸出。我們將只討論其中之一︰輸出的重新導向。這個版本的$IO允許你來取資訊,該資訊正常只會出現在命令輸出視窗,及重新導向一個複製檔到一個被命名的文字檔。這個樣版是名稱為output Redirection,其出現在圖的上部。 245-46 ASA Primer 入門指南 / 其他命令程式特點
圖 輸出的重新導向被用來送任何資訊其正常出現在Command Output視窗到文字檔。在上面的程式是以Output Redirection樣板的基礎。 顯示在樣板下面的範例是重新導向的是顯示在圖的相同輸出,並將之放置到你的工作目錄名稱為的檔案。其他巨集,$ECHO NONE,是用來停止回傳命令進入Command Output視窗當你重新導向這些輸出時。這個巨集防止當重新導向作用時LIST RAYS,及其他命令使用弄亂到輸出檔案。 當我們完成時,我們回轉到$ECHO命令沒有引數的回傳狀態,其可以返回ASAP到最後$ECHO巨集先前的狀態。 摘要 Summary 在這一章中,我們已經介紹了下面的新命令。 ASAP命令 Menu 描述 $DO - 迴圈通過(重複)ASAP的區塊命令(或輸入的record)。 $IF - 引起簡單的條件分支。 $IF...THEN - 引起一個多重狀態的條件分支。 $ELSEIF $ELSE $ENDIF $IO OUTPUT... - 控制輸出重新導向 $ECHO - 控制命令回傳 ASAP Primer 入門指南 / 其他命令程式特點 245-47
ASAP暫存器 ASAP Registers ASAP只提供有限的空間給使用者的變數;一個總數為1768的暫存器提供給你使用。這些暫存器佔有兩個訊息︰ •變數的名稱(最多32字元) •雙精度的數值 ASAP提供數種有用的預先定義的巨集,來幫助你管理你的變數。第一個名字叫做®,讓你列出目前使用中暫存器變數裡的目前值。你可以將®鍵入命令輸入視窗或進入程式像其他的ASAP命令。這個變數列印目前使用所有暫存器的目前值到命令輸出視窗︰ 另一個版本的巨集名稱為$REG。除了列印目前使用中暫存器的值,它也顯示內部暫存器的名稱(在最左邊的欄)被使用來儲存變數︰ 雖然這些額外的訊息對使用者很少使用,但是它確實給見識到ASAP暫存器使用的細節。注意,例如內部暫存器命名為“A”是與由使用者指定的名稱相同(見下面在“直接暫存器”的討論)。 另一個有用的巨集是$SHOW。它列印在其他事中目前在使用中暫存器的編號。你可以使用這個巨集來檢查看看你正在使用的暫存器多麼接近使用光1768個暫存器︰ 在1768暫存器中,286個有特別的狀態。它們被稱為“直接暫存器”提供給我們做字串的儲存。字串可以多達32個字元。 245-48 ASA Primer 入門指南 / 其他命令程式特點
在286個直接暫存器及1482個間接表兄之間沒有差別,除了32個字元使用來儲存變數的名稱已經交出來儲存你的字串。這就是為什麼你不能夠命名你的字串變數,但是必須使用ASAP暫存器的內部名稱 (A, B, C,...Z, A1, A2,...A9)。一個小的實驗可以來說服你一個字串變數的行為就好像任意其他的變數,如果你看待字串的值如同一個變數名稱︰ 當你使用完最高達1482個間接變數,額外的變數定義開始使用任一可獲得的直接暫存器空間。 ASAP Primer 入門指南 / 其他命令程式特點 245-49
245-50 ASA Primer 入門指南 / 其他命令程式特點
附錄1B ASAP技術導引 ASAP TECHNICAL GUIDES 下面的ASAP技術導引可以在你的電腦中找到其路徑為<install Dir>\tech guide directory。這些文件是以Adobe Acrobat reader (PDF檔)格式呈現。觀看這些文件,你必須安裝Adobe Acrobat reader在你的電腦。 BRO# 標題 描述 0909 Radiometric Analysis, 如何應用輻射度學概念在ASAP中。0911, Draft More about Sources 如何使用多光源及多波長。 0912, Draft More about Edges 如何應用邊緣物件名詞及基本的Bezier曲線,來了解如何參數的模型化工作。特別注意給予POINTS、PATCHES及CONIC命令。 0913 Arrays and Bounds 如何使用陣列及bounds在ASAP中。0915, Draft Diffraction Gratings and 如何在ASAP中模型化繞射光學元DOEs 件。 0916, Draft Lens Entities 如何完成透鏡個體在ASAP及這些透鏡個體如何與曲面及邊緣個體不同。0917 Predefined ASAP Macros 如何使用ASAP提供的巨集其允許流程控制、輸入輸出控制及次程式能力在ASAP程式語言中。 ASAP Primer入門指南 / ASAP技術導引 15-B51
BRO# 標題 描述 0918 User Defined Macros, 如何重覆使用自訂ASAP程式中的方English and Japanese 塊為使用者定義的巨集。 0919 Introduction to Wave Optics 如何執行波動光學計算,包含干涉、English and Japanese 繞射、部分同調性。 TM 0920 IGES Import 如何使用ASAP smartIGES和一個CAD程式來產生幾何形狀,輸入幾何形狀進入ASAP給進一步的發展,增加光源、及執行分析在ASAP中。 0923, Draft Polarization 如何執行在ASAP偏振光分析。 15-B52 ASA Primer 入門指南 / 其他命令程式特點