專(zhuān)利名稱(chēng):網(wǎng)狀關(guān)系的動(dòng)態(tài)可視化顯示方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種圖的表示方法,特別涉及一種網(wǎng)狀關(guān)系圖形的動(dòng)態(tài)可視化顯示方法。
背景技術(shù):
圖是在很多領(lǐng)域廣泛使用的一種數(shù)據(jù)結(jié)構(gòu)?,F(xiàn)實(shí)世界中各種復(fù)雜關(guān)系也往往通過(guò) 抽象成網(wǎng)狀關(guān)系,使用網(wǎng)狀關(guān)系圖形來(lái)表示。復(fù)雜的網(wǎng)狀關(guān)系圖形的表示是一個(gè)難題。首先,錯(cuò)綜復(fù)雜的網(wǎng)狀關(guān)系如果不分主 次的呈現(xiàn)在用戶(hù)面前,用戶(hù)不可能從網(wǎng)狀關(guān)系圖中看出各個(gè)節(jié)點(diǎn)的聯(lián)系,從而無(wú)法從關(guān)系 圖中獲得需要的信息。其次,網(wǎng)狀關(guān)系圖形中,每個(gè)節(jié)點(diǎn)的關(guān)聯(lián)節(jié)點(diǎn)和關(guān)聯(lián)關(guān)系的數(shù)目是不 一樣的。在展示網(wǎng)狀關(guān)系圖形時(shí),如果將用戶(hù)關(guān)心的節(jié)點(diǎn)放在屏幕中間,為了使關(guān)聯(lián)的各個(gè) 節(jié)點(diǎn)在屏幕上均勻分布,需要先獲取與中心節(jié)點(diǎn)關(guān)聯(lián)的所有節(jié)點(diǎn)的信息,從而導(dǎo)致圖形展 示的效率降低。如果在圖形展示的過(guò)程中增加或者刪除某個(gè)節(jié)點(diǎn),則會(huì)導(dǎo)致需要對(duì)所有節(jié) 點(diǎn)的信息進(jìn)行重新計(jì)算,才能保持各個(gè)節(jié)點(diǎn)的均勻分布。而且,傳統(tǒng)的使用點(diǎn)和線(xiàn)表示圖形 的方法過(guò)于呆板。隨著各種媒體展示技術(shù)的發(fā)展,人們希望尋求一種更加生動(dòng)、有趣、能夠 吸引用戶(hù)眼球的表現(xiàn)方式來(lái)表示網(wǎng)狀關(guān)系圖形,不僅能將圖形生動(dòng)的展現(xiàn)在用戶(hù)的面前, 還能與用戶(hù)進(jìn)行交互,使用戶(hù)可以動(dòng)態(tài)的對(duì)圖形進(jìn)行修改,例如增加或者刪除圖形中的節(jié) 點(diǎn)。但是,在現(xiàn)有技術(shù)中,未見(jiàn)有相關(guān)表示方法的報(bào)道。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的缺點(diǎn),提供一種能夠向用戶(hù)動(dòng)態(tài)展示網(wǎng)狀關(guān)系 的方法。本發(fā)明的思想是在圖結(jié)構(gòu)的表示中,使用帶電荷的質(zhì)點(diǎn)表示節(jié)點(diǎn),用彈簧表示節(jié) 點(diǎn)之間的連接,從而將網(wǎng)狀關(guān)系圖模擬成一個(gè)物理系統(tǒng),生動(dòng)地表現(xiàn)出圖的關(guān)系節(jié)點(diǎn)之間 帶有同種電荷相斥而相互遠(yuǎn)離,彈簧約束各個(gè)節(jié)點(diǎn),如此圖結(jié)構(gòu)的各個(gè)節(jié)點(diǎn)能夠自然地在 空間中分布,尋找穩(wěn)定位置。通過(guò)加入適當(dāng)?shù)淖枘?,可以讓系統(tǒng)順利地進(jìn)入平衡狀態(tài)。本發(fā)明提供了一種網(wǎng)狀關(guān)系的動(dòng)態(tài)可視化顯示方法,包括以下步驟—、將所有節(jié)點(diǎn)模擬成帶同種電荷的質(zhì)點(diǎn);節(jié)點(diǎn)具有質(zhì)量,在力的作用下會(huì)在空間中產(chǎn)生加速度而移動(dòng)。同時(shí),所有的節(jié)點(diǎn)都 具有同種電荷,會(huì)相互排斥,避免相互重疊。在應(yīng)用中,每個(gè)節(jié)點(diǎn)可以表現(xiàn)為一個(gè)可交互操作的面板,可在其上展示該節(jié)點(diǎn)的 所有內(nèi)容,例如標(biāo)題、文字描述,甚至圖片、視頻和音頻。節(jié)點(diǎn)的外觀(guān)大小和質(zhì)量可以用來(lái)表示節(jié)點(diǎn)的權(quán)值。二、將節(jié)點(diǎn)間的關(guān)系模擬成彈簧;節(jié)點(diǎn)間的關(guān)系也就是圖中的邊被視為遵循胡克定律的彈簧,連接并約束各個(gè)節(jié) 點(diǎn)。邊的權(quán)值可以用彈簧的勁度系數(shù)來(lái)表示。
在應(yīng)用中,關(guān)系可以簡(jiǎn)單地表示為一根連線(xiàn),也可以進(jìn)行裝飾,或在其上附加對(duì)關(guān) 系的描述。三、設(shè)定各個(gè)節(jié)點(diǎn)的初始位置和顯示速度,之后根據(jù)每個(gè)節(jié)點(diǎn)所受到的靜電斥力 和彈簧拉力,計(jì)算出下一幀時(shí)刻該節(jié)點(diǎn)的位置并顯示。設(shè)定節(jié)點(diǎn)的初始位置有很多種方法,可以根據(jù)具體的應(yīng)用和需求進(jìn)行選擇。例如, 可以將用戶(hù)最關(guān)心的節(jié)點(diǎn)設(shè)置在屏幕中央,將與其相關(guān)聯(lián)的節(jié)點(diǎn)均勻分布在其周?chē)渌?節(jié)點(diǎn)可以暫時(shí)不顯示;也可以將所有節(jié)點(diǎn)在屏幕上均勻分布;甚至也可以將所有節(jié)點(diǎn)初始 位置設(shè)置在同一個(gè)點(diǎn)。即使初始位置的設(shè)置很不合理,由于受到靜電斥力和彈簧拉力的作 用,各個(gè)節(jié)點(diǎn)會(huì)開(kāi)始運(yùn)動(dòng)并達(dá)到平衡狀態(tài)。整個(gè)圖的每個(gè)節(jié)點(diǎn)都受到相互的復(fù)雜的力的作用,包括所有其他節(jié)點(diǎn)對(duì)它的斥 力,和連接在其上的彈簧的拉力。但是,這個(gè)系統(tǒng)仍舊是一個(gè)線(xiàn)性系統(tǒng),這些物理作用符合 疊加原理,因此可以分別計(jì)算各個(gè)物理作用并進(jìn)行疊加。所使用的方法并非解析法,而是數(shù) 值法。數(shù)值方法的基本理念是,將連續(xù)的物理過(guò)程看做是由一個(gè)時(shí)間點(diǎn)進(jìn)行到下一個(gè)時(shí)間 點(diǎn)的離散的過(guò)程。在每個(gè)時(shí)間點(diǎn),利用上一個(gè)時(shí)間點(diǎn)的信息可推出本時(shí)間點(diǎn)的情形,是一種 相當(dāng)簡(jiǎn)明的方法。在這類(lèi)方法中,計(jì)算量最小的是顯式積分的方法。
圖1所示是最基本的情形,即節(jié)點(diǎn)A和節(jié)點(diǎn)B通過(guò)彈簧相連。在某時(shí)刻,設(shè)A和B 的坐標(biāo)分別為rA和rB,都為二維向量;A和B的質(zhì)量分別為mA和mB,電量分別為qA和qB。這 個(gè)位置并非一定是平衡位置,且它們正在以各自的速度運(yùn)動(dòng)中。根據(jù)靜電斥力的向量形式計(jì)算公式,A受到來(lái)自B的靜電斥力為
權(quán)利要求
1. 一種網(wǎng)狀關(guān)系的動(dòng)態(tài)可視化顯示方法,包括以下步驟一、將所有節(jié)點(diǎn)模擬成帶同種電荷的質(zhì)點(diǎn);二、將節(jié)點(diǎn)間的關(guān)系模擬成彈簧;三、設(shè)定各個(gè)節(jié)點(diǎn)的初始位置和顯示速度,之后根據(jù)每個(gè)節(jié)點(diǎn)所受到的靜電斥力和彈 簧拉力,計(jì)算出下一幀時(shí)刻該節(jié)點(diǎn)的位置并顯示。
2.根據(jù)權(quán)利要求1所述的一種網(wǎng)狀關(guān)系的動(dòng)態(tài)可視化顯示方法,其特征在于,在步驟 三中為系統(tǒng)加入阻尼,計(jì)算節(jié)點(diǎn)位置時(shí)需要考慮每個(gè)節(jié)點(diǎn)所受到的靜電斥力、彈簧拉力和 阻尼作用力。
3.根據(jù)權(quán)利要求1所述的一種網(wǎng)狀關(guān)系的動(dòng)態(tài)可視化顯示方法,其特征在于,步驟三 中計(jì)算下一幀時(shí)刻節(jié)點(diǎn)位置的方法為(1)首先計(jì)算靜電斥力根據(jù)公式fA= fejf計(jì)算兩個(gè)節(jié)點(diǎn)間的靜電斥力,將每個(gè)節(jié)點(diǎn)受到的所有靜電斥力疊加,計(jì)算出節(jié)點(diǎn)受到的總的靜電斥力;其中,其中為靜 電力常量,設(shè)置為8. 987X IO9N -πι2 · C_2或者根據(jù)需要設(shè)置為其他數(shù)值;rA和rB為兩個(gè)節(jié)點(diǎn) 的坐標(biāo),都為二維向量;qA和qB為兩個(gè)節(jié)點(diǎn)的電量;(2)計(jì)算彈簧的拉力對(duì)于每個(gè)節(jié)點(diǎn),根據(jù)公式Ta計(jì)算出與其相連的所有彈簧的拉力并疊加,得到總的彈簧拉力;其中3 = 4(|^卜1^) ;k為彈簧的勁度系數(shù),Ltl為彈簧的原始長(zhǎng)度;(3)計(jì)算節(jié)點(diǎn)下一幀時(shí)刻的位置根據(jù)公式計(jì)算節(jié)點(diǎn)的加速度,mA為節(jié)點(diǎn)的質(zhì)量;根據(jù)公式U' A = uA+aAAt計(jì)算節(jié)點(diǎn)的速度; 根據(jù)公式r' A = rA+ υ ‘ AAt計(jì)算節(jié)點(diǎn)的位置。
4.根據(jù)權(quán)利要求2所述的一種網(wǎng)狀關(guān)系的動(dòng)態(tài)可視化顯示方法,其特征在于,步驟三 中計(jì)算下一幀時(shí)刻節(jié)點(diǎn)位置的方法為(1)首先計(jì)算靜電斥力根據(jù)公SfA= h —nP .計(jì)算兩個(gè)節(jié)點(diǎn)間的靜電斥力,將每個(gè)節(jié)點(diǎn)受到的所有靜電斥力疊加,計(jì)算出節(jié)點(diǎn)受到的總的靜電斥力;其中,其中為靜 電力常量,設(shè)置為8. 987X IO9N -πι2 · C_2或者根據(jù)需要設(shè)置為其他數(shù)值;rA和rB為兩個(gè)節(jié)點(diǎn) 的坐標(biāo),都為二維向量;qA和qA為兩個(gè)節(jié)點(diǎn)的電量;(2)計(jì)算彈簧的拉力對(duì)于每個(gè)節(jié)點(diǎn),根據(jù)公式tA =『^^計(jì)算出與其相連的所有彈簧的拉力并疊加,得到總的彈簧拉力;其中,T = -k(|rA-rB|-L0) ;k為彈簧的勁度系數(shù),L0為彈簧的原始長(zhǎng)度;(3)計(jì)算阻尼的作用力fA= _cuA其中,c為阻尼系數(shù),是預(yù)先選取的定值,uA為節(jié)點(diǎn)的運(yùn)動(dòng)速度;(4)計(jì)算節(jié)點(diǎn)下一幀時(shí)刻的位置根據(jù)公式
5.根據(jù)權(quán)利要求1所述的一種網(wǎng)狀關(guān)系的動(dòng)態(tài)可視化顯示方法,其特征在于,設(shè)置各 個(gè)節(jié)點(diǎn)初始位置的方法為將用戶(hù)最關(guān)心的節(jié)點(diǎn)顯示在屏幕中央,并只載入該節(jié)點(diǎn)的所有 鄰接節(jié)點(diǎn)。在用戶(hù)選擇了某個(gè)鄰接節(jié)點(diǎn)時(shí),將選中的節(jié)點(diǎn)放在屏幕中央,再載入該節(jié)點(diǎn)的鄰 接節(jié)點(diǎn);新載入的節(jié)點(diǎn)均勻地排列在該節(jié)點(diǎn)周?chē)?,然后讓它們通過(guò)物理定律自動(dòng)地找到合 適位置。
6.根據(jù)權(quán)利要求2所述的一種網(wǎng)狀關(guān)系的動(dòng)態(tài)可視化顯示方法,其特征在于,通過(guò)對(duì) 系統(tǒng)加入各向異性的靜電力或各向異性的阻尼,控制節(jié)點(diǎn)在水平和豎直兩個(gè)方向上的分布。
7.根據(jù)權(quán)利要求1所述的一種網(wǎng)狀關(guān)系的動(dòng)態(tài)可視化顯示方法,其特征在于,節(jié)點(diǎn)的 外觀(guān)大小和質(zhì)量用來(lái)表示節(jié)點(diǎn)的權(quán)值。
8.根據(jù)權(quán)利要求1所述的一種網(wǎng)狀關(guān)系的動(dòng)態(tài)可視化顯示方法,其特征在于,每個(gè)節(jié) 點(diǎn)表現(xiàn)為一個(gè)可交互操作的面板,在其上展示該節(jié)點(diǎn)的內(nèi)容。
9.根據(jù)權(quán)利要求1所述的一種網(wǎng)狀關(guān)系的動(dòng)態(tài)可視化顯示方法,其特征在于,關(guān)系的 權(quán)值用彈簧的勁度系數(shù)來(lái)表示。
10.根據(jù)權(quán)利要求1所述的一種網(wǎng)狀關(guān)系的動(dòng)態(tài)可視化顯示方法,其特征在于,展示關(guān) 系時(shí),在其上附加對(duì)關(guān)系的描述。
全文摘要
本發(fā)明涉及一種網(wǎng)狀關(guān)系圖形的動(dòng)態(tài)可視化顯示方法,包括以下步驟一、將所有節(jié)點(diǎn)模擬成帶同種電荷的質(zhì)點(diǎn);二、將節(jié)點(diǎn)間的關(guān)系模擬成彈簧;三、設(shè)定各個(gè)節(jié)點(diǎn)的初始位置和顯示速度,之后根據(jù)每個(gè)節(jié)點(diǎn)所受到的靜電斥力和彈簧拉力,計(jì)算出下一幀時(shí)刻該節(jié)點(diǎn)的位置并顯示。本發(fā)明將網(wǎng)狀關(guān)系模擬為由帶電荷質(zhì)點(diǎn)和彈簧組成的真實(shí)物理系統(tǒng),從而提供了一種生動(dòng)、有趣、能夠吸引用戶(hù)眼球的表現(xiàn)方式來(lái)表示網(wǎng)狀關(guān)系圖形,也使網(wǎng)狀關(guān)系的表示更加靈活。
文檔編號(hào)G06T11/00GK102136152SQ201110099030
公開(kāi)日2011年7月27日 申請(qǐng)日期2011年4月20日 優(yōu)先權(quán)日2011年4月20日
發(fā)明者代濤, 孫曉北, 安新穎, 方安, 李揚(yáng), 池慧, 洪娜, 王敏, 胡世平, 鐘華, 錢(qián)慶, 高東平 申請(qǐng)人:中國(guó)醫(yī)學(xué)科學(xué)院醫(yī)學(xué)信息研究所