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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 景宁| 桂阳县| 南京市| 江山市| 沽源县| 广水市| 锦屏县| 昭通市| 玛沁县| 礼泉县| 同德县| 尖扎县| 鹤峰县| 定陶县| 铁岭县| 成安县| 靖宇县| 汉中市| 彭泽县| 昔阳县| 乌兰县| 吴江市| 库尔勒市| 成武县| 西盟| 龙泉市| 迭部县| 屯留县| 临澧县| 陇西县| 朝阳市| 浦城县| 开阳县| 延川县| 罗源县| 崇仁县| 孟州市| 漳浦县| 高唐县| 原阳县| 景德镇市|