亚洲AV日韩AV无码污污网站_亚洲欧美国产精品久久久久久久_欧美日韩一区二区视频不卡_丰满无码人妻束缚无码区_久爱WWW成人网免费视频

切換到寬版
  • 廣告投放
  • 稿件投遞
  • 繁體中文
    • 2363閱讀
    • 0回復

    [原創(chuàng)]CODEV中引入自定義間斷面 [復制鏈接]

    上一主題 下一主題
    離線ght970201
     
    發(fā)帖
    17
    光幣
    50
    光券
    0
    只看樓主 倒序閱讀 樓主  發(fā)表于: 2012-11-03
    今天,我解決了CODEV中引入自定義間斷面的問題。積累了經(jīng)驗,與大家分享。 {OH @z!+d  
    ;s^br17z~  
      按照說明書,有間斷的面最好使用USERSUR2,但是,當我打開他的模板后,發(fā)現(xiàn)比較復雜,這是一個專門為菲涅爾透鏡的生成而編制的程序,參數(shù)很多,復雜之處在于處理與各個間斷點有關的問題,具體我也沒太看懂,只知道是反復疊代找到交點。 : ~R Y  
    /Zzb7bHLK  
      但是,雖然codev的說明擋中強調(diào)USERSUR型子程序只適合于連續(xù)表面,但考慮到,光線追跡實際上只需要知道表面的函數(shù)和該點的導數(shù),所以,如果在程序中仔細定義間斷點處的導數(shù),就可以當成連續(xù)面來處理。 v$WH#;(\  
    jfLkp>2E'  
       我的解決辦法是,利用有限差分計算導數(shù),而且是前后差分導數(shù)都計算出來,做對比,取絕對值小的那一個作為導數(shù)。因為,很容易理解,如果某個差分取在了間斷點的兩側,一定很大。另一個較小的 TO,XN\{y  
    bOB<m4  
    就是在間斷點同側取的。數(shù)學上來說,相當于左右導數(shù)。 a/ 4!zT   
    vU4Gw4  
      計算表明,比較OK。 xr;:gz!h  
    K)D5%?D  
          USERSUR.for的使用比較簡單。只需把CODEV自帶的程序,即, USERSUR.for改成自己的程序名字,再把內(nèi)容修改就可以。重要的參數(shù)就是輸出導數(shù)。其他像錐常數(shù),曲率等都不用。雖然,允許使用MODE參數(shù)選擇用codev自己用有限差分計算導數(shù),但最好別這樣。應按如上所述處理,比較安全。 \! *3bR  
    ?k|}\l[X1  
      此外,生成dll文件要使用nmake技術。注意環(huán)境變量要設對。此外,如果還出現(xiàn)找不到文件的問題。 7EfLd+  
    =do*(  
    那就手動找文件,通常在fortran的安裝目錄的某些子目錄中,用windows的搜索功能就可找到,然后考備到當前目錄下,通常是c:\CVuser. 其他問題在codev的幫助文檔中很容易找到。 I[x+7Y0k9  
    .wdWs tQ  
    在nmake語句中,要注意空格。例如,nmake  -f *******
    1條評分 ,光幣+20
    cyqdesign 光幣 +20 原創(chuàng)內(nèi)容,獎勵! 2012-11-03
     
    分享到