第一五七章 幾何約束

1963年,I.E. Sutherland在他的 Sketchpad系統中第一個採用了用約束定義物體的方法,此法成爲以後約束滿足型智能CA方法的先驅。最早對智能CAD的研究使用專家系統的辦法。國際上最早研究智能CAD的單位是美國的卡耐基-梅隆大學。著名的人工智能學者H.A.Simon和CAD學者Eastma於20世紀70年代中期帶領一批博士研究生研究住宅空間的綜合。澳大利亞悉尼大學以J.S.Gero教授爲首的Design Computing Unit 從研究工程設計優化方法着手,於20世紀 70 年代末開始轉向設計中的人工智能技術。

目前,CAD的研究中存在着三個前沿問題:第一個問題是解決方案的形成,第二個問題是圍繞着設計對象、設計知識的表達展開的研究,第三個問題是圍繞智能CAD系統的自動作圖功能研究,即幾何約束求解。

現在陳東風和楊韋就是想要直接挑戰智能CAD系統這樣的科技前沿,不得不說確實步子邁的有點大。

“昌宏,你說的問題我有思考過,不光是欠約束情況下全參數的方程組求解問題,還有過約束的情況,需要把相同的或者部分重疊的條件進行過濾。其實這個問題歸根到底是幾何約束求解的問題。這個技術不能說是先進,但是確實是幾何引擎成敗的關鍵。我決心要把幾何約束的算法融合到幾何引擎中。”陳東風堅定的說。

楊輝看着陳東風說:“我看這個問題不用爭論了,東風你能把幾何約束的算法搞出來,那麼皆大歡喜,就看你有沒有信心了,不過這種純數學的問題恐怕我是幫不了你了。不過這段時間我會潛心研究C++和幾何引擎的價格,等你計算出幾何約束算法從而解決欠(過)約束情況下全參數方程證求解問題,那麼我們就立即投入到幾何引擎的編程工作中,怎麼樣?”

楊輝的提議是不是辦法的辦法,算法這個核心搞出來了,那麼就成功了一半自然沒有問題。如果陳東風攻克不了這個問題,那麼他的提議也就是沒有了價值,可能幾何引擎這個項目就黃了。

想要理解幾何約束求解那麼就必須要了解什麼是幾何體。幾何體的定義是一個幾何圖形中最基本最具有特徵的幾何元素。例如2維中的點、直線、線段、圓、圓弧和三維中的平面、球面、曲面等。

在幾何體的定義上引申出來的幾何約束的定義是,兩個或多個幾何體之間所具有的幾何關係。例如點與點之間的距離,直線和直線之間的角度,兩條直線垂直,直線與圓相切等。

陳東風自從接過幾何約束的問題後,就全心全意的投入到了其中,他首先將幾何形式的幾何約束進行了分類,不外乎幾何形式的幾何約束和代數代數形式的幾何約束。

幾何形式的幾何約束包括尺寸約束和拓撲約束。

所謂尺寸約束一般是由用戶顯式輸入的。通常包括兩點之間的距離、直線與直線之間的角度、點到直線的距離、半徑約束和兩條平行直線之間的距離等。

所謂拓撲約束束一般是隱含的,是由系統根據草圖自動建立的。通常包括水平約、兩條直線平行和垂直、三點共線、兩個角相等、兩個圓共心等。

根據幾何約束中所涉及的幾何體的個數,還可以將幾何形式的幾何約束分爲三類。一元約束:只涉及一個幾何體的約束。這類幾何約束很少見,例如線段的長度就是一個一元約束。

二元約束:涉及到兩個幾何體的約束,大多數的幾何約束屬於此類。

多元約束:涉及到兩個以上的幾何體的約束。例如三點共線,線段的長度相等,角度相等等。

代數形式的幾何約束包括方程約束和不等式約束。

方程約束:指以方程的形式給出的幾何約束。例如,三角形的面積等於圓的面積。

不等式約束:有時爲了表示點在幾何圖形中的構造順序時會用到,例如,A<B<C<A表示點A,B,C是以順時針的順序構造的。

以上的概念如果總結不出來,那麼對於幾何約束的求解基本上就是一知半解,或者說求出來也是不嚴謹的結果。這個就是基礎理論的研究,很是花費時間但是沒有什麼經濟效益。

用了一個多月的時間陳東風基於以上的基本概念,總結出幾何約束求解的確切定義——給定一個幾何體的集合O和一個關於集合O中的幾何體之間的幾何約束的集合C,那麼二元組(O,C)也就是幾何約束問題。

幾何約束求解的定義清晰後,那麼利用解析幾何的知識,建立直角座標系,將所有給定的幾何約束轉化成一系列表示幾何約束的代數方程,方程中的變量表示幾何體的獨立參數,這樣就將一個幾何約束問題轉化成一個非線性代數方程組的求解問題。然後,用數值計算的方法求解這個方程組,所得到的解就是幾何體的位置座標,即可以構造這個幾何圖形。這就是陳東風設想的基於數值計算的幾何約束求解方法。

先把數值計算方法放到一邊,正如唐昌宏對陳東風質疑,在實際過程中不肯能所有的約束條件都是完美的,總有欠約束或者過約束的時候。

要想提高几何約束求解的交互性和準確性必須要進行幾何約束求解的定性分析——也就是欠、過和完整約束性的判定問題、參數有效範圍的確定問題、多解問題、求解失敗的診斷和誤差的傳播問題等。

陳東風要做的就是給出這樣的一個欠/過約束的完整判定算法,然後在分別針對欠約束和過約束進行完善。

對於欠約束的幾何約束求解問題,陳東風通過設置幾何約束的優先級,給出瞭如何依據幾何約束的優先級添加幾何約束的方法,最後計算出了一個將欠約束的幾何約束求解問題轉化爲完整約束的幾何約束求解問題的算法。

對於過約束的幾何約束求解問題,陳東風首先判定一個過約束的幾何約束求解問題是一致性的還是非一致性的,進而針對兩種不同類型,分別給出將其轉化爲完整約束的幾何約束問題的方法,並提出了算法。

到了這一步才基本上算是完成了幾何引擎中最爲關鍵的幾何約束算法,而這個時間也過去了4個月,已經到了1981年的3月份。

第六十三章 放下芥蒂 合作研發第一四五章 賽後第八章 實習結束 新的開始第七十九章 驪山 黑虎嶺第六十六章 制導方案 葛森入夥第十三章按時而來 聆聽建議第一一三章 清點&amp;amp;總結第八十九章 第一次試射第三十一章 院長帶隊 奔赴金陵第六十八章 鷹擊動力裝置第一三九章 布爾戈斯第七十九章 驪山 黑虎嶺第五十三章 比例切割 算法初成第一一三章 清點&amp;amp;總結第四十六章 設計複雜 開始建模第四十三章 飛龍初議 設計不易第一一五章 反火炮鷹眼第九十二章 三營來訪第一四一章 賽前第四章雞肋雞肋 食之?棄之?第九章 院長有請 侃侃而談第一一一章 謀劃第一五七章 幾何約束第十三章按時而來 聆聽建議第一四二章 賽前2第一四四章 比賽第一零二章 最後的準備第八十章 防空警報第一四一章 賽前第一一七章 特殊採購第五章 初識學霸 猶如神助第四十四章 求助院長 二議‘飛龍’第七十五章 黑白鷹眼第十章 考試周中 計劃暑假第三十八章 夜訪嬸嬸 合作外貿第八十二章 考察飛龍第七十四章 計算機難題第八十四章 與軍方會議第一四一章 賽前第一三七章 設計第二十七章 院長三招 整機裝配第一五九章 專業跑項目第七十三章 微波信號第十七章 核心機 結構設計第十二章預計不足 裹足不前第五章 初識學霸 猶如神助第九章 院長有請 侃侃而談第一零八章 傳音2第九十九章 情況交流第一二一章 夜戰第三十三章 董明竹 竟是嬸嬸?第一一九章 提前開始第七十三章 微波信號第四十九章 飛龍擱置 備戰考試第一二二章 出人意料的變化第一二零章 炮戰第一二二章 出人意料的變化第二十九章 試飛大綱 全部完成第八十章 防空警報第六十八章 鷹擊動力裝置第九十九章 情況交流第一零一章 採購計劃第二十七章 院長三招 整機裝配第五十五章 商業天賦 合作深化第八章 實習結束 新的開始第四十四章 求助院長 二議‘飛龍’第八十章 防空警報第一四六章 留學?第三十一章 院長帶隊 奔赴金陵第十八章 核心機完成 繼續前行第三十三章 董明竹 竟是嬸嬸?第九十五章 驪山軍演1第一四七章 有償服務第四十三章 飛龍初議 設計不易第十章 考試周中 計劃暑假第一零四章 抵達滇省第八十三章 機房觀摩第一二九章 不輕鬆的會議第六十九章 飛龍瘦身 魔改Hong-6第八十一章 兵圍西工大第六十二章 黃院長 威震光機所第五十九章 飛龍啓動 工廠對接第五十五章 商業天賦 合作深化第一零六章 組裝調試第一二八章 兼顧第一百章 軍方來了第一一零章 雨中試飛第一一七章 特殊採購第一三五章 電風扇第一零一章 採購計劃第一三四章 抵達第二十章 外形結構 協作完成第三十五章 橫空出世 橫掃比賽第二十七章 院長三招 整機裝配第一章:天降異雷 莊周夢蝶第九十五章 驪山軍演1第二十一章 控制系統 進退維谷第八十七章 試射準備工作第五章 初識學霸 猶如神助第四十六章 設計複雜 開始建模
第六十三章 放下芥蒂 合作研發第一四五章 賽後第八章 實習結束 新的開始第七十九章 驪山 黑虎嶺第六十六章 制導方案 葛森入夥第十三章按時而來 聆聽建議第一一三章 清點&amp;amp;總結第八十九章 第一次試射第三十一章 院長帶隊 奔赴金陵第六十八章 鷹擊動力裝置第一三九章 布爾戈斯第七十九章 驪山 黑虎嶺第五十三章 比例切割 算法初成第一一三章 清點&amp;amp;總結第四十六章 設計複雜 開始建模第四十三章 飛龍初議 設計不易第一一五章 反火炮鷹眼第九十二章 三營來訪第一四一章 賽前第四章雞肋雞肋 食之?棄之?第九章 院長有請 侃侃而談第一一一章 謀劃第一五七章 幾何約束第十三章按時而來 聆聽建議第一四二章 賽前2第一四四章 比賽第一零二章 最後的準備第八十章 防空警報第一四一章 賽前第一一七章 特殊採購第五章 初識學霸 猶如神助第四十四章 求助院長 二議‘飛龍’第七十五章 黑白鷹眼第十章 考試周中 計劃暑假第三十八章 夜訪嬸嬸 合作外貿第八十二章 考察飛龍第七十四章 計算機難題第八十四章 與軍方會議第一四一章 賽前第一三七章 設計第二十七章 院長三招 整機裝配第一五九章 專業跑項目第七十三章 微波信號第十七章 核心機 結構設計第十二章預計不足 裹足不前第五章 初識學霸 猶如神助第九章 院長有請 侃侃而談第一零八章 傳音2第九十九章 情況交流第一二一章 夜戰第三十三章 董明竹 竟是嬸嬸?第一一九章 提前開始第七十三章 微波信號第四十九章 飛龍擱置 備戰考試第一二二章 出人意料的變化第一二零章 炮戰第一二二章 出人意料的變化第二十九章 試飛大綱 全部完成第八十章 防空警報第六十八章 鷹擊動力裝置第九十九章 情況交流第一零一章 採購計劃第二十七章 院長三招 整機裝配第五十五章 商業天賦 合作深化第八章 實習結束 新的開始第四十四章 求助院長 二議‘飛龍’第八十章 防空警報第一四六章 留學?第三十一章 院長帶隊 奔赴金陵第十八章 核心機完成 繼續前行第三十三章 董明竹 竟是嬸嬸?第九十五章 驪山軍演1第一四七章 有償服務第四十三章 飛龍初議 設計不易第十章 考試周中 計劃暑假第一零四章 抵達滇省第八十三章 機房觀摩第一二九章 不輕鬆的會議第六十九章 飛龍瘦身 魔改Hong-6第八十一章 兵圍西工大第六十二章 黃院長 威震光機所第五十九章 飛龍啓動 工廠對接第五十五章 商業天賦 合作深化第一零六章 組裝調試第一二八章 兼顧第一百章 軍方來了第一一零章 雨中試飛第一一七章 特殊採購第一三五章 電風扇第一零一章 採購計劃第一三四章 抵達第二十章 外形結構 協作完成第三十五章 橫空出世 橫掃比賽第二十七章 院長三招 整機裝配第一章:天降異雷 莊周夢蝶第九十五章 驪山軍演1第二十一章 控制系統 進退維谷第八十七章 試射準備工作第五章 初識學霸 猶如神助第四十六章 設計複雜 開始建模