基于構(gòu)化情報分析系統(tǒng)的數(shù)據(jù)可視化研究_第1頁
基于構(gòu)化情報分析系統(tǒng)的數(shù)據(jù)可視化研究_第2頁
基于構(gòu)化情報分析系統(tǒng)的數(shù)據(jù)可視化研究_第3頁
基于構(gòu)化情報分析系統(tǒng)的數(shù)據(jù)可視化研究_第4頁
基于構(gòu)化情報分析系統(tǒng)的數(shù)據(jù)可視化研究_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

編號南京航空航天大學(xué)畢業(yè)設(shè)計題目基于結(jié)構(gòu)化情報分析系統(tǒng)的數(shù)據(jù)可視化研究學(xué)生姓名韓崢學(xué)號090520238學(xué)院經(jīng)濟(jì)與管理學(xué)院專業(yè)信息管理與信息系統(tǒng)班級0905201指導(dǎo)教師馬靜教授二〇〇九年六月南京航空航天大學(xué)本科畢業(yè)設(shè)計〔論文〕誠信承諾書本人鄭重聲明:所呈交的畢業(yè)設(shè)計〔論文〕〔題目:_______________________________________〕是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的成果。盡本人所知,除了畢業(yè)設(shè)計〔論文〕中特別加以標(biāo)注引用的內(nèi)容外,本畢業(yè)設(shè)計〔論文〕不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。作者簽名:年月日學(xué)號:基于結(jié)構(gòu)化情報分析系統(tǒng)的數(shù)據(jù)可視化研究摘要國防戰(zhàn)略情報是為全局長期戰(zhàn)略目標(biāo)效勞的情報,其目的在于探索國防科技開展的規(guī)律,預(yù)測其未來的趨向及其對政治、經(jīng)濟(jì)、社會、思想、文化的影響等。傳統(tǒng)的戰(zhàn)略情報的分析方法主要包括:Delphi法、內(nèi)容分析法、交叉影響分析法、情景分析法等,但是都存在效果缺乏、方法不適等問題。2004年,國際上出現(xiàn)了一種稱為結(jié)構(gòu)化論證(StructuralArgumentation)的新型的戰(zhàn)略情報分析模型,其對定性研究的結(jié)構(gòu)化論證方式有較好的實現(xiàn)效果,對國內(nèi)的戰(zhàn)略情報分析有較好借鑒作用。本論文在研讀了眾多國外情報分析理論的論文和分析了多款國外基于結(jié)構(gòu)化分析模型的情報分析系統(tǒng)的實例的根底上,自主研發(fā)設(shè)計了一款具有獨(dú)立知識產(chǎn)權(quán)的面向國防戰(zhàn)略情報的“問詢式情報分析系統(tǒng)〞(InferentialIntelligenceAnalysisSystem);給出了該系統(tǒng)的整體設(shè)計框圖、工作流程;并就數(shù)據(jù)可視化的關(guān)鍵問題進(jìn)行了方案設(shè)計、算法實現(xiàn)和系統(tǒng)測試;并重點(diǎn)對其中的幾張可視化效果圖進(jìn)行了源代碼剖析。最后,論文指出了IIAS中數(shù)據(jù)可視化繼續(xù)完善的方向和未來情報分析領(lǐng)域的研究目標(biāo)。關(guān)鍵詞:數(shù)據(jù)可視化,戰(zhàn)略情報,結(jié)構(gòu)化論證模型,問詢式情報分析TheresearchofdatavisualizationbasedonthestructuredintelligenceanalysisAbstractThecentralresearchtopicofstrategicintelligenceisanalyzingimportantstrategiesandpoliciestotherelationofthenationalsecurityandforecastingtheprospectsofadvancedtechnology,etc.TraditionalstrategicintelligencemethodsincludesDelphiSurveys,ContentAnalysis,Cross-impactAnalysis,ScenarioWritingandsoon.Thesemethodscanundertakesomeintelligencetasks,butoncethetaskbecomingcomplicated,allofthesemethodsmentionedcouldnotcompletethetaskindependently.Onthebasisofstudyingmanythesisoftheintelligenceanalysistheoryandseveralinternationalintelligenceanalysistoolsofstructuralintelligenceanalysis,ThispaperproposedanewkindofIntelligencesupporttoolnamedInferentialIntelligenceAnalysisSystem(IIAS)orientedtothenationaldefensedomainwithindependentintellectualpropertyrights.ThispaperdescriptthemaindesignthoughtsandthegraphicaldescriptionofIIAS.ThispaperreferredmanyinternationaltechnologicalmaterialsandproposedIIAS’sdatavisualizationprogram,andanalyzedthesourcecodeofimplementingsomevisualizationgraphs(suchastree-structuralgraphandarea-structuralgraph)alongwiththealgorithms.Finally,thispaperdescribedthefurtherstepsofperfectingdatavisualizationpartinIIASandhadashorttalkonthefuture’sintelligenceanalysisdomain.KeyWords:datavisualization;strategicintelligence;StructuredArgumentation;InferentialIntelligenceAnalysis目錄摘要SEAS的主要思想是:針對某一特定的戰(zhàn)略情報任務(wù),構(gòu)建該任務(wù)的問題樹,從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的過程就是情報任務(wù)的不斷求精的過程,直到問題細(xì)化成一個個可以被直接答復(fù)的原子問題〔在樹形結(jié)構(gòu)中以葉子節(jié)點(diǎn)的形式表達(dá)出來〕。SEAS一開始就被設(shè)計成支持合作式分析的工具,對每一個原子問題的答復(fù)都可以有不同的情報分析人員〔當(dāng)然不是所有的情報人員都行,必須局限在一個特定的專業(yè)范圍內(nèi)〕共同完成。當(dāng)所有的問題都分析完畢以后,這個情報任務(wù)就處于“已發(fā)布〞的狀態(tài),此時,如果有需要,其他的情報分析員可以引用這個論證到自己的情報分析中去,這樣可以最大程度提高情報分析的復(fù)用率。另外,值得一提的是SEAS中為配合情報分析的展開而設(shè)計出的數(shù)據(jù)可視化的方案都非常不錯,簡潔美觀又包容了很多有用的信息。圖3.1“問題樹〞圖多維論證中的星狀散射圖圖3.3星座圖圖3.4星座圖和星狀散射圖的疊加3.3系統(tǒng)Angler分析Angler是斯坦福研究中心人工智能研究所AndresRodriguez等人研發(fā)的一款旨在糾正情報分析人員認(rèn)知偏見〔CognitiveBias〕的一種合作式分析工具[31]。它采用的是典型的自底向上的分析方法。Angler的主要步驟如下:首先是頭腦風(fēng)暴〔Brainstorming〕,就是針對某一問題進(jìn)行廣泛的討論,產(chǎn)生很多的意見和觀點(diǎn),接著是聚簇分析〔Clustering〕,將這些觀點(diǎn)和意見進(jìn)行歸類,最后是建立對這些歸類好的意見進(jìn)行排序,形成一致意見。圖3.5聚簇分析界面圖3.6形成統(tǒng)一意見的界面第四章面向國防戰(zhàn)略情報的問詢式情報分析系統(tǒng)的分析與設(shè)計4.1問詢式情報分析的根本過程該情報分析系統(tǒng)可以被稱作為問詢式論證(InferencialArgumentation)也可以叫作結(jié)構(gòu)化論證(StructuredArgumentation),“問詢〞和“結(jié)構(gòu)化〞是從兩個不同的角度來描述這個情報分析系統(tǒng)的,“問詢〞側(cè)重論證的主體,包括情報分析人員和情報專家;而“結(jié)構(gòu)化〞是側(cè)重論證的方法,是采用自頂向下的結(jié)構(gòu)化論證方法。下面簡要描述該系統(tǒng)的工作過程:(1)當(dāng)情報分析員接收到上級下達(dá)的情報任務(wù)時,通過查找Internet或者內(nèi)部信息資料庫(Intranet)或者知識庫(KonwledgeBase)的內(nèi)容收集大量的信息以后,將該情報任務(wù)細(xì)分成假設(shè)干個子任務(wù),然后對每個子任務(wù)在進(jìn)行細(xì)分,直到不能再細(xì)分為止。這個過程成為查詢—分析過程。(2)對每一個不可再細(xì)分的子任務(wù),逐一進(jìn)行論證,論證的主要方面包括:論證的結(jié)論,論證的資料來源,結(jié)論的可靠性,資料來源的可靠性等四個方面。如果認(rèn)為某一問題需要提交小組討論決定或者交由某一專家提出意見,那么可以先提交,待討論結(jié)果或?qū)<乙庖姵鰜砗?,再論證這一問題,對該問題的最終解釋權(quán)仍然掌握在情報分析員的手中。這個過程稱為論證過程。(3)當(dāng)所有的問題論證完畢,可以查看結(jié)果顯示。結(jié)果顯示可以分成三種:1.文本形式顯示2.樹形結(jié)構(gòu)顯示3.區(qū)域結(jié)構(gòu)顯示,詳細(xì)內(nèi)容在4.2節(jié)解釋。根據(jù)最終的結(jié)果可以生成情報分析報告,該報告將是高層管理者制定決策的重要依據(jù)。4.2問詢式情報分析系統(tǒng)體系結(jié)構(gòu)設(shè)計圖管理員業(yè)務(wù)流程圖圖4.2情報員業(yè)務(wù)流程圖圖4.3頂層數(shù)據(jù)流圖管理員0層數(shù)據(jù)流圖圖4.5情報員數(shù)據(jù)流圖圖4.6管理員、情報員、專家概念模型圖4.7情報任務(wù)、情報假設(shè)概念模型圖4.8IIAS系統(tǒng)整體概念模型圖4.9IIAS系統(tǒng)邏輯模型(簡略)4.3問詢式情報分析過程圖形化描述圖4.10問詢式情報分析平臺圖4.11情報員模塊圖4.12情報選擇圖4.13情報搜索圖4.14知識關(guān)聯(lián)樹圖4.15站內(nèi)搜索(1)6站內(nèi)搜索(2)7情報假設(shè)8情報論證9共享論證圖4.20專家論證圖4.21核實專家論證圖4.22核實共享論證第五章問詢式情報分析系統(tǒng)的數(shù)據(jù)可視化方案設(shè)計5.1問詢式情報分析系統(tǒng)(IIAS)可視化綜述數(shù)據(jù)可視化是該情報分析系統(tǒng)的一大難點(diǎn),設(shè)計怎樣的穩(wěn)定結(jié)構(gòu)才能呈現(xiàn)我們剛剛所描述的論證結(jié)果呢?當(dāng)然,首先能想到的便是采用樹形結(jié)構(gòu)顯示,因為我們采用的是自頂向下的結(jié)構(gòu)化分析方法,而只有樹形結(jié)構(gòu)才能描述這個過程。樹形結(jié)構(gòu)的每一個葉子節(jié)點(diǎn)都表示一個不可再細(xì)分的情報問題。當(dāng)鼠標(biāo)移過該節(jié)點(diǎn)時便可顯示該問題的結(jié)論,資料來源,結(jié)論的可靠性,資料來源的可靠性等信息。樹的根節(jié)點(diǎn)便是當(dāng)前的情報任務(wù),沿著根節(jié)點(diǎn)不斷向下的過程便是自頂向下不斷細(xì)化粒度的過程。每一個節(jié)點(diǎn)都標(biāo)有一種顏色,其中,綠色表示該論證結(jié)果可靠,證據(jù)充足;黃色表示結(jié)果不太可靠,證據(jù)不太充足;紅色表示結(jié)果不可靠,證據(jù)缺乏,隨著時間的開展,需要再進(jìn)一步研究加以確定?!苍斠妶D2.7〕還有一種可視化的方案,為了更加清晰的表現(xiàn)不可再細(xì)分的情報問題中,哪些還不太可靠哪些根本不可靠,以及這些情報問題的各自屬于哪一個領(lǐng)域,受斯坦福研究中心的JohnD.Lawrence博士的啟發(fā),我們將要分析份的情報任務(wù)劃為8個不同的維度,分別是:軍事、經(jīng)濟(jì)、科技、社會、政治、國防、其他。這8個維度根本涵蓋了情報問題分析的各個方面。我們只要針對每一個維度提出相應(yīng)的假設(shè)干情報問題,如果這些問題還可以再細(xì)分,那么再提出細(xì)分的子問題,直到提出的問題不可再分為止。在顯示的時候,論據(jù)充足和資料可靠的論證不顯示〔即綠色節(jié)點(diǎn)不顯示〕,只顯示那些論據(jù)不太充足和不充足的論證〔即黃色和紅色的節(jié)點(diǎn)〕〔詳見圖〕。在圖中,發(fā)現(xiàn)在科技領(lǐng)域還有1個不充足的論證和4個不太充足的論證。而在文化區(qū)域,所有論證均充足可信。說明在科技領(lǐng)域還需要加大該情報的研究力度。這兩種可視化方案的各有各自的特點(diǎn),樹形結(jié)構(gòu)顯示優(yōu)點(diǎn)是全面,系統(tǒng)地反映了自頂向下的情報分析的全過程;而區(qū)域結(jié)構(gòu)顯示那么能幫助情報分析員把焦點(diǎn)集中在那些還沒有完全充足論證的情報問題上,發(fā)揮最大優(yōu)勢解決這些問題。把這兩者有機(jī)地結(jié)合起來分析,往往能給決策者制定決策帶來很大的便利。5.2可視化局部圖形描述圖5.1生成工作表圖5.2工作表圖5.3樹形結(jié)構(gòu)圖(1)圖5.4樹形結(jié)構(gòu)圖(2)圖5.5樹形結(jié)構(gòu)圖(3)圖5.6樹形結(jié)構(gòu)圖(4)圖5.7樹形結(jié)構(gòu)圖(5)圖5.8樹形結(jié)構(gòu)圖(6)圖5.9區(qū)域結(jié)構(gòu)圖第六章可視化實現(xiàn)在上一章已大概描述問詢式情報論證系統(tǒng)的工作流程,其中重點(diǎn)介紹了其數(shù)據(jù)可視化的局部,但是并沒有涉及到具體的細(xì)節(jié)。在這一章中,我們將會對在實現(xiàn)數(shù)據(jù)可視化局部時,所遇到的關(guān)鍵問題進(jìn)行深入探討,給出其算法并評估其運(yùn)行效率。6.1離散數(shù)據(jù)歸類問題問題描述及算法在上一章的樹形結(jié)構(gòu)圖中〔見圖2.7〕,一個最為根底和關(guān)鍵的問題是將葉子節(jié)點(diǎn)進(jìn)行歸類,得到一些父親節(jié)點(diǎn),再對父親節(jié)點(diǎn)歸類,得到祖父節(jié)點(diǎn)…直到歸類到根節(jié)點(diǎn)為止。這個問題的實質(zhì),可以轉(zhuǎn)化成如下的形式化的語言描述:【問題描述】有n個形如形式的字符串,將這些字符串提取出公共局部a.b組成數(shù)組〔n且〕舉例來說,假設(shè)現(xiàn)有一個字符串?dāng)?shù)組:1、、、、、如何對該數(shù)組進(jìn)行歸類,使得最后的輸出結(jié)果為一個二維數(shù)組,二維數(shù)組第一維是4,第二維是3,用矩陣的形式表示如下:我們發(fā)現(xiàn)雖然二維數(shù)組的形式簡單,但是有致命的缺點(diǎn),即初始化時空間必須固定以后便不可動態(tài)增加。于是為了進(jìn)一步減少存儲空間的浪費(fèi),我們考慮采用多重鏈表結(jié)構(gòu)。如下列圖所示:NULLNULLNULL1.2.NULL圖6.1多重鏈表結(jié)構(gòu)【算法6.1】輸入:n個形如形式的字符串str[n]輸出:多重鏈表LinkList過程:〔java語言描述〕LinkList<ArrayList>classification(String[]str){LinkList<ArrayList>vecall=newLinkList<ArrayList>();for(inti=0;i<str.length;++i){if(str[i]=="#"){continue;}else{ ArrayListlist=newArrayList(10); list.add(str[i]);for(intj=str.length-1;j>i;j--){if((str[i].charAt(0)==str[j].charAt(0)) &&(str[i].charAt(2)==str[j].charAt(2))){ list.add(str[j]); str[j]="#"; } }//endinnerforvecall.add(list); }//endif-else }//endoutterforreturnvecall;}//~算法討論設(shè)輸入的字符串?dāng)?shù)組的長度為n,那么上述算法的時間復(fù)雜度為。算法的核心思想簡述如下:.12.4.33.5.1游標(biāo)i自頂向下遍歷字符串?dāng)?shù)組,游標(biāo)j自底向上且j始終>i.對于每一個給定的i,尋找這樣的j使得str[i]與str[j]的前半局部匹配。如果找到,那么將str[j]參加List中,并對Str[j]賦值為“#〞,使下次i.123.5.對該算法在Intel酷睿2050芯片,1G內(nèi)存的筆記本上的測試結(jié)果如下:輸入規(guī)模n100050001000015000200002500030000350004000045000運(yùn)行時間t15ms16ms32ms32ms47ms47ms63ms70ms94ms109ms輸入規(guī)模n50000550006000065000700007500080000850009000095000運(yùn)行時間t125ms141ms151ms172ms180ms234ms203ms218ms234ms250ms(注:輸入的字符串?dāng)?shù)組采用隨機(jī)數(shù)發(fā)生器自動生成,以保證運(yùn)行的結(jié)果公正可靠,運(yùn)行時間按屢次測量去平均值計算所得)圖6.2算法運(yùn)行效率6.2區(qū)域覆蓋問題問題描述與算法在上一章的區(qū)域結(jié)構(gòu)顯示圖中,一個很重要的顯示問題是如何排列這些大小不相同的圓使這些圓緊靠扇形的頂角但又兩兩互不重疊。該問題的形式化語言描述如下:【問題描述】給定一銳角,以及n個半徑相等的圓,如何在銳角內(nèi)排列這些圓,使這些圓以銳角頂點(diǎn)為中心構(gòu)成一個緊密分布?〔緊密分布的意思是:各圓之間盡可能接近,但不相交〕【問題討論】該問題的關(guān)鍵是要確定這n個圓的圓心。我們采用的方法是角平分線法,建立直角坐標(biāo)系如下圖.的坐標(biāo)是:,,的坐標(biāo)是,;,,的坐標(biāo)是,,;以此類推。圖6.3區(qū)域覆蓋問題圖示(從左到右,從上到下圓的標(biāo)號為1-15)…………圖6.4區(qū)域覆蓋問題解決方法【算法6.3】輸入:圓的數(shù)目n,半徑r,銳角輸出:緊密分布的每個圓的圓心坐標(biāo),用List返回過程:〔用java語言實現(xiàn)〕//圓心坐標(biāo)類ClassCircle(){privatedoublexpos;privatedoubleypos;//Cirlce的get和set方法……}//以下是緊密排列的算法publicListCircle(intn,intangle,floatradius){Listlist=newArrayList();//聲明和初始化Circle[]c=newCircle[15];for(inti<0;i<15;i++){c[i]=newCircle();}//裝載數(shù)據(jù)c[0].setXpos(radius/Math.sin(angle/2));c[0].setYpos(0);c[1].setXpos(r/Math.tan(angle/4));c[1].setYpos(r);c[2].setXpos(r/Math.tan(angle/4));c[2].setYpos(-r);…c[14].setXpos();c[14].setYpos();//放入Listfor(intj=0;j<15;j++)List.addElement(c[i]);//根據(jù)n對List進(jìn)行緊縮ListreturnList=newArrayList();if(n>15)returnnull;for(intk=0;k<n;k++){returnList.add(List.get(i));}returnreturnList;}//~算法討論該算法的時間復(fù)雜度為O(n).主要的復(fù)雜性不在于算法,而是在于事先的數(shù)學(xué)計算。當(dāng)可以精確確定N〔這里N<=15〕個圓的圓心坐標(biāo)時,計算機(jī)處理將是非常方便的事情。6.3IIAS可視化局部代碼分析樹形結(jié)構(gòu)圖類名:DrawPanel擴(kuò)展類Panel作用:繪制樹形結(jié)構(gòu)圖公有方法://重載函數(shù)voidpaintComponent(Graphicsg)//窗體寬度和高度的get()和set()方法intgetFrameheight()voidsetFrameheight(intframeheight)intgetFramewidth()voidsetFramewidth(intframewidth)//鼠標(biāo)移過時處理。主要是在鼠標(biāo)移到某一節(jié)點(diǎn)之上時顯示一個窗體,里面放該節(jié)點(diǎn)所代表的信息。MouseMotionListenermml=newMouseMotionAdapter(){}私有方法://獲取節(jié)點(diǎn)信息,主要包括該節(jié)點(diǎn)所代表的情報問題編號,問題名稱,論據(jù),結(jié)論,答案準(zhǔn)確度,資料來源,資料準(zhǔn)確度等等。voidgetData();//根據(jù)窗體大小生成半徑voidgetRadius(intfw,intfh)//獲取節(jié)點(diǎn)橫向間距,由窗體大小決定voidgetWSpace(intfw)//獲取節(jié)點(diǎn)縱向間距voidgetHSpace(intfw)//畫線的總方法,各層的線都要分別對待。voidpaintLines(Graphicsg)//畫1-2層的線voidpaintLines_1(Graphicsg)//畫2-3層的線voidpaintLines_2(Graphicsg)//畫3-4層的線voidpaintLines_3(Graphicsg);//畫節(jié)點(diǎn)index表示節(jié)點(diǎn)的標(biāo)識,nodecount表示節(jié)點(diǎn)的數(shù)目,radius表示節(jié)點(diǎn)半徑大小//調(diào)用drawCircle方法畫圓voidpaintNodes(Graphics2Dg,intindex,intnodecount,intradius)//鼠標(biāo)移到某個節(jié)點(diǎn)上事,獲取節(jié)點(diǎn)的idintgetCircleID(intx,inty)//注冊節(jié)點(diǎn),以使節(jié)點(diǎn)和信息關(guān)聯(lián)。voidregisterCircle(Stringid,Integerstatus)//畫圓的具體實現(xiàn)算法,x,y為圓所在的坐標(biāo),radius是圓的半徑,color是圓的顏色voiddrawCircle(Graphics2Dg,intx,inty,intradius,Colorcolor)區(qū)域結(jié)構(gòu)圖類名:WindMillPanel擴(kuò)展類JPanel作用:繪制區(qū)域結(jié)構(gòu)圖公有方法://重載函數(shù),對JPanel的重繪voidpaintComponent(Graphicsg)私有方法://獲取節(jié)點(diǎn)信息,主要包括該節(jié)點(diǎn)所代表的情報問題編號,問題名稱,論據(jù),結(jié)論,答案準(zhǔn)確度,資料來源,資料準(zhǔn)確度等等。voidgetData()//繪制坐標(biāo)系,主要是水平線,垂直線和整個方型框voidpaintCoordinate(Graphicsg);//根據(jù)該區(qū)的顏色得到陰影局部半徑//紅色,黃色,綠色分別對應(yīng)不同的半徑,//flag(0,1,2)代表不同的顏色intgetRadius(intflag)//繪制扇形的總方法,具體實現(xiàn)方法見下面一條,共繪制8個扇形區(qū)域,//沿著坐標(biāo)軸正向逆時針旋轉(zhuǎn),區(qū)號依次是0,1,2,3...7voidpaintSectors(Graphicsg)//繪制扇形區(qū)域的具體實現(xiàn)voidpaintSector(Graphicsg,intstartAngle,intradius,intarcAngle)//繪制文本框的總方法,具體實現(xiàn)見下2條,總共繪制8個文本框voidpaintBoxes(Graphicsg)//繪制垂直的文本框,//title是文本內(nèi)容,x,y是坐標(biāo),flag代表使用的顏色voidpaintHorizentalBox(Graphics2Dg,Stringtitle,intx,inty,intflag)//繪制水平文本框////title是文本內(nèi)容,x,y是坐標(biāo),flag代表使用的顏色voidpaintVerticalBox(Graphics2Dg,Stringtitle,intx,inty,intflag)//繪制圓的總方法,不同的區(qū)域使用不同的繪制方法。voidpaintCircles(Graphicsg)//繪制圓的具體實現(xiàn)方法。針對不同的區(qū)域,采取不同的顯示方法。//areaNo是區(qū)域編號(0,1,2…7),yellow表示黃色節(jié)點(diǎn)的個數(shù),red表示紅色節(jié)點(diǎn)的個數(shù)voidpaintCircle(Graphicsg,intareaNo,intyellow,intred)6.4Java2D繪圖Java2DAPI增強(qiáng)了AWT的圖形、文本和圖像處理能力,使你能開發(fā)富客戶界面和新類型的Java應(yīng)用程序。除了這些豐富的圖形、字體和圖像處理接口,Java2DAPI還支持增強(qiáng)的顏色定義及合成、任意形狀和文本的邊界檢測及打印機(jī)和顯示設(shè)備的統(tǒng)一渲染模型。Java2DAPI還能使你創(chuàng)立高級圖形庫,如CAD-CAM庫、圖形圖像特殊效果庫、及創(chuàng)立圖像和圖形文件的讀寫過濾器等。當(dāng)結(jié)合JavaMediaFramework及JavaMediaAPI一起使用時,Java2DAPI能創(chuàng)立和顯示動畫以及其他多媒體的展現(xiàn)。本文所使用到的Java2DAPI主要集中在其繪制根本圖形的接口上。下面給出三個IIAS中繪圖的函數(shù),目的是想展示一下Java2D繪圖功能的強(qiáng)大和方便。/**函數(shù)功能:重載方法paintComponent(),在Canvas上繪圖*@輸入:Graphicsg*@輸出:void*/publicvoidpaintComponent(Graphicsg){ Graphics2Dg2=(Graphics2D)g;//調(diào)用外部函數(shù)getRadiusgetWSpacegetHSpace//獲得窗體(frame)的根本數(shù)據(jù) getRadius(framewidth,frameheight); getWSpace(framewidth); getHSpace(frameheight);//設(shè)置畫筆的粗細(xì) g2.setStroke(newBasicStroke());//調(diào)用外部函數(shù)paintNodes,繪制結(jié)點(diǎn) paintNodes(g2,1,bottomcount,bottom_r); paintNodes(g2,2,layer_1count,layer1_r); paintNodes(g2,3,layer_2count,layer2_r); paintNodes(g2,4,layer_3count,layer3_r);//畫線之前先設(shè)置好畫筆的粗細(xì) g2.setStroke(newBasicStroke()); g2.setColor(Color.BLACK); paintLines_1(g2); paintLines_2(g2); paintLines_3(g2); }//~/** *函數(shù)功能:繪制節(jié)點(diǎn)*@輸入:Graphics2Dg,節(jié)點(diǎn)狀態(tài)標(biāo)記index,*@節(jié)點(diǎn)數(shù)目nodecount,節(jié)點(diǎn)半徑radius *@輸出:void*@修改時間:2009-05- */privatevoidpaintNodes(Graphics2Dg,intindex,intnodecount,intradius){ //開始繪制for(inti=0;i<nodecount;i++){ //取出狀態(tài) Integerstatus=newInteger(-1);if(index==1){ status=(Integer)hmstatus.get(newInteger(i)); chooseDraw(g,status,margin_bottom,space_btm,y_bottom,i, radius); }if(index==2){ status=(Integer)hmstatus.get(newInteger(i+bottomcount)); chooseDraw(g,status,margin_layer1,space_1,y_layer1,i, radius); }if(index==3){ status=(Integer)hmstatus.get(newInteger(i+bottomcount +layer_1count)); chooseDraw(g,status,margin_layer2,space_2,y_layer2,i, radius); }if(index==4){ status=(Integer)hmstatus.get(newInteger(bottomcount +layer_1count+layer_2count)); chooseDraw(g,status,margin_layer3,space_3,y_layer3,i, radius); } } }//~/***@函數(shù)功能:繪制第一二層的線條*@輸入:Graphicsg*@輸出:void*@hamburg*@修改時間:2009-05-*/privatevoidpaintLines_1(Graphicsg){intidx=0;for(intcount=0;count<layer_1count;count++){ //得到二層圓的坐標(biāo)intx_2=margin_layer1+layer1_r+count *(2*layer1_r+space_1);inty_2=y_layer1+layer1_r; //得到group Vectorchild=(Vector)vec_fst.get(count);for(inti=0;i<child.size();i++){ //得到每個元素的坐標(biāo)intx_1=margin_bottom+bottom_r+idx *(2*bottom_r+space_btm);inty_1=y_bottom+bottom_r; g.drawLine(x_1,y_1,x_2,y_2);idx++;}}}第七章總結(jié)與展望本文從戰(zhàn)略情報開始講起,給出了一種用于分析戰(zhàn)略情報的綜合性的方法——結(jié)構(gòu)化情報分析法,并對其進(jìn)行了相關(guān)的理論分析和探討;接著,筆者著力分析了兩款國外使用該方法開發(fā)出來的情報分析軟件——SEAS和Angler,對它們各自的特點(diǎn)和應(yīng)用情況作了簡單的介紹;再接下來,本文詳細(xì)描述了一款由筆者自主開發(fā)的采用結(jié)構(gòu)化分析方法的情報分析軟件——IIAS,并重點(diǎn)介紹了其數(shù)據(jù)可視化局部的相關(guān)代碼和技術(shù),研究了其中關(guān)鍵問題的實現(xiàn)算法。對戰(zhàn)略情報分析的方法學(xué)研究還在繼續(xù),筆者相信未來還會有更新更好的戰(zhàn)略情報分析方法。但是,所有這些方法的共同點(diǎn)應(yīng)該都應(yīng)該立足于充分發(fā)揮人腦和電腦各自優(yōu)勢,取長補(bǔ)短,共同促進(jìn)問題的解決的根底之上。結(jié)構(gòu)化情報分析方法已經(jīng)較好地展現(xiàn)出了這方面的特點(diǎn),對將來的方法學(xué)的研究起到了很好的借鑒作用。在數(shù)據(jù)可視化方面,雖然本文給出的可視化方案已經(jīng)能夠使情報分析員對情報分析的結(jié)果有較好的了解。但是未來的戰(zhàn)略情報分析復(fù)雜性將不斷加深,需要更好的可視化策略來展現(xiàn)整個情報分析過程。就本文而言,雖然我們已經(jīng)能夠控制樹形結(jié)點(diǎn)的數(shù)量,使其不會因為數(shù)量過大而崩潰,但是,還沒有設(shè)計出較好的折疊和移動的方法,使樹形能更加舒展。這也將是筆者未來著重研究的目標(biāo)之一。希望這篇論文的研究能夠給國內(nèi)的情報分析軟件的開發(fā)奉獻(xiàn)自己的綿薄之力。參考文獻(xiàn)[1]JohnD.Lowrance,I.W.Harrison,A.C.Rodriguez.StructuredArgumentationforAnalysis[J].ai.sri/pubs/files/434.pdf.2002.[2]JohnLowrance,IanHarrison,AndresRodriguez,etc.Template-BasedStructuredArgumentation[M].PublishedbySpringer.October2023.[3]JohnLowrance,IanHarrison,AndresRodriguez,etc.SEASHelpSystemforRelease7.1..2007.[4]DavidWoods,JustinGrossman,EmilyPatterson.FindingDecisionSupportRequirementsforEffectiveIntelligenceAnalysisTools[J].TheOhioStateUniversity2005.[5]StephenFew,PerceptualEdge.ThreeBlindMenandanElephant:ThePowerofFacetedAnalyticalDisplays[Z].2007[6]StephenFewImproveYourVisionandExpandYourMindwithVisualAnalytics[Z].2007.[7]RichardV.Badalamente,FrankL.Greitzer.TopTenNeedsforIntelligenceAnalysisToolDevelopment[C]PNNL-SA-44274.FirstAnnualConferenceonIntelligenceAnalysisMethodsandTools,May2005[8]RichardsJ.Heuer.Jr.PsychologyofIntelligenceAnalysis[M].centerforthestudyofintelligence.1999.[9]董獻(xiàn)洲,胡曉峰,司光亞等信息可視化在情報分析中的研究[J].計算機(jī)工程與應(yīng)用,2006,175~178.[10]蘇勇信息可視化中賦權(quán)樹形圖的畫法[J].現(xiàn)代圖書情報技術(shù)2006年第11期,73~76.[11]孫成權(quán),曹霞等戰(zhàn)略情報研究與技術(shù)預(yù)見[M]。上??茖W(xué)技術(shù)文獻(xiàn)出版社。2008-10-1.[12]李綱,鄭重信息可視化應(yīng)用研究進(jìn)展[J].圖書.情報.知識總第124期2023年7月.P36~40[13]孫潔麗,景明昌可視化技術(shù)在競爭情報中的應(yīng)用[J]。情報科學(xué)2007-7.第25卷第7期。[14[16]智庫百科信息分析[17]百科知識://mybaike/junshishuyu/戰(zhàn)略情報#download[18]維基百科://guanliwiki/(S(rmiqpw55lmw2xj45gfusgt45))/Wiki/Default.aspx?Page=德爾菲法的定義、起源及演變&AspxAutoDetectCookieSupport=1.[19]百度百科[20]百度百科[21]百度百科[22]JohnD.Lawrance.StructuredArgumentationandBrainstormingbyAnalystTeams:InternationalRiskAssessmentandHorizonScanningSymposium[C].March19&202007.[23]SmashingEditorial.DataVisualizationandInfographics[J]Graphics,MondayInspiration,January14th,2023.[24]FritsH.Post,GregoryM.NielsonandGeorges-PierreBonneau.DataVisualization:TheStateoftheArt.[M].2002.[25]ThomasA.DeFantiMaxineD.Brown.VisualizationinScientificComputing[M].AcademicPressProfessional,Inc.

1991.[26]PaulReilly,S.P.Q.Rahtz(eds.)ArchaeologyandtheInformationAge:AGlobalPerspective[M].p.92.1992.[27]MichaelFriendly(2023)."Milestonesinthehistoryofthematiccartography,statisticalgraphics,anddatavisualization"[28]JohnLowrance.Graphicalmanipulationofevidenceinstructuredarguments[J].ArtificialIntelligence[29]MichaelWolverton,IanHarrison,JohnD.Lowrance,etc.SoftwareSupportedPatternDevelopmentinIntelligenceAnalysis[J]2000.[30]JohnD.Lowrance.DesigningaSystemforStructuredAssessmentofComplianceRisk[J].2005.[31]AndresRodriguez.Angler:ACollaborativeToolforCognitiveExpansion[C].ArtificialIntelligenceCenter.SRI.2006.[32]周寧信息可視化研究進(jìn)展[D]情報學(xué)研究資料匯編武漢大學(xué)出版社.致謝這篇文章能夠錙銖積累得以完成,首先要感謝馬老師對我論文的關(guān)心和幫助,我忘不了和馬老師在QQ上討論這個系統(tǒng)的業(yè)務(wù)邏輯時的情景,那時候我總是覺得自己一個人很難完成這么復(fù)雜的工程,可是,在不知不覺中,從最初的系統(tǒng)分析,系統(tǒng)設(shè)計(包括數(shù)據(jù)庫設(shè)計),到系統(tǒng)編碼到使用手冊的編寫,到這篇論文的完稿,我一路走來,這中間有多少次不眠之夜,多少次饑腸轆轆,多少次有過想放棄的念頭,又多少次咬咬牙堅持了下來,我已經(jīng)記不得了。感謝馬老師,她在這個過程中給了我很大的勇氣和信心,如果沒有馬老師在一邊的指導(dǎo)和鼓勵,我一個人真的很難堅持到現(xiàn)在。其次,我還要感謝我們小組的李亞平,李志隆,戚璐瑤等同學(xué),在他們的幫助和支持下,我對我的系統(tǒng)做了最后一次的完善和修改。最后,我再一次向我的導(dǎo)師以及各位幫助過我的老師、同學(xué)和朋友致以我最誠摯的謝意。附錄IIAS使用到的JAVA2DAPI摘錄構(gòu)造方法:protectedGraphics()構(gòu)造一個新的Graphics對象。此構(gòu)造方法是用于圖形上下文的默認(rèn)構(gòu)造方法。因為Graphics是一個抽象類,所以應(yīng)用程序不能直接調(diào)用此構(gòu)造方法。圖形上下文從其他圖形上下文獲取,或者通過在組件上調(diào)用getGraphics來創(chuàng)立。方法詳細(xì):publicabstractColorgetColor()獲取此圖形上下文的當(dāng)前顏色。返回:此圖形上下文的當(dāng)前顏色。publicabstractvoidsetColor(Color

c)將此圖形上下文的當(dāng)前顏色設(shè)置為指定顏色。使用此圖形上下文的所有后續(xù)圖形操作均使用這個指定的顏色。參數(shù):c-新的呈現(xiàn)顏色。publicabstractvoidsetPaintMode()設(shè)置將此圖形上下文的繪圖模式,以便通過此圖形上下文中的當(dāng)前顏色來覆蓋目標(biāo)。此方法將邏輯像素操作函數(shù)設(shè)置為繪圖模式或覆蓋模式。所有后續(xù)呈現(xiàn)操作將使用當(dāng)前顏色覆蓋目標(biāo)。publicabstractFontgetFont()獲取當(dāng)前字體。返回:此圖形上下文的當(dāng)前字體。publicabstractvoidsetFont(Font

font)將此圖形上下文的字體設(shè)置為指定字體。使用此圖形上下文的所有后續(xù)文本操作均使用此字體。忽略null參數(shù)。參數(shù):font-字體。publicFontMetricsgetFontMetrics()獲取當(dāng)前字體的字體規(guī)格。返回:此圖形上下文當(dāng)前字體的字體規(guī)格。publicabstractFontMetricsgetFontMetrics(Font

f)獲取指定字體的字體規(guī)格。參數(shù):f-指定的字體返回:指定字體的字體規(guī)格。publicabstractvoiddrawLine(int

x1,int

y1,int

x2,int

y2)在此圖形上下文的坐標(biāo)系中,使用當(dāng)前顏色在點(diǎn)(x1,

y1)和(x2,

y2)之間畫一條線。參數(shù):x1-第一個點(diǎn)的x坐標(biāo)。y1-第一個點(diǎn)的y坐標(biāo)。x2-第二個點(diǎn)的x坐標(biāo)。y2-第二個點(diǎn)的y坐標(biāo)。publicabstractvoidfillRect(int

x,int

y,int

width,int

height)填充指定的矩形。該矩形左邊緣和右邊緣分別位于x和x

+

width

-

1。上邊緣和下邊緣分別位于y和y

+

height

-

1。得到的矩形覆蓋width像素寬乘以height像素高的區(qū)域。使用圖形上下文的當(dāng)前顏色填充該矩形。參數(shù):x-要填充矩形的x坐標(biāo)。y-要填充矩形的y坐標(biāo)。width-要填充矩形的寬度。height-要填充矩形的高度。publicvoiddrawRect(int

x,int

y,int

width,int

height)繪制指定矩形的邊框。矩形的左邊緣和右邊緣分別位于x和x

+

width。上邊緣和下邊緣分別位于y和y

+

height。使用圖形上下文的當(dāng)前顏色繪制該矩形。參數(shù):x-要繪制矩形的x坐標(biāo)。y-要繪制矩形的y坐標(biāo)。width-要繪制矩形的寬度。height-要繪制矩形的高度。publicabstractvoiddrawOval(int

x,int

y,int

width,int

height)繪制橢圓的邊框。得到一個圓或橢圓,它剛好能放入由x、y、width和height參數(shù)指定的矩形中。橢圓覆蓋區(qū)域的寬度為width

+

1像素,高度為height

+

1像素。參數(shù):x-要繪制橢圓的左上角的x坐標(biāo)。y-要繪制橢圓的左上角的y坐標(biāo)。width-要繪制橢圓的寬度。height-要繪制橢圓的高度。publicabstractvoidfillOval(int

x,int

y,int

width,int

height)使用當(dāng)前顏色填充外接指定矩形框的橢圓。參數(shù):x-要填充橢圓的左上角的x坐標(biāo)。y-要填充橢圓的左上角的y坐標(biāo)。width-要填充橢圓的寬度。height-要填充橢圓的高度。publicabstractvoiddrawArc(int

x,int

y,int

width,int

height,int

startAngle,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論