面向工程領域的圖形平臺介紹

1. 概述

1.1. 什麼是圖形平臺

    圖形平臺指的是某行業的某專業類軟件所須要的基礎框架及功能的統稱,好比咱們常見的AUTOCAD,就是面向建築,水暖,石油等專業行業的一個極具表明性的通用性圖形平臺。圖形平臺是一個底層的框架,在這個框架的基礎之上,能夠根據公司自身須要或者市場需求開發衆多的相似的軟件。開發一個強大的具有可維護性,複用性,擴展性的圖形平臺的技術難度很是高,必須具有深厚的技術儲備,和一個契合度很高的開發團隊。通常來講,公司的圖形平臺做爲基礎工具,屬於一個公司的核心資產,只會在它的基礎上開發新的產品,通常不會對外出售源代碼。算法

1.2. 國內圖形平臺的現狀

國內具有開發圖形平臺實力的公司並很少,特別是可以開發高質量的圖形平臺的公司更是少之又少,國內公司通常是使用國外的圖形平臺作二次開發。國外有名的圖形平臺好比二維的AUTOCAD,三維的Revit等都封裝了底層接口,爲專業開發人員提供了二次開發方法或者函數庫,開發人員使用這些圖形平臺,能夠在必定程度上知足了開發和應用的須要,提升了應用系統的開發效率,可是因爲是基於別人的源發平臺,不可能與咱們自身的需求徹底無縫知足,因爲沒法獲知其內數據組織結構和核心算法,深層開發和系統優化受到極大限制,一些國家處於戰略方面的考慮,在圖形平臺高端效果和核心算法方面禁止或部分限制對我國的出口,形成事實上的技術壁壘和壟斷,並且外國商業化的圖形平臺大都價格昂貴,根據開放程度一套售價數萬或者數十萬美圓,長期使用國外圖形平臺,勢必要持續花費大量的資金,同時形成我國在這一領域缺少核心技術。數據庫

2. 圖形平臺的通常結構

2.1. 圖形平臺的示意圖

 

2.1.1. 數據庫

   數據庫是整個系統的核心,用來管理對象模型,是從專業角度抽象而來,整個圖形平臺是經過數據庫驅動運轉的,數據庫包括建立對象,對象動態識別,對象的存儲,對象的組織和對象的通信,這些對象是以相互繼承的關係展開的,若是咱們作同一類軟件話,整個平臺最主要的做用就按照專業定義相應的數據庫。微信

 

2.1.2. 圖形

    圖形的做用是用來展現數據庫中存儲的專業數據, 數據庫中的專業數據和圖形數據造成映射關係,使用者對圖形的操做最終會反映到數據庫數據的操做上。圖形模塊同時提供了加速優化算法,好比各類空間分割技術(八叉數,四叉數等),圖形系統主要負責對圖形的組織,管理與顯示,具備圖形表示的對象經過調用圖形系統的功能,完成對象的顯示。架構

2.1.3. UI

   用戶界面主要完成對交互事件的組織與管理,並協同圖形系統,實現對象的各類交互方式。系統在處理交互事件時,給出一個統一的流程,處理不一樣的交互事件,如場景的各類顯示方式,各類交互的建模方法,同時用戶界面模塊還包括語法解決模塊,用來對鍵盤輸入的字符進行解析。框架

2.1.4. 控制器

    在程序架構中,有一種典型的模式,叫作模型視圖控制器(MVC)模式,這裏的控制器就是關聯數據庫和圖形的部分,控制器做爲一種插件式的模塊,把數據庫和圖形徹底隔離開,使他們二者完全接觸耦合,可以分別的複用,好比,數據庫若是徹底獨立,則能夠成爲專門存儲數據的地方,就叫作數據中心,若是圖形徹底獨立,則除了專門用於工程領域外,也能夠用於三維仿真等其它領域。函數

2.2. 圖形平臺不一樣模塊的組織關係

    數據庫作爲圖形平臺的核心部分,控制着其它模塊的運行,其它模塊都要圍着數據庫轉,圖形平臺各個模塊之間能夠設計成插件式的組織方式,插件式的組織方式有不少優勢,好比能夠控制錯誤,若是在某一模塊出現錯誤,錯誤不至於影響其它模塊,便於複用,開發不一樣的產品的時候,可直接拖用,容易擴展,在原有插件的基礎上開發新的插件。工具

2.3. 圖形平臺與產品的關係

2.3.1. 同一類產品

  對於同一類產品來講,只需從新定義數據庫便可,其它模塊如圖形模塊,算法模塊,都可複用,例如鋼結構,若是作出了門剛這樣的軟件,那麼再作棧橋這樣的軟件,只要把數據庫按照棧橋的專業邏輯從新定義,其它全部模塊均可以複用,專業需求和產品的關係以下:優化

 

 

2.3.2. 不一樣類的產品

   因爲整個圖形平臺是數據庫驅動的,因此平臺的核心就是定義數據庫,若是不一樣的產品差異太大,亦或徹底不一樣的兩個行業,好比建築行業和石油行業,這樣會致使整個數據庫徹底沒有共同點,那麼數據庫模塊和控制器模塊都不能複用,只有圖形模塊能夠,具體項目須要具體對待。原則上不一樣類的產品須要啓用不一樣的開發平臺,固然不一樣平臺的設計思路仍是有必定共通行的。spa

3. 評估圖形平臺的難度及開發成本

   因爲圖形平臺技術含量很高,工程量很大(想象一下AUTOCADRevit這類二維和三維圖形平臺的難度),而且須要大量的資金投入,不一樣的行業須要的圖形平臺也不一樣,因此在不知道需求的狀況下,沒法對公司須要的平臺的難度和規模作出一個準確評估。這就要求公司決策層必定要明確設計方向和功能模塊,確保完成一個成熟產品,而後從成熟產品裏面提取出公共部分,就會造成一個圖形平臺。避免人力物力的無謂消耗,至關於無形中下降了開發難度和成本。插件

歡迎交流圖形平臺技術及3D的一切 微信 likeyou135  公衆號 GraphicsPlatform

相關文章
相關標籤/搜索