一路拾遺
          Collect By Finding All The Way ......
          posts - 81,comments - 41,trackbacks - 0
          這兩天仔細(xì)琢磨了一下彈簧粒子的可用性,覺(jué)得彈簧粒子并不適用于繪制服務(wù)網(wǎng)絡(luò),主要原因有以下幾點(diǎn):
          1、上次您提到對(duì)某個(gè)中心粒子設(shè)置電荷,從而形成放射狀的靜電場(chǎng),通過(guò)和周?chē)鷰щ娏W又g的相互作用來(lái)實(shí)現(xiàn)對(duì)服務(wù)網(wǎng)絡(luò)的模擬。但是據(jù)我所知在彈簧粒子中只能設(shè)置垂直方向的重力場(chǎng)和平行的任意方向的靜電場(chǎng),不能設(shè)置放射狀的靜電場(chǎng),對(duì)于如何使粒子帶電還沒(méi)有解決。
          2、即使通過(guò)粒子間靜電作用的模擬完成了放射狀網(wǎng)絡(luò)的繪制,但是對(duì)于服務(wù)關(guān)系網(wǎng)絡(luò)中另一種重要的視圖:樹(shù)形視圖(用于表達(dá)抽象服務(wù)和具體服務(wù)之間的Extend關(guān)系)無(wú)法用彈簧粒子來(lái)實(shí)現(xiàn),因?yàn)闊o(wú)法構(gòu)造一種物理模型來(lái)進(jìn)行模擬使粒子間構(gòu)成樹(shù)形位置關(guān)系。
          3、目前看到的只是彈簧粒子應(yīng)用的例子,還沒(méi)找到彈簧例子可用的JAR包。
          4、彈簧粒子使用APPLET,繪制出來(lái)的效果和我們現(xiàn)在使用的JS沒(méi)有區(qū)別,不會(huì)使圖形效果有很大改觀。微軟的人立方之所以顯示效果很好,原因是它是采用Flash畫(huà)圖實(shí)現(xiàn)的,跟彈簧粒子沒(méi)有任何關(guān)系(無(wú)論是采用的工具和算法上)。
          5、即使說(shuō)以上條件都能滿足(當(dāng)然這幾乎不可能),還存在一個(gè)重要的問(wèn)題:效率和資源的問(wèn)題。首先,彈簧粒子的本質(zhì)是用來(lái)做物理仿真,如果我們用來(lái)做服務(wù)網(wǎng)絡(luò)的繪制則只能用到其中的靜力學(xué)部分。對(duì)于運(yùn)動(dòng)效果的模擬雖然我們不會(huì)用到,但是在圖形顯示的同時(shí),Applet也會(huì)去進(jìn)行計(jì)算,也就是說(shuō)這樣做實(shí)際上相當(dāng)于為了實(shí)現(xiàn)馬車(chē)的功能而用馬去拉飛機(jī)的輪子,不但不能體現(xiàn)飛機(jī)的速度,而且也使馬更加吃力,而問(wèn)題的關(guān)鍵就在于能不能把飛機(jī)的輪子拆下來(lái)單獨(dú)使用,而不是拖著對(duì)于我們來(lái)說(shuō)無(wú)用而又沉重的機(jī)身。要實(shí)現(xiàn)這點(diǎn)需要去了解彈簧粒子的具體實(shí)現(xiàn),從而剔除掉我們用不到的功能,很顯然這樣做得不償失。其次,Applet的運(yùn)行時(shí)占用資源很大,在彈簧粒子中加入一個(gè)10*10的粒子矩陣(沒(méi)有加彈簧),就已經(jīng)使得該程序不響應(yīng)了。這是由于彈簧例子的設(shè)計(jì)初衷跟繪制網(wǎng)絡(luò)迥異而造成的:彈簧粒子是為了模擬少數(shù)粒子和彈簧的物理運(yùn)動(dòng)形態(tài),不能也沒(méi)必要對(duì)上百個(gè)粒子進(jìn)行同時(shí)的仿真;而我們的服務(wù)網(wǎng)絡(luò)卻需要大量節(jié)點(diǎn)的同時(shí)展示,從而體現(xiàn)網(wǎng)絡(luò)中節(jié)點(diǎn)間的關(guān)系。可見(jiàn)二者從設(shè)計(jì)的初衷講就已經(jīng)背道而馳!另外,采用彈簧粒子必然導(dǎo)致繪圖效率的極其低下,這樣會(huì)使得我們之前所做的優(yōu)化工作(采用中間層數(shù)據(jù)庫(kù)對(duì)本體數(shù)據(jù)庫(kù)進(jìn)行緩存)失去任何意義,因?yàn)槲覀儍?yōu)化的目的就是通過(guò)避免每次對(duì)網(wǎng)絡(luò)的操作都要重新進(jìn)行本體建模來(lái)節(jié)約時(shí)間。如果采用彈簧粒子來(lái)進(jìn)行網(wǎng)絡(luò)圖形繪制,一切對(duì)于其它環(huán)節(jié)的優(yōu)化都將是杯水車(chē)薪。
          另外,我同時(shí)也對(duì)微軟的“人立方”進(jìn)行了一些粗略的了解。人立方的原理是通過(guò)搜索網(wǎng)頁(yè),通過(guò)特定技術(shù)自動(dòng)截取出名字,同多特定事件將相關(guān)人物之間聯(lián)系在一起,當(dāng)關(guān)于某人的新聞越多,他能找到的雙關(guān)人物就越多,慢慢累積,形成一個(gè)“人立方”。人立方的圖形是采用Flash繪制,這點(diǎn)是毋庸置疑的,可見(jiàn)至少?gòu)膱D形繪制這方面與彈簧粒子的Applet是迥異的。但是可惜的是“人立方”并不是一個(gè)開(kāi)源項(xiàng)目,除了了解它進(jìn)行數(shù)據(jù)搜集的基本原理,其他我們一無(wú)所知(其中最重要的是網(wǎng)絡(luò)布局算法)。
          posted on 2008-08-19 10:06 胖胖泡泡 閱讀(182) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 天峨县| 庄河市| 萝北县| 苍梧县| 通化市| 兴国县| 阿克苏市| 宜兰县| 孙吴县| 封开县| 林芝县| 阿瓦提县| 浙江省| 常熟市| 栾川县| 河间市| 盖州市| 分宜县| 宁河县| 平乐县| 林甸县| 汾阳市| 珲春市| 乐山市| 牟定县| 津市市| 海兴县| 九龙城区| 鄂州市| 理塘县| 交城县| 台江县| 桐城市| 辉南县| 沈丘县| 武乡县| 达尔| 新闻| 郎溪县| 沅江市| 阳江市|