陳東風一番對於編程方向的分析引起了其他三人的疑惑,陳東風光要搞個底層的算法,這搞出來要怎麼用呢?畢竟他們的初衷是要運用到設(shè)計中去的。但是陳東風說的也沒有錯,除非有大量的人力物力支持否者他們四人可能連幾何引擎算法都不一定能夠完成。
“東風,我們向院長求救?”楊輝有困難找院長。
“得了吧,現(xiàn)在黃院長的魂已經(jīng)被Mini2給勾走了,恐怕他是沒有空理我們,再說了我們是航空院又不是計算機院,巧婦難爲無米之炊啊。”唐昌宏嘆口氣道。
陳東風一拍大腿說:“兄弟們,首先我們搞得這個幾何引擎可能一點實用價值都沒有,這樣我們也是張不開口求助學?!,F(xiàn)在院長給我們批準了兩個客戶端已經(jīng)是天大的面子了。這樣我們先搞起來,等搞出點眉目,我估計楊光老師那裡也差不多也忙完了,當時候我們在聯(lián)合計算機院來搞這個幾何引擎,怎麼樣?”
陳東風都這樣說了,三人自然沒有意見,畢竟現(xiàn)在都是紙上談兵階段,連幾何引擎的功能分析還沒有做完。正好這段時間VAX-11還沒有到,四人利用這段時間先把框架討論出來。
其實陳東風四人還不知道1979年,SDRC公司發(fā)佈了世界上第一個完全基於實體造型技術(shù)的大型CAD/CAE軟件──IDEAS。由於實體造型技術(shù)能夠精確表達零件的全部屬性,在理論上有助於統(tǒng)一CAD、CAE、CAM的模型表達,給設(shè)計帶來了驚人的方便性??梢哉f,實體造型技術(shù)的普及應(yīng)用標誌著CAD發(fā)展史上的第二次技術(shù)革命。但是,在當時的硬件條件下,實體造型的計算及顯示速度太慢,限制了它在整個行業(yè)的推廣。
現(xiàn)在CAD/CAE等CAX軟件還沒有在硬件的支持下發(fā)揮威力,但是隨著這幾年計算機計算能力的大幅度提高,CAX等軟件已經(jīng)在汽車、航空等製造業(yè)發(fā)揮越來越重要的作用。
這次陳東風提出的幾何引擎計劃中最爲重要的就是三維造型技術(shù)。三維造型技術(shù)是建立恰當?shù)哪P蛠肀硎咀匀唤缰行螒B(tài)豐富的三維物體的技術(shù),根據(jù)造型對象將造型技術(shù)分成3類。
第一類是曲面造型,主要研究計算機內(nèi)如何描述一張曲面,及曲面的顯示與控制。曲面造型又分成規(guī)則曲面和不規(guī)則曲面兩種。不規(guī)則曲面造型方法他們採用的是貝塞爾曲線曲面。
第二類是立體造型方法,主要研究在計算機內(nèi)如何定義、表示一個三維物體,主要有體素構(gòu)造法、邊界表示法和八叉數(shù)法等等。曲面造型和立體造型合稱幾何模型造型。
第三類是自然景物模擬,主要研究在計算機內(nèi)如何模擬自然景物,如雲(yún)、流水、樹等。該造型技術(shù)主要應(yīng)用在遊戲和藝術(shù)造型等領(lǐng)域。
不過自然景物的模擬不是他們四人的研究重點,曲面和立體造型是他們這次幾何引擎的重點方向。當然三維幾何引擎是重點,二維的幾何引擎也不能少。
二維圖形基本幾何變換是指相對於座標原點和座標軸進行的幾何變換,包括平移、比例、旋轉(zhuǎn)、反射)和錯切5種變換。
二維和三維的圖形的底層函數(shù)算法都實現(xiàn)了才能構(gòu)成一個完整的幾何引擎。
所謂幾何引擎是是借用機器工業(yè)的同名術(shù)語,表明在整個系統(tǒng)中的核心地位。也可以稱之爲“支持應(yīng)用的底層函數(shù)庫”或者說是對特定應(yīng)用的一種抽象。
陳東風想做這個幾何引擎,關(guān)鍵還是現(xiàn)在人少,整體CAX系列軟件需要大規(guī)模的人員共同開發(fā)以及對各種客戶需求的分析。這些都不是目前陳東風他們能掌握的資源,然而搞幾何引擎就不一樣了,最底層的研究關(guān)鍵還是算法、結(jié)構(gòu)、效率,以他們四人目前的實力可以勉強實現(xiàn)。
“東風,我問下,如果這個幾何引擎搞出來後,你準備怎麼辦?”楊韋問出了關(guān)鍵。
陳東風來回走了幾步,“我也沒有想好,只是覺得這是趨勢,沒有CAX軟件在航空設(shè)計等領(lǐng)域的效率會很低。大家有什麼看法?”
“無非有兩條路,一是免費給別人使用,然後根據(jù)第三方開發(fā)的反饋來不斷的完善這個幾何引擎。二是我們自己組織人研發(fā)CAX類軟件?!睏铐f說。
楊韋想說的就是如果這個幾何引擎想要完善那麼就必須要有人用,這樣才能不斷的完善發(fā)展,所以關(guān)鍵問題就是怎麼用了。
唐昌宏在沉默了一會說道:“我們現(xiàn)在想這些是不是太早了,其實這個幾何引擎的使用問題應(yīng)該不大,由於三維圖形涉及到許多算法和專業(yè)知識,要快速的開發(fā)三維應(yīng)用程序是有一定困難的。當應(yīng)用程序開發(fā)人員非常需要一個封裝了硬件操作和圖形算法、簡單易用、功能豐富的三維圖形開發(fā)環(huán)境,而這個環(huán)境就是我們的幾何圖形引擎。所以我們現(xiàn)在的焦點是怎麼開發(fā)這個引擎,編程的語言,引擎的架構(gòu)、算法等等,成品之後的工作還是等等再說吧。”
陳東風接著唐昌宏的話說:“昌宏考慮的很對,我預(yù)計這個幾何引擎的代碼有幾十萬行,我們四個人想要完全的可能性不大,還是要先做出第一階段的成果後尋找?guī)褪?。編程語言我覺得C語言已經(jīng)不太合適了,C++是一個很好的選擇?!?
自從四人開始晚上計算機後,對編程語言的發(fā)展一直是很上心。去年c++由比雅尼·斯特勞斯特魯普博士在貝爾實驗室發(fā)明並實現(xiàn)後,C ++開始在編程領(lǐng)域展露頭角。經(jīng)過一段時間的發(fā)展,C ++已經(jīng)在工業(yè)上的開發(fā)語言佔很大的比例。
從名字來看,C++在最開始可以稱作C語言的增強版,c ++引入了一些新的函數(shù)庫和新的用法,如虛函數(shù),操作符重載,多重繼承,模板,異常處理,名字空間逐漸納入,這使得C++可用性大幅度提高。
現(xiàn)在C++也沒有學習資料,他們現(xiàn)在只是通過雜誌和論文了解了C++的一些情況,不過既然決定使用C++來進行編程了,那麼就需要一套開發(fā)軟件了,這個任務(wù)只能交給林元禮了。