一種基于3d仿真技術的電網真實結構完全模擬方法
【技術領域】
[0001]本發明涉及電網系統仿真技術領域,尤其涉及一種基于3D仿真技術的電網真實結構完全模擬方法。
【背景技術】
[0002]近年來,伴隨著中國電力發展步伐不斷加快,中國電網也得到迅速發展,電網系統運行電壓等級不斷提高,網絡規模也不斷擴大,全國已經形成了東北電網、華北電網、華中電網、華東電網、西北電網和南方電網6個跨省的大型區域電網,并基本形成了完整的長距離輸電電網網架。中國電網規模已超過美國,躍居世界首位。在如此迅猛的發展勢頭下,我國電網前期規劃凸顯出其重要性,只有運用3D仿真技術對電網領域的聯系發電和用電的設施、設備進行真實模擬,才能最有效得還原未來真實場景,3D仿真技術在電網方面的新型應用著重在于針對電網行業及設施,彌補其前期缺乏真實數據模擬場景還原環節的缺憾,建立一個可動態更新變化、并利用國際先進算法和引擎的3D仿真環境,對電網建立前期、運行過程和設備進行真實模擬還原。
[0003]通常所說的3D仿真技術指的是real-time interactive video,這里面interactive指的是操作會影響畫面的顯示(如放大、縮小、旋轉、拖拽等),由于系統會對operator的操作進行反饋,所以這類的3D仿真技術更真實,更吸引人,real-time是指實時的操作、環境的變化必須要實時的在畫面上表現出來。也可以說是video的一種,其利用通用的計算機技術實現了實時交互性的效果。
[0004]本質上計算機是數字化的,即信號是離散的(與連續相對)、數字的,所有連續的效果通過足夠快的更新畫面來實現,實際類似于上電影、電視的原理。其都是用離散來模擬連續。因為一般人眼的反應時間大概是毫秒量級,所以使用離散來模擬連續是可行的。
[0005]目前,3D仿真技術在電網方面的應用,是在充分了解電網結構和設施的基礎上,優化傳統3D仿真模型、算法和引擎技術,對電網真實環境的完全仿真模擬,所以不存在可操作性,在真實環境因多種原因突然改變的情況下,3D仿真技術無法及時產生對應的變更。換言之,3D仿真技術在電網方面的新型應用著重于數據的真實性,是將真實電網環境數據化,再將數據3D化,是一種靜止的鏡像模擬環境,而非“動態”模擬環境。
【發明內容】
[0006]本發明的目的是提供一種基于3D仿真技術的電網真實結構完全模擬方法,能夠在仿真電網結構和設施的基礎上,優化傳統3D仿真模型、算法和引擎技術,實現對電網真實環境的完全仿真模擬。
[0007]本發明采用的技術方案為:
一種基于3D仿真技術的電網真實結構完全模擬方法,包括以下步驟:
I)導入google地圖數據:主要用于核對與電網電力設施相關的設備及建筑物與周圍環境的位置關系、屬性信息、相應地理空間數據以及準確的朝向; 2)3ds max建模:在google地圖投影基礎上制作模型;
制作的模型包括:電網相關的電力設備和建筑物,還包括設備和建筑物四周環境存在的自然物和創造物;
其中,電力設備和建筑物包括:變電站、桿、塔、開關、變壓器、重合器、接地線、圍欄、警示牌、鐵路、道路和電力應用的房屋;
自然物包括:設備和建筑物四周存在的地理走向現狀,交叉跨越、高大樹木、山嶺、丘陵、河流;
創造物包括:設備和建筑物四周存在的人造的各種建筑。
[0008]3)導出Obj模型:導出實時引擎可以識別的模型格式;
4)打光、烘培紋理:在模型上渲染出一定光線條件下的紋理,并且調整UV坐標;
5)增加周圍環境物體:主要指道路、花壇、空調等裝飾物小模型,盡量采用可復制的模型減小場景復雜度;
6)導出場景文件:最終導出整個場景的結構文件,其中包括導出的obj模型以及各個模型的位置加載關系;
7)視圖操作
①:計算骨骼動畫的當前transform矩陣、頂點動畫的當前數據,攝像機移動的當前位置動畫相關數據;
②:計算粒子系統當前的狀態;
③:計算視角新的變換矩陣;
④:根據視角matrix4 更新 modelView matrix、project1n matrix ;
⑤:根據新的視錐體進行場景剔除,一般室外場景是八叉樹裁剪、室內場景是二叉樹裁剪;
⑥:更新每個node 的 orientat1n,posit1n、scale 等屬性;
8)清染場景
⑦:依次清染renderQueue中的mesh,根據shader等來分組進行清染、進而提高效率,GPU的特點是并行計算快,但是切換狀態時很費時間;
⑧:為GPU綁定頂點數據;
⑨:設置vertixshader 和 pixelshader 的參數;
⑩:執行shader程序。
[0009]本發明的優點:1、實時性-較傳統3D仿真技術而言,新型技術不需要重復建模,在模型數據庫變化時即可實時更改;
2、保證幀平穩(畫面播放要平穩、不能有快進或卡住的感覺)-需要進行算法的優化和服務器設備配置的提升;
3、不能卡住整個線程-當局部出現BUG畫面時,保障整個大畫面線程的流暢;
4、3d模型的效果要真實(主要是物理模擬等)-保障和真實環境一致,而不是示意圖。
【附圖說明】
[0010]圖1為本發明的流程圖。
【具體實施方式】
[0011]如圖1所示,本發明包括以下步驟:
1)導入google地圖數據:主要用于核對與電網電力設施相關的設備及建筑物與周圍環境的位置關系、屬性信息、相應地理空間數據以及準確的朝向;
2)3ds max建模:在google地圖投影基礎上制作模型;
制作的模型包括:電網相關的電力設備和建筑物,還包括設備和建筑物四周環境存在的自然物和創造物;
其中,電力設備和建筑物包括:變電站、桿、塔、開關、變壓器、重合器、接地線、圍欄、警示牌、鐵路、道路和電力應用的房屋;
自然物包括:設備和建筑物四周存在的地理走向現狀,交叉跨越、高大樹木、山嶺、丘陵、河流;
創造物包括:設備和建筑物四周存在的人造的各種建筑。
[0012]3)導出obj模型:導出實時引擎可以識別的模型格式;
4)打光、烘培紋理:在模型上渲染出一定光線條件下的紋理,并且調整UV坐標;
5)增加周圍環境物體:主要指道路、花壇、空調等裝飾物小模型,盡量采用可復制的模型減小場景復雜度;
6)導出場景文件:最終導出整個場景的結構文件,其中包括導出的obj模型以及各個模型的位置加載關系;
7)視圖操作
①:計算骨骼動畫的當前transform矩陣、頂點動畫的當前數據,攝像機移動的當前位置動畫相關數據;
②:計算粒子系統當前的狀態;
③:計算視角新的變換矩陣;
④:根據視角matrix4 更新 modelView matrix、project1n matrix ;
⑤:根據新的視錐體進行場景剔除,一般室外場景是八叉樹裁剪、室內場景是二叉樹裁剪;
⑥:更新每個node 的 orientat1n,posit1n、scale 等屬性;
8)清染場景
⑦:依次清染renderQueue中的mesh,根據shader等來分組進行清染、進而提高效率,GPU的特點是并行計算快,但是切換狀態時很費時間;
⑧:為GPU綁定頂點數據;
⑨:設置vertixshader 和 pixelshader 的參數;
⑩:執行shader程序。
[0013]下面詳細說明本發明的實現原理:
首先,解釋幾個基本術語
operator:3D仿真技術在觀察時,需引入操作者的概念。 gamepad (also called joypad or control pad):操作桿。
Skeletal animat1n (骨骼動畫):3D仿真實際上是連續的多個離散的頂點位置集合,頂點動畫是將這些位置的集合事先計算好,在使用時直接放入顯卡進行渲染,骨骼動畫是在每一幀中計算各個抽象的骨頭的變換矩陣,之后在渲染時由顯卡負責將這些變換作用到起初設定的skin上面。
ragdoll physics:骨骼■動畫里面的每個bone (rigid bodies )之間建立了一種相互約束的關系(比如電網設備的線路只可以向外延伸,而不能進入設備內部),這樣使3D效果更真實。
AGAL:Adobe Graphics Assembly Language Stage 3D 的著色器語言。
[0014]AIR:Adobe Integrated Runtime開發代號為Apollo,是一個跨操作系統運行環境,用來建造RIA,使用Flash、Flex、HTML與AJAX,可能部署為桌面應用程序。
[0015]AIR是Adobe針對網絡與桌面應用的結合所開發出來的技術,可以不必經由瀏覽器而對網絡上的云程序做控制,也由于這是Adobe所開發的技術,因此能很順利的與Adobe旗下的Photoshop、Flash、Fireworks等應用程序來進行開發。
[0016]GPU:圖形處理器
Shader:著色器,指一組供計算機圖形資源在執行渲染任務時使用的指令。程序員將著色器應用于圖形處理器(GPU)的可編程流水線,來實現三維應用程序。這樣的圖形處理器有別于傳統的固定流水線處理器,為GPU編程帶來更高的靈活性和適應性。
[0017]著色器分為頂點著色器,幾何著色器,像素著色器。
[0018]渲染管線:渲染管線也稱為渲染流水線,是顯示芯片內部處理圖形信號相互獨立的的并行處理單元;在某種程度上可以把渲染管線比喻為工廠里面常見的各種生產流水線,工廠里的生產流水線是為了提高產品的生產能力和效率,而渲染管線則是提高顯卡的工作能力和效率。
[0019]—般3D仿真技術的規則是由server端來計算的,client本質上是一個狀態“播放器”,為了更有效的實時的顯示出最新的狀態,本地要保存一個operator和環境的數據結構(如果所有數據實時的從server端取