最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python光學(xué)仿真wxpython透鏡演示系統(tǒng)框架

 更新時(shí)間:2021年10月19日 14:36:39   作者:微小冷  
這篇文章主要為大家介紹了Python光學(xué)仿真UI界面的wxpython透鏡演示系統(tǒng)框架基本講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助

透鏡演示系統(tǒng)

框架

現(xiàn)在,我們可以做一個(gè)具備友好界面的透鏡演示系統(tǒng)了。我們需要兩個(gè)圓弧來(lái)表示透鏡,一條線段表示主光軸,多條線段表示光線的傳播路徑。此外,還需要對(duì)光源和透鏡的參數(shù)進(jìn)行調(diào)節(jié)。

然而值得注意的一點(diǎn)是,我們?cè)谶M(jìn)行計(jì)算和畫圖過(guò)程中所用到的幾何圖形,在表達(dá)形式以及操作流程上可能并不相同。例如,對(duì)于光源發(fā)出的一條射線,它與透鏡的作用流程為

  • 尋找與透鏡前表面的交點(diǎn)A
  • 獲取反射和透射直線
  • 尋找透射直線與透鏡后表面的交點(diǎn)B
  • 計(jì)算透過(guò)透鏡的直線

然而對(duì)于畫圖程序來(lái)說(shuō),光源S和A之間有一條線段,A和B之間有一條線段,若想畫出透過(guò)透鏡的線段,則必須先確定這條線段的另一個(gè)端點(diǎn)。也就是說(shuō),在求解反射、透射光線的過(guò)程中,所得到的光線表達(dá)式對(duì)于畫圖來(lái)說(shuō)并無(wú)意義,只有端點(diǎn)是有意義的。

至此,即可得到這個(gè)小程序中必不可少的一些數(shù)據(jù),包括光源參數(shù)、透鏡參數(shù)、光線與表面的交點(diǎn),光線端點(diǎn)組成的點(diǎn)對(duì),所有光線的表達(dá)式,當(dāng)前仍在傳播的光線的表達(dá)式等。

于是可以建立如下代碼:

import raypath as rp
class OptiTest(wx.Panel):
    def __init__(self,parent=None,size=(800,600)):
        wx.Panel.__init__(self,parent=parent,id=-1,size=size)
        self.Bind(wx.EVT_PAINT, self.OnPaint)
        self.opti = rp.Opti()   #光學(xué)元件對(duì)象
        self.optiDict = {}      #光學(xué)元件參數(shù)
        self.sourceDict = {}    #光源
        self.abcs = []      #所有光線的abc參數(shù)
        self.nodes = []     #交點(diǎn)
        self.dots = []      #點(diǎn)對(duì),用于繪圖
        self.rays = []      #仍在傳播的光線
        self.InitPanel()    #初始化模板
    def InitPanel(self):
        pass                #暫時(shí)不想寫的地方可以用pass
    #設(shè)置透鏡
    def setEdge(self):
        pass

其中,光學(xué)元件包括位置、折射率、孔徑、前表面曲率、后表面曲率等參數(shù);光源信息包括位置、角度等信息,可初始化為:

self.optiDict = {'xPos':300,'nOpti':1,'Diameter':100,
                 'lFocal':200,'rFocal':200}
self.sourceDict = {'xSource':10,'ySource':100,'theta':0}

在上述所有計(jì)算所得的數(shù)據(jù)中,彼此有很密切的關(guān)系。例如點(diǎn)對(duì)是由兩個(gè)點(diǎn)組成,而每個(gè)點(diǎn)至少?gòu)膶儆谝粋€(gè)點(diǎn)對(duì)。而從光線的傳播角度出發(fā),除了光源,每個(gè)節(jié)點(diǎn)都有父節(jié)點(diǎn);除了最后的死點(diǎn),每個(gè)點(diǎn)都有一個(gè)子節(jié)點(diǎn)。對(duì)于任意一點(diǎn),只要遍歷其所有子節(jié)點(diǎn),就可以畫出這個(gè)點(diǎn)組成的所有線段。

以上就是Python光學(xué)仿真UI界面wxpython透鏡演示系統(tǒng)框架的詳細(xì)內(nèi)容,更多關(guān)于wxpython框架的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • django中間件及自定義中間件的實(shí)現(xiàn)方法

    django中間件及自定義中間件的實(shí)現(xiàn)方法

    中間件就是在目標(biāo)和結(jié)果之間進(jìn)行的額外處理過(guò)程,在Django中就是request和response之間進(jìn)行的處理,相對(duì)來(lái)說(shuō)實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單,這篇文章主要介紹了django中間件以及自定義中間件?,需要的朋友可以參考下
    2023-06-06
  • Django中數(shù)據(jù)庫(kù)遷移常用的命令小結(jié)

    Django中數(shù)據(jù)庫(kù)遷移常用的命令小結(jié)

    在Django中數(shù)據(jù)庫(kù)遷移用于保持?jǐn)?shù)據(jù)庫(kù)結(jié)構(gòu)與模型定義同步,這篇文章主要介紹了Django中數(shù)據(jù)庫(kù)遷移常用的命令,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • python常用內(nèi)置模塊你了解嗎

    python常用內(nèi)置模塊你了解嗎

    這篇文章主要為大家介紹了python的常用內(nèi)置模塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • numpy中nan_to_num的具體使用

    numpy中nan_to_num的具體使用

    在Numpy中NaN值一般出現(xiàn)在數(shù)據(jù)清洗前,出現(xiàn)這個(gè)值說(shuō)明這個(gè)數(shù)據(jù)是缺失的,本文主要介紹了numpy中nan_to_num的具體使用,感興趣的可以了解一下
    2022-08-08
  • 詳解Python命令行解析工具Argparse

    詳解Python命令行解析工具Argparse

    這篇文章主要為大家詳細(xì)介紹了Python命令行解析工具Argparse的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Python實(shí)現(xiàn)批量修改指定目錄下圖片的大小

    Python實(shí)現(xiàn)批量修改指定目錄下圖片的大小

    批量修改指定目錄下圖片大小通常是在需要對(duì)大量圖片進(jìn)行統(tǒng)一處理的情況下使用的,本文主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)批量修改圖片大小,需要的可以參考下
    2023-10-10
  • Python學(xué)習(xí)之圖片濾鏡效果的實(shí)現(xiàn)

    Python學(xué)習(xí)之圖片濾鏡效果的實(shí)現(xiàn)

    濾鏡效果是圖像處理中常用的一種技術(shù),可以用來(lái)增強(qiáng)圖像的視覺效果,實(shí)現(xiàn)不同的效果,本文就來(lái)利用Python中的Image模塊實(shí)現(xiàn)常見的幾個(gè)圖片濾鏡吧
    2023-05-05
  • python創(chuàng)建和刪除目錄的方法

    python創(chuàng)建和刪除目錄的方法

    這篇文章主要介紹了python創(chuàng)建和刪除目錄的方法,涉及Python操作目錄的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • Python 安裝setuptools和pip工具操作方法(必看)

    Python 安裝setuptools和pip工具操作方法(必看)

    下面小編就為大家?guī)?lái)一篇Python 安裝setuptools和pip工具操作方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Python自動(dòng)化構(gòu)建工具scons使用入門筆記

    Python自動(dòng)化構(gòu)建工具scons使用入門筆記

    這篇文章主要介紹了Python自動(dòng)化構(gòu)建工具scons使用入門筆記,本文講解了安裝scons、scons常用命令、scons使用示例等內(nèi)容,需要的朋友可以參考下
    2015-03-03

最新評(píng)論

上高县| 枝江市| 湖南省| 宣汉县| 常熟市| 云和县| 开封市| 四子王旗| 安乡县| 会理县| 和田市| 新巴尔虎右旗| 息烽县| 榆中县| 聂拉木县| 云龙县| 六盘水市| 大新县| 沛县| 图木舒克市| 吴桥县| 张家川| 北碚区| 南丹县| 杭锦旗| 舟曲县| 温泉县| 会东县| 固原市| 芜湖县| 金平| 淄博市| 凤庆县| 灵丘县| 东宁县| 沐川县| 芷江| 东辽县| 来安县| 广水市| 梁平县|