想要做出這一款幾何圖形引擎,可不是件容易的事情,四人雖然跟着楊光搞過Mini2的圖形、控制軟件,但是這次畢竟是第一次從頭到尾設計。
一個軟件的開發從從業務和經濟的角度來看,軟件的生命週期包括四個主要階段。
第一是起始階段,即有一個好的想法,具體構想出產品的設想和它的業務案例,確定項目的範圍。這一階段陳東風已經爲幾何圖形引擎軟件規劃好了,只做底層的圖形算法。
第二是細化階段,計劃必要的活動和所需資源,具體確定功能並設計構架。
第三是構建階段,構建產品,發展最初的設想、構架和計劃,直到一個能夠交付給用戶的產品完畢。
第四是移交階段,將產品移交用戶使用,包含:製造、交付、培訓、支持、維護,直到用戶愜意。
完畢這4個階段稱爲一個開發週期,它產生的軟件稱作第一代。除非產品的生命結束,一個現有產品能夠通過反覆下一個同樣的起始、細化、構建和移交四階段,各個階段的側重點與第一次不同,從而演進爲下一代產品。
不過現在討論第二代產品還爲時過早,畢竟他們現在最基本的計算機需求還沒有被滿足,至於他們四人有沒有掌握編程語言C++,現在也沒有計算機來進行驗證。所以對於這樣什麼物質條件都沒有的團隊,正好讓四人把設想、構架分條縷析的規劃好。
怎麼表達一個幾何圖形是他們討論的核心,楊輝、唐昌宏傾向於交互作圖而楊韋和陳東風則傾向於參數化作圖。
所謂畫出圖形在概念化的設計過程中,用戶一開始不需要並不關心圖形的精確尺寸,而只是粗略地勾畫圖形的大致形狀。而且,用戶也可能在現有圖形的基礎上,作細微的改進。尺寸的調整是非常普遍的,因爲尺寸可以決定零件的幾何形狀,尺寸的改變可以生成不同的幾何圖形。
但是這種傳統的交互作圖系統,圖形一旦生成就很難進行尺寸的調整,沒有繼承性。另外,由於概念設計和初步設計階段要靠設計者的知識和經驗再加以思考來完成,而這些知識和經驗往往不能用精確的數字模型和算法來描述,交互作圖系統對此很難勝任。
“東風、阿韋,現在我們這個幾何引擎就是第一代而已,你們搞得這麼複雜風險很大,而且現在的CAD都是交互作圖的方式,你們要搞參數化作圖這能不能成功都不知道。”楊輝勸說陳東風和楊韋。
這些天的討論,四人也不是就坐在宿舍、教室裡面空想,他們不僅收集現在國外CAD發展的消息,還對機械院、航空院等使用過CAD類軟件的教授進行了交流。
由於四人的名氣在西工大還是蠻大的,和他們進行交流討論的教授也沒有給他們什麼臉色看。甚至在黃院長的介紹下,他們還到紅旗廠去看了下從法國MATRA公司的Euclid三維工程繪圖軟件。
“不對,這樣的話有點背離幾何圖形引擎的初衷,如果只是爲了可以人機交互進行工程圖紙的製作,那麼有沒有幾何圖形引擎都沒有太大的關係。我們的幾何圖形引擎就是要對各個幾何圖形建立一般的通用的約束方程,再構成貝塞爾曲線呈現出來。所有隻要我們朝着最初的幾何引擎道路走,那麼必定會吧幾何圖形的參數表示出來。反過來說在用戶進行設計過程中幾何引擎可以自動地捕獲用戶的設計意圖,從而將用戶設計中的各個設計對象以及對象之間的關係用參數記錄下來,而當用戶修改圖紙中尺寸標註和設計參數時,幾何引擎能夠自動對圖紙進行必要的修改,使圖紙中反映用戶設計意圖的設計對象之間的關係依舊得以維持。”陳東風完全不同意把設計要求降低。
楊韋補充到,“不僅要參數化,幾何引擎中還要引入變量。變量化技術可以將整個設計草圖當作一個完整的系統來考慮,與構造過程的順序無關。將草圖中的控制尺寸和拓撲關係都用參數來表示,這使得設計初期的草圖可以不是完全定義的,而將沒有完全定義的控制尺寸和拓撲關係用變量存儲起來,暫時以當前的繪製尺寸賦值。設計者可以在任何階段對草圖中的任何尺寸和拓撲關係進行重新定義,同時這種重新定義也不必牽涉草圖中的所有的幾何圖形的改動。所以如果參數化和變量化的技術可以在我們的幾何引擎中體現,那麼最初我們擔心的使用問題也就不存在了,我可以說這將是最先進的幾何引擎,而採用這套引擎開發的CAX產品必將是最先進的。”
陳東風看楊輝和唐昌宏還是有點猶豫繼續分析:“基於約束滿足的參數化和變量化設計系統把問題描述與問題求解技術分離成相互獨立的兩個部分,這樣一來幾何引擎主要功能就不是簡單的畫出幾何圖形了,還會有兩個重要的功能。第一就是幾何參數化模型能自動地導出精確的幾何模型。它不要求輸入精確圖形,只要求輸入一個草圖,標註一些幾何元素的約束,再通過改變約束條件來自動導出精確的幾何模型。第二就是可以通過修改局部參數來達到自動地修改精確的幾何模型的目的,大致形狀相似的一系列零件,只需修改一下參數,便可以生成新的零件。”
陳東風和楊韋的分析很動人,但是也是充滿了未知數,唐昌宏就捕捉到了他們兩人想法中的關鍵。
唐昌宏一邊聽一邊記錄,在陳東風說完後問:“那你們現在有沒有攻克欠約束情況下全參數的方程組求解問題。雖然你們說得很好聽,描述的也很誘人,但是所有的關鍵都集中在這裡。如果這個問題不解決的話,我相信僅憑藉草圖和幾個關鍵參數是不可能生成精確的幾何圖形的,到時候肯定是Bug漫天飛,各種稀奇古怪的圖形會跑出來。”
唐昌宏的問題,陳東風和楊韋何嘗沒有想到,只是兩人現在還沒有辦法解決而已。