欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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è)圓弧來表示透鏡,一條線段表示主光軸,多條線段表示光線的傳播路徑。此外,還需要對光源和透鏡的參數(shù)進(jìn)行調(diào)節(jié)。

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

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

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

至此,即可得到這個(gè)小程序中必不可少的一些數(shù)據(jù),包括光源參數(shù)、透鏡參數(shù)、光線與表面的交點(diǎn),光線端點(diǎn)組成的點(diǎn)對,所有光線的表達(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é)元件對象
        self.optiDict = {}      #光學(xué)元件參數(shù)
        self.sourceDict = {}    #光源
        self.abcs = []      #所有光線的abc參數(shù)
        self.nodes = []     #交點(diǎn)
        self.dots = []      #點(diǎn)對,用于繪圖
        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)對是由兩個(gè)點(diǎn)組成,而每個(gè)點(diǎn)至少從屬于一個(gè)點(diǎn)對。而從光線的傳播角度出發(fā),除了光源,每個(gè)節(jié)點(diǎn)都有父節(jié)點(diǎn);除了最后的死點(diǎn),每個(gè)點(diǎn)都有一個(gè)子節(jié)點(diǎn)。對于任意一點(diǎn),只要遍歷其所有子節(jié)點(diǎn),就可以畫出這個(gè)點(diǎn)組成的所有線段。

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

相關(guān)文章

  • Python爬蟲之UserAgent的使用實(shí)例

    Python爬蟲之UserAgent的使用實(shí)例

    今天小編就為大家分享一篇關(guān)于Python爬蟲之UserAgent的使用實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • K-means聚類算法介紹與利用python實(shí)現(xiàn)的代碼示例

    K-means聚類算法介紹與利用python實(shí)現(xiàn)的代碼示例

    K-means聚類算法(事先數(shù)據(jù)并沒有類別之分!所有的數(shù)據(jù)都是一樣的)是我們大家應(yīng)該都聽過的一種算法,下面這篇文章主要給大家介紹了關(guān)于K-means聚類算法的基礎(chǔ)知識(shí)與利用python如何實(shí)現(xiàn)該算法的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-11-11
  • 圖文詳解Python中模塊或py文件導(dǎo)入(超詳細(xì)!)

    圖文詳解Python中模塊或py文件導(dǎo)入(超詳細(xì)!)

    導(dǎo)入文件目的就是為了執(zhí)行文件,下面這篇文章主要給大家介紹了關(guān)于Python中模塊或py文件導(dǎo)入的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • 利用Chatgpt開發(fā)一款加減乘除計(jì)算器(Python代碼實(shí)現(xiàn))

    利用Chatgpt開發(fā)一款加減乘除計(jì)算器(Python代碼實(shí)現(xiàn))

    這篇文章主要為大家詳細(xì)介紹了如何利用Chatgpt開發(fā)一款加減乘除計(jì)算器(用Python代碼實(shí)現(xiàn)),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-02-02
  • pandas map(),apply(),applymap()區(qū)別解析

    pandas map(),apply(),applymap()區(qū)別解析

    這篇文章主要介紹了pandas map(),apply(),applymap()區(qū)別解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python結(jié)合API實(shí)現(xiàn)即時(shí)天氣信息

    python結(jié)合API實(shí)現(xiàn)即時(shí)天氣信息

    這篇文章主要介紹了python結(jié)合API實(shí)現(xiàn)即時(shí)天氣信息的代碼,非常的實(shí)用,有需要的小伙伴可以參考下。
    2016-01-01
  • 詳解python中xlrd包的安裝與處理Excel表格

    詳解python中xlrd包的安裝與處理Excel表格

    python處理Excel常用到的模塊是xlrd。使用xlrd可以非常方便的處理Excel文檔,下面這篇文章將給大家詳細(xì)介紹python中包xlrd的安裝與利用xlrd處理Excel表格的方法,有需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。
    2016-12-12
  • python中元組的用法整理

    python中元組的用法整理

    在本篇內(nèi)容里小編給大家整理的是關(guān)于python中元組的用法及相關(guān)實(shí)例,需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • 利用Python操作消息隊(duì)列RabbitMQ的方法教程

    利用Python操作消息隊(duì)列RabbitMQ的方法教程

    RabbitMQ是一個(gè)在AMQP基礎(chǔ)上完整的,可復(fù)用的企業(yè)消息系統(tǒng)。他遵循Mozilla Public License開源協(xié)議。下面這篇文章主要給大家介紹了關(guān)于利用Python操作消息隊(duì)列RabbitMQ的方法教程,需要的朋友可以參考下。
    2017-07-07
  • Python基于分析Ajax請求實(shí)現(xiàn)抓取今日頭條街拍圖集功能示例

    Python基于分析Ajax請求實(shí)現(xiàn)抓取今日頭條街拍圖集功能示例

    這篇文章主要介紹了Python基于分析Ajax請求實(shí)現(xiàn)抓取今日頭條街拍圖集功能,涉及Python針對今日頭條URL請求與json數(shù)據(jù)處理相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07

最新評論