




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Smart Geometry詳細(xì)設(shè)計(jì)說(shuō)明書IT Project ManagementSCUTCopyright1 概述1.1 系統(tǒng)簡(jiǎn)述由于目前的主流電子課件系統(tǒng), 無(wú)法滿足教師在課堂教學(xué)互動(dòng)中需要與用 戶界面自然、 高效、連續(xù)性交互的要求。 我們準(zhǔn)備用我們的實(shí)際行動(dòng)來(lái)試圖改變 這一現(xiàn)狀,本項(xiàng)目擬實(shí)現(xiàn)一個(gè)能在 ipad 上運(yùn)行的智能幾何教育平臺(tái),其功能包 括草圖識(shí)別,手勢(shì)識(shí)別,動(dòng)態(tài)幾何約束等。由于時(shí)間有限,動(dòng)態(tài)幾何約束求解與 動(dòng)態(tài)幾何可視化這部分的功能暫不準(zhǔn)備實(shí)現(xiàn)。 非功能性的需求有系統(tǒng)出錯(cuò)處理及 易操作性。1.2 軟件設(shè)計(jì)目標(biāo)本項(xiàng)目系統(tǒng)概要設(shè)計(jì)說(shuō)明書是基于 Smart Geometry 智能幾
2、何教育平臺(tái)需求 分析書進(jìn)行編寫的。 該項(xiàng)目將以筆代替鼠標(biāo)鍵盤, 能夠連續(xù)添加筆跡批注, 勾畫 并識(shí)別幾何草圖, 用筆手勢(shì)操縱界面元素。 本概要設(shè)計(jì)同時(shí)也是為詳細(xì)設(shè)計(jì)及后 續(xù)開(kāi)發(fā),提供指導(dǎo)作用。預(yù)期的讀者:詳細(xì)設(shè)計(jì)人員開(kāi)發(fā)人員測(cè)試人員用戶1.3 參考資料 ipad 開(kāi)發(fā)應(yīng)用實(shí)戰(zhàn), iphone4 與 ipad 開(kāi)發(fā)基礎(chǔ)教程, Objective c 基礎(chǔ)教程, ipad 開(kāi)發(fā)基礎(chǔ)教程, ipad 應(yīng)用開(kāi)發(fā)實(shí)例。2 術(shù)語(yǔ)表本文檔所涉及到的屬于包含如下:1 、 Stroke :筆跡,用戶一次落筆提筆2、Pen_Info :預(yù)處理3、Graph:圖形類4、Guint :圖元類5、Graph_Edit
3、:圖形編輯類6、Constraint :圖形與圖形之間的約束,一個(gè)圖形擁有多個(gè)約束,由約束 的類型來(lái)標(biāo)識(shí)。7、特征點(diǎn):用于劃分圖元的點(diǎn),比如三角形的頂點(diǎn)。8、點(diǎn)集:一系列點(diǎn)的集合9、圖元:組成圖形的最小單位,比如三角形的邊。10、雙線程:當(dāng)開(kāi)始錄制視頻時(shí),創(chuàng)建新的線程進(jìn)行錄制操作。11、切割:通過(guò)特征點(diǎn)來(lái)劃分點(diǎn)集屬于的圖元類型。12、擬合:將被劃分好的圖元計(jì)算出最能代表該點(diǎn)集的方程表達(dá)式。3 用例上圖表明使用本系統(tǒng)的用戶需要打開(kāi)軟件系統(tǒng), 就能使用系統(tǒng), 用戶輸入圖形進(jìn) 行草圖識(shí)別,并可以對(duì)識(shí)別出來(lái)的圖形進(jìn)行清空、保存等功能。用例描述序 號(hào)用例編 號(hào)用例名稱簡(jiǎn)單描述1UC 01graph-in
4、put用戶進(jìn)行草圖輸入2UC 02graph-save用戶對(duì)識(shí)別出來(lái)的圖形進(jìn)行保存3UC 03graph-load用戶讀取已經(jīng)保存的圖形4UC 04graph-delete用戶對(duì)識(shí)別出來(lái)的圖形進(jìn)行清空刪除5UC 05graph-adjust用戶對(duì)已繪制的圖形進(jìn)行調(diào)整6UC 06graph-handle對(duì)輸入的草圖進(jìn)行的一系列處理過(guò)程7UC 07pre-handle系統(tǒng)對(duì)輸入的草圖進(jìn)行預(yù)處理8UC 08graph-cut系統(tǒng)根據(jù)特征點(diǎn)進(jìn)行圖元的分割9UC_09graph-recognization系統(tǒng)對(duì)分割出來(lái)的圖元進(jìn)行識(shí)別10UC_10graph-rebuild系統(tǒng)根據(jù)劃分出來(lái)的圖元進(jìn)行圖形的
5、重組11UC 11graph-reshape系統(tǒng)對(duì)重組出來(lái)的圖形進(jìn)行規(guī)整12UC 12graph-constraint系統(tǒng)對(duì)已有圖形保持幾何約束13UC 13graph-output系統(tǒng)輸出一系列圖形處理步驟后產(chǎn)生的圖形4 設(shè)計(jì)概述4.1 簡(jiǎn)述 本系統(tǒng)主要采用面向?qū)ο笤O(shè)計(jì)、 主機(jī)的結(jié)構(gòu)模式進(jìn)行開(kāi)發(fā), 利用數(shù)學(xué)的幾何 知識(shí)進(jìn)行求解問(wèn)題。4.2 系統(tǒng)非功能描述、約束與估算4.2.1 系統(tǒng)非功能描述和約束如下表任何一臺(tái)具有一定的內(nèi)存、無(wú)問(wèn)題的 CPU、一定的數(shù)據(jù)存儲(chǔ)量的可使用的iPad 即可。4.2.2 估算暫無(wú)問(wèn)題。4.3 系統(tǒng)的復(fù)用計(jì)劃庫(kù)、框架、模式、構(gòu)件等方面的復(fù)用暫不考慮。4.4 系統(tǒng)結(jié)構(gòu)設(shè)
6、計(jì)4.4.1 系統(tǒng)邊界模型1. 可有效識(shí)別出基本圖形,比如直線,三角形,圓形等。2. 同時(shí)具有實(shí)時(shí)調(diào)整圖形的功能。3. 提供保存和重新載入功能。4. 提供錄音和錄頻的功能。5. 提供筆形,筆色,背景色選擇功能。6. 提供坐標(biāo)系坐標(biāo)功能。4.4.2 系統(tǒng)功能架構(gòu)1、智能幾何 (smart geometry) 系統(tǒng)技術(shù)框架主要包括七部分:筆交互信息 收集,用戶意圖判斷器,筆跡識(shí)別,圖形選定,編輯,存儲(chǔ)。2、筆交互信息收集:負(fù)責(zé)從外部硬件環(huán)境中獲取最初的點(diǎn)集信息 (Pen_Info ),并對(duì)收集到的點(diǎn)集信息進(jìn)行早期的預(yù)處理, 包括平滑和消除躁點(diǎn) 處理,最后得到經(jīng)過(guò)預(yù)處理以后的點(diǎn)集信息信息,被稱為筆跡
7、( Stroke )。3、筆跡識(shí)別:分別對(duì)圖元或者手勢(shì)進(jìn)行識(shí)別: 對(duì)圖元的識(shí)別包括先對(duì)筆跡 ( Stroke )進(jìn)行分割, 產(chǎn)生一系列圖元對(duì) 象(Gunit )集合,并對(duì)其識(shí)別和重構(gòu),最終得到圖形對(duì)象( Graph),其中圖元 對(duì)( Gunit )包括點(diǎn)圖元( Point_Unit ),直線圖元( Line_Unit ),曲線圖元 (Curve_Unit ),圖形對(duì)象( Graph)是由多個(gè)圖元( Gunit )對(duì)象構(gòu)成,包括點(diǎn) 圖形(Point_Graph ),直線圖形(Line_Graph ),曲線圖形(Curve_Graph)(圓, 橢圓或者弧),三角形( Triangle_Graph
8、),四邊形( Rectangle_Graph ),和 特殊圖形( Other_Graph)。對(duì)手勢(shì)的識(shí)別包括從專家?guī)熘蝎@取判斷手勢(shì)意圖的規(guī)則, 最后識(shí)別出 手勢(shì)的意圖。4、圖形選定:負(fù)責(zé)對(duì)存在約束的圖形幾何的選定,主要通過(guò)圖形探查器對(duì) 圖形進(jìn)行選定操作,選定的圖形被稱為 Selected_Obj 。5、編輯:用戶進(jìn)入編輯態(tài)時(shí),可以對(duì)選定圖形進(jìn)行縮放,變形,移動(dòng),旋 轉(zhuǎn)四種編輯。6、存儲(chǔ):對(duì)用戶操作完后的圖形進(jìn)行存儲(chǔ)。4.4.3 系統(tǒng)的邏輯架構(gòu)筆交互信息收集轉(zhuǎn)換器: 負(fù)責(zé)從外部硬件環(huán)境中獲取最初的點(diǎn)集信息 Pen_Info,并對(duì) PenInfo進(jìn)行早期預(yù)處理,包括平滑和消噪處理,最后得到經(jīng)過(guò)預(yù)處
9、理以后的點(diǎn)集信息,被稱 為筆跡 Stroke。用戶意圖判斷器:負(fù)責(zé)從筆跡 Stroke中判斷用戶意圖,用戶意圖包括畫圖意圖Sketch和手勢(shì)意圖 Gesture。識(shí)別器:分別對(duì)圖元和手勢(shì)進(jìn)行識(shí)別:對(duì)圖元的識(shí)別包括先對(duì)筆跡Stroke進(jìn)行分割,產(chǎn)生一系列圖元對(duì)象 Gunit 集合,并對(duì)其識(shí)別和重構(gòu),最終得到圖形對(duì)象Graph,其中圖元對(duì)象Gunit包括點(diǎn)圖元 Point_Unit 、直線圖元 Line_Unit 、曲線圖元 Curve_Unit ,圖形對(duì)象 Graph是由 多個(gè)圖元 Gunit對(duì)象構(gòu)成,包括點(diǎn)圖形 Point_Graph 、直線圖形 Line_Graph、曲線圖形(圓、橢 圓或者
10、弧) Curve_Graph 、三角形 Triangle_Graph、四邊形 Rectangle_Graph、和非特殊圖形 Other_Graph;對(duì)手勢(shì)的識(shí)別包括從專家?guī)熘蝎@取判斷手勢(shì)意圖的規(guī)則,最后識(shí)別出手勢(shì)的 意圖。圖形選定器: 負(fù)責(zé)對(duì)存在約束的圖形幾何的選定, 主要通過(guò)圖形探查器對(duì)圖形進(jìn)行選定 操作,選定的圖形被稱為 Selected_Obj,跟當(dāng)前選中圖形 Selected_Obj存在約束的圖形將通過(guò) 約束探查器查找?guī)缀渭s束表來(lái)一起選定, 一起選定的圖形被放在一個(gè)鏈表里, 該鏈表被稱為 Selected_Graph_List。動(dòng)態(tài)幾何約束器:負(fù)責(zé)對(duì)存在約束的幾何圖形之間進(jìn)行編輯操作時(shí)
11、候的動(dòng)態(tài)約束保持, 核心模塊為動(dòng)態(tài)幾何處理器,將存在幾何約束的選中圖形的集合Selected_Graph_List作為輸入,可對(duì)改集合里面的圖形進(jìn)行旋轉(zhuǎn)、平移、 縮放和拖動(dòng)頂點(diǎn)等編輯操作, 用戶進(jìn)行編輯操 作的時(shí)候,圖形與圖形之間的幾何約束關(guān)系將得到動(dòng)態(tài)保持。存儲(chǔ)轉(zhuǎn)換器:負(fù)責(zé)將圖形的性質(zhì)和圖形跟其他圖形之間的動(dòng)態(tài)關(guān)系存儲(chǔ)下來(lái)。 繪圖器:負(fù)責(zé)圖形和圖形之間幾何約束關(guān)系的表示以及其他特殊類型圖形標(biāo)識(shí)的繪制, 其中每個(gè)圖形可用用戶自定義的畫筆進(jìn)行繪制, 且圖形與圖形之間的幾何約束和特殊類型圖 形的標(biāo)識(shí)都采取常見(jiàn)的標(biāo)識(shí)。4.4.4 系統(tǒng)的物理架構(gòu)系統(tǒng)的運(yùn)行環(huán)境: iOS操作系統(tǒng) (4.3 及以上)開(kāi)發(fā)
12、環(huán)境: Mac OS X Lion 操作系統(tǒng), Xcode4.4.5 系統(tǒng)數(shù)據(jù)模型編號(hào)名稱說(shuō)明1Point由兩個(gè)整形組成,記錄點(diǎn)的坐標(biāo)2Vector鏈表,用于記錄數(shù)據(jù)類型為 T 的一系列數(shù)據(jù)3Gunit圖元類,有一個(gè) List 數(shù)據(jù)成員,表示該圖 元的點(diǎn)信息4Constrain用于記錄圖形與圖形的約束,由約束的類型和與其相關(guān)聯(lián)的圖形的指針5Line_unit直線圖元類,是 Gunit 的子類,擁有 Point 類型的 數(shù)據(jù)成員,分別表示直線的起點(diǎn)和終點(diǎn),這條直線 和效率的截距6Curve_unit二次曲線類, 是 Gunit 的子類,擁有 6 個(gè) double 類 型的參數(shù),分別是二次曲線方稱
13、 Ax2 +Bxy+Cy2 +Dx+Ey+F=07Graph圖形類,并具有一個(gè) vector 的約束列 表記錄與該圖形有關(guān)的約束8Line Graph包含一個(gè) line unit ,圖形類的子類9Curve Graph曲線圖形,包含一個(gè) curve unit ,圖形類的子類10Triangle_Graph包含三個(gè) line_graph ,用于直線的約束,也擁有三 角形的約束11Rectangle Graph包含四條直線12Other Graph存儲(chǔ)非二次曲線軌跡各個(gè)類的數(shù)據(jù)成員都設(shè)為 Public, 可以直接通過(guò)點(diǎn)訪問(wèn)。 整個(gè)系統(tǒng)分為兩部分 數(shù)據(jù): 圖形集和約束集 系統(tǒng)使用十字鏈表來(lái)存儲(chǔ)圖形
14、, 通過(guò)約束建立圖形與圖形 之間的聯(lián)系。在實(shí)現(xiàn)動(dòng)態(tài)的約束保持的時(shí)候使用該十字鏈表 , 通過(guò)遍歷有約束的圖形從而得到一起變化的圖 形。4.5 系統(tǒng)的接口設(shè)計(jì)4.5.1 用戶接口基于筆交互的概念整個(gè)界面與傳統(tǒng) GUI 界面設(shè)計(jì)風(fēng)格不同 , 本系統(tǒng)將提供 一個(gè)簡(jiǎn)潔 的界面, 只需要使用手指就可以輕松地進(jìn)行操作。在草圖繪制勾畫區(qū)域 , 落筆可以進(jìn)行相應(yīng)的草圖繪制1、點(diǎn)擊 Pen style 圖標(biāo)就可以進(jìn)行筆形的選擇2、點(diǎn)擊 Pen Color 圖標(biāo)可以進(jìn)行筆色選擇3、點(diǎn)擊 Record 圖標(biāo)再在里面選擇開(kāi)始 , 暫停, 終止進(jìn)行錄制或者暫停終止 等操作4、點(diǎn)擊 save 圖標(biāo), 進(jìn)行存儲(chǔ)操作5、點(diǎn)擊
15、Open 圖標(biāo), 選擇需要打開(kāi)的文件則可以重新載入原本的文件6、點(diǎn)擊 clear 圖標(biāo), 就可以清除掉畫板上的所有圖形7、點(diǎn)擊 chart 圖標(biāo) , 可以坐標(biāo)及坐標(biāo)系8、點(diǎn)擊 Minimum 圖標(biāo), 就可以將程序最小化9、點(diǎn)擊 Exit 圖標(biāo), 就可以退出該運(yùn)行程序4.5.2 外部接口無(wú)4.5.3 內(nèi)部接口說(shuō)明本系統(tǒng)之內(nèi)的各個(gè)系統(tǒng)元素之間的接口的安排編號(hào)作用函數(shù)原型1預(yù)處理vector Pen Info:getNewPen Info()2特征點(diǎn)識(shí) 別void Cut(vector pList,vector gList)3圖元分割GUnit* GUnit:recognize(vector &pL
16、ist)4圖元重組bool Stroke:rebuild(vector& real,vector& special)5圖形規(guī)整void Holotactic(List grList)編號(hào)作用函數(shù)原型6文件保存void CEditorView:save file(CString filename)7文件加載void CEditorView:open file(CString filename)8圖形輸出void CEditorView:paint units graphs()9約束識(shí)別voidCEditorView:recognize_constrains(vectorselected_list
17、)4.6 系統(tǒng)約束與策略4.6.1 系統(tǒng)約束如下性能1、提供先進(jìn)的識(shí)別技術(shù), 提高圖形處理響應(yīng) 速度2、草圖識(shí)別的時(shí)間不超過(guò) 0.2s3、容量上的擴(kuò)展以及功能上的補(bǔ)充易維護(hù)本系統(tǒng)設(shè)計(jì)到很多維護(hù)的流程, 應(yīng)方便維護(hù), 以提高工作效率。響應(yīng)速度快系統(tǒng)在處理圖形時(shí),對(duì)系統(tǒng)延遲往往有一個(gè) 忍耐極限,所以要求系統(tǒng)響應(yīng)速度應(yīng)在用戶 忍耐范圍內(nèi)。穩(wěn)定性1、故障間隔時(shí)間應(yīng)大于 1000 小時(shí)2、系統(tǒng)要保證數(shù)據(jù)的一致性,完整性,準(zhǔn)確性要求達(dá)到 99%擴(kuò)展性對(duì)新增業(yè)務(wù),系統(tǒng)提供業(yè)務(wù)組件的動(dòng)態(tài)部署 功能,和平滑升級(jí)功能。易操作性要求操作界面簡(jiǎn)單方便4.6.2 系統(tǒng)策略采用原生的 SDK,利用數(shù)學(xué)幾何知識(shí)以及高斯離散
18、維數(shù)積分的知識(shí)來(lái)提高性能4.7 對(duì)象模型設(shè)計(jì)4.7.1 Stroke 類屬性/ 方法說(shuō)明QList pList定義一個(gè)存儲(chǔ)一個(gè)筆跡當(dāng)中所有點(diǎn)對(duì)象的動(dòng)態(tài) 數(shù)組QList glist存放單個(gè) STROKE里面的圖元Stroke(QList &)構(gòu)造函數(shù),傳入一次落筆提筆間所有的點(diǎn)對(duì)象Void find_Specialpoint(QList &);特征點(diǎn)識(shí)別void Speed(QList &)速度過(guò)濾方法: 低于平均值的一定百分比算是特 征點(diǎn)void Curvity(QList&)曲率過(guò)濾voidDirection(QList &)方向過(guò)濾void Space(QList &)進(jìn)一步處理GUnit
19、*recognize(QList &)識(shí)別各個(gè)圖形的類別4.7.2 GUnit 類屬性/ 方法說(shuō)明Point start起點(diǎn)Point end終點(diǎn)int type圖元類型int id圖元編號(hào)bool isSelected當(dāng)前是否被選中virtual void draw(QPainter &)接口函數(shù),畫出圖元,繼承的圖元類實(shí)現(xiàn)virtual void translation(Point &)接口函數(shù),平移圖元,繼承的圖元類實(shí)現(xiàn)virtual void rotation(qreal &)接口函數(shù),旋轉(zhuǎn)圖元,繼承的圖元類實(shí)現(xiàn)virtual void scale(void)接口函數(shù),放大圖元,繼承的
20、圖元類實(shí)現(xiàn)4.7.3 Point Unit類屬性/ 方法說(shuō)明qreal axisX點(diǎn)的橫坐標(biāo)qreal axisY點(diǎn)的縱坐標(biāo)void draw(QPainter&)畫出點(diǎn)4.7.4 Line_Unit 類屬性/ 方法說(shuō)明Point cut point記錄在與之相切的圓上的切點(diǎn)即在原點(diǎn)的情況下的圓的切點(diǎn)bool isCutLine是否是圓的切線bool judge(QList& )計(jì)算出直線的相關(guān)系數(shù) 通過(guò)相關(guān)系數(shù)進(jìn)行判斷 是否為直線void draw(QPainter &)畫出直線4.7.5 Curve Unit 類屬性/ 方法說(shuō)明qreal a,b,c,d,e,f為二次曲線的標(biāo)a*x2+b*
21、xy+c*y2+d*x+e*y+f=0準(zhǔn)最簡(jiǎn)式 的系數(shù)qrealmajor axis,minor axis長(zhǎng)軸,短軸; major_axis 是 x 方向 上的軸 長(zhǎng);minor axis 是 y 方向上的軸長(zhǎng)Point centre中心坐標(biāo)Point f1,f2焦點(diǎn)Point move移動(dòng)的向量坐標(biāo)qreal alpha旋轉(zhuǎn)角qreal start_angle, end_angle畫弧線時(shí)的起始角和終止角(并非是起始點(diǎn)、終 點(diǎn)和原點(diǎn)的連線與坐標(biāo)軸的夾角) 在畫二次曲線 時(shí)有作用bool ellipse橢圓為 true, 圓為 falsebool ishalfCurve如果是半個(gè)以上的二次弧線
22、則為真 , 默認(rèn)值是 falseQList track非二次曲線軌跡boolIsSecDegreeCurv(QList& )如果是二次曲線返回 true, 如果是非二次曲線則 返回 falsevoid judge(QList&)判斷是何種二次曲線boolLine tangent(Line Unit)計(jì)算一個(gè)曲線的切線boolLine_Curve_CutPoint(qreal &,qreal&,qreal&,qreal&,qr eal&,qreal &, qreal &,qreal &)求直線和曲線的切點(diǎn) , 并進(jìn)行判斷,只有當(dāng)該切 點(diǎn)在該直線和曲線上時(shí)才返回真 ,/ 當(dāng) draw 為 true
23、 的時(shí)候畫出切點(diǎn)4.7.5 Graph 類屬性/ 方法說(shuō)明int type用于存儲(chǔ)時(shí)標(biāo)識(shí)出圖形的類型QList constraint list存儲(chǔ)與圖形約束的其他圖形信息int local graph id圖形的 IDbool isSelected是否被選中virtual bool recognize_constraint(Grap h*,QList&)識(shí)別圖形與其他已存在的圖形之間是否存在約束約束void construct_constraint(Grap h*,Constraint_Type,Graph* ,Constraint Type )如果存在約束,將約束構(gòu)造出來(lái)virtual vo
24、id translation(constQPointF&)虛函數(shù),平移選定圖形及其相應(yīng)的約束virtual void rotation(const qreal&,const QPointF &)虛函數(shù),旋轉(zhuǎn)選定圖形及其相應(yīng)的約束virtual void scale(const qreal &)虛函數(shù),放大或縮小選定圖形及其相應(yīng)的約束4.7.5 Point Graph 類屬性/ 方法說(shuō)明bool belong to rectangle是否在矩形上bool is on line是否在直線上bool vertex of special line標(biāo)識(shí)它是否為三角形特殊線的落在三角形邊上的端點(diǎn),在 KE
25、EP的時(shí)候有用bool cut point of circles標(biāo)識(shí)是否為兩個(gè)圓的切點(diǎn)voidkeep_constraint(Point& )總領(lǐng)函數(shù), 用于直接拖動(dòng)點(diǎn)的時(shí)候用, 傳進(jìn)一個(gè) 點(diǎn)的坐標(biāo),然后根據(jù)點(diǎn)所在的直線的性質(zhì)不同, 傳不同的參數(shù)給void keep_vertex_of_line(Graph *)當(dāng)某一個(gè)頂點(diǎn)動(dòng)了的時(shí)候, 可以調(diào)用這個(gè)函數(shù)來(lái) 調(diào)整那些以它作為端點(diǎn)的直線, 而不是調(diào)用總的 KEEP CONSTRAINT4.7.6 Line Graph 類屬性/ 方法說(shuō)明Line Unit* line;指向相應(yīng)的圖元bool has start ,has end;用于識(shí)別約束時(shí)表示
26、直線的端點(diǎn)有沒(méi)有跟點(diǎn)列表里面的點(diǎn)圖形連到了一齊bool is special用于標(biāo)識(shí)直線是否為三角形的三角形的特殊線bool is tangent用于標(biāo)識(shí)直線是否為切線void recognize_constraint(QLis t &)用以約束識(shí)別開(kāi)始階段時(shí)的直線和存在的點(diǎn)之間的約束識(shí)別voidadjust_vertex(Point,int)用于固定一端后來(lái)根據(jù)一個(gè)直線上新的點(diǎn)來(lái)調(diào) 整另一端的位置 ,0 為 start , 1為 endbool recognize_constraint(Grap h* graph,QList& point list)總領(lǐng)的函數(shù)intjudge_legal_i
27、ntersection( Line_Unit* ,Line_Unit* ,P oint&)判斷交點(diǎn)的屬性bool judge_legal_intersection(Point )判斷交點(diǎn)是否與直線上已有的點(diǎn)相同或很相近,若是的話則不必再生成新的點(diǎn)void keep_constraint()主要用于當(dāng)直線的位置改變的時(shí)候, 改變其上面 存在的點(diǎn)的位置(非自身端點(diǎn)) ,然后再通過(guò)這 些被改變的點(diǎn)去帶動(dòng)其他直線void keep_point_on_line(Point_ Graph* )主要用于那些非限制點(diǎn)的位置變動(dòng)void keep_intersection_point(P oint Graph*
28、 )用于計(jì)算交點(diǎn)的新位置4.7.7 Curve_Graph 類屬性/ 方法說(shuō)明Curve Unit* curve指向相應(yīng)的圖元boolrecognize_externally_tang ent_constrain(Triangle_Gr aph * )識(shí)別外切三角形bool recognize_constraint(Curv e_Graph*,QList& )用于識(shí)別圓與圓之間的關(guān)系, 內(nèi)外切, 或者相交boolrecognize_constraint(Line _Graph*,QList& )用于識(shí)別圓形與直線之間的關(guān)系,總領(lǐng)函數(shù)boolrecognize_constraint(Tria n
29、gle_Graph*,QList &)用于識(shí)別跟三角形的交點(diǎn),非內(nèi)切和外接bool recognize_line_tangent_co nstrain(Line Graph *)識(shí)別切線bool recognize_diameter(Line_G raph* ,QList&)用于識(shí)別直徑bool recognize_radius(Line_Gra ph* ,QList&)用于識(shí)別半徑bool recognize_common_line_con straint(Line_Graph* ,QLis t &)識(shí)別與直線的一般約束bool judge_recognization(Line_ Graph
30、*)判斷是否應(yīng)該進(jìn)行直徑半徑和一般直線的識(shí)別int judge_legal_intersection( Line Graph*,Point)判斷直線與圓的交點(diǎn)是否符合條件 :-1 為不在直 線上, 0為在直線上, 1為起點(diǎn), 2為末尾點(diǎn)voidmake constraint(Line Grap生成直線和圓相交的點(diǎn)的有關(guān)約束h*,Point&,QList& )bool recognize_constraint(Grap h* ,QList&)總領(lǐng)的函數(shù)4.7.8 Triangle Graph類屬性/ 方法說(shuō)明QList tr lines指向三角形的各條邊QList tr vertexes存儲(chǔ)三角形的各個(gè)點(diǎn)QList tr angles存儲(chǔ)三角形的各個(gè)角QList tr line
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年第十屆安全生產(chǎn)知識(shí)競(jìng)賽經(jīng)典題庫(kù)及答案(共六套)
- 高新科技研發(fā)居間存款合同
- 航空票務(wù)居間服務(wù)合同
- 建筑柴油供應(yīng)居間協(xié)議樣本
- 城市公共交通運(yùn)營(yíng)合同
- 停車場(chǎng)智能門禁管理系統(tǒng)
- 品牌形象建設(shè)與宣傳策略作業(yè)指導(dǎo)書
- 投資理財(cái)顧問(wèn)系統(tǒng)解決方案
- 電動(dòng)汽車充電樁前景
- 環(huán)保行業(yè)廢氣處理與減排技術(shù)方案
- 小學(xué)中年級(jí)數(shù)學(xué)戲劇劇本小熊賣魚
- 《有為神農(nóng)之言者許行》講讀課件
- 櫻桃課件完整
- 設(shè)計(jì)報(bào)價(jià)單模板
- 幼兒行為觀察與分析案例教程第2版全套教學(xué)課件
- 醫(yī)院會(huì)計(jì)制度科目表
- 校本研修教師手冊(cè)電子模板
- 應(yīng)急隊(duì)伍裝備參考目錄和急性傳染病預(yù)防控制技術(shù)資料清單
- 普通地質(zhì)學(xué)-第四章-巖石課件
- 《E時(shí)代大學(xué)英語(yǔ)-讀寫教程4》教案
- 一種陸空一體垂直起降飛行汽車的制作方法
評(píng)論
0/150
提交評(píng)論