• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    簡述一種提升可視化效果的高性能2D數(shù)據(jù)展示算法

    2020-07-14 08:48:51陳海洋
    科學與信息化 2020年15期
    關鍵詞:可視化算法

    陳海洋

    摘 要 針對前端通過Canvas或svg繪制2D點線數(shù)據(jù)效率低下的問題,本文設計一種基于WebGL的高性能2D數(shù)據(jù)展示算法,采用WebGL對點數(shù)據(jù)進行渲染,在計算模型視圖位置點時,使點的Z軸永遠朝上,節(jié)省了程序的運算時間,提高可視化效率。

    關鍵詞 WebGL;可視化;算法

    Abstract Aiming at the low efficiency of 2D point and line data drawn by canvas or SVG, this paper designs a high-performance 2D data display algorithm based on webgl, which uses webgl to render point data. When calculating the position point of model view, the Z axis of point is always upward, which saves the operation time of program and improves the visualization efficiency.

    Keyword WebGL; Visualization; Algorithm

    引言

    面對海量數(shù)據(jù)時,僅僅通過單純的文本數(shù)據(jù)表達方式和分析手段來快速高效地處理和使用數(shù)據(jù)已是非常困難的事,因此需要新的技術來解決這一問題[1]。數(shù)據(jù)可視化技術通過計算機繪圖的方式,提供多種圖形方法來直觀地把晦澀難懂的傳統(tǒng)數(shù)據(jù)形象生動地表達出來,大大加強了人們對于數(shù)據(jù)的理解交互力度[2]。

    在可視化繪圖情景下,前端的一些繪圖技術包括Flash、VML、SVG和Canvas等,這些繪圖技術都存在各自缺陷。Flash在前端繪圖需要安裝插件,使Flash中的元素與網(wǎng)頁中其他元素進行交互是要消耗大量時間和資源。VML規(guī)格被W3C所拒絕,目前僅有IE瀏覽器可以支持使用。Canvas把圖像放大圖形會變模糊,也無法對已繪制的圖像進行操作、修改。SVG則不能動態(tài)的修改動畫內(nèi)容,也不能與HTML內(nèi)容集成。

    1數(shù)據(jù)展示算法

    1.1 算法思想

    本文設計了一種基于WebGL的提升可視化效果的高性能2D數(shù)據(jù)展示算法,采用WebGL對點數(shù)據(jù)進行渲染,使用Canvas來繪制點數(shù)據(jù)的圖片,然后將該圖片作為材質(zhì)貼到點上。其中當點數(shù)據(jù)渲染時,在計算模型視圖位置點(通過坐標變換矩陣來計算)的時候,保持點Z軸不變,使得點Z軸會永遠朝上,這樣就節(jié)省了程序的運算時間,提高可視化效率。且本算法是通過在GPU上渲染的,比傳統(tǒng)的svg、canvas、flash渲染方法要快得多。

    1.2 算法流程

    本算法的技術流程如下圖1所示,主要包括以下步驟:

    (1)數(shù)據(jù)準備。在數(shù)據(jù)準備階段,主要包括獲取頂點數(shù)據(jù)坐標、確定坐標變換矩陣等。頂點坐標一般來自三維軟件導出,或者框架生成。由于頂點數(shù)據(jù)往往成千上萬,在獲取到頂點坐標后,通常會將它存儲在顯存,即緩存區(qū)內(nèi),方便GPU更快讀取。

    (2)定義頂點著色器。在定義頂點著色器階段,根據(jù)開發(fā)需要,由opengl es編寫,Javascript以字符串的形式定義并傳遞給GPU生成。一段頂點著色器程序的作用是根據(jù)在數(shù)據(jù)準備階段確定的坐標變換矩陣來完成坐標變化。因此將渲染算法的頂點著色器進行如下改進:

    (3)保持z軸不變。在點數(shù)據(jù)渲染上我們在計算模型視圖位置點的時候,其計算公式如下。并且我們渲染時保存點的z軸不變,這樣點的z軸會永遠朝上,這樣渲染效果最好。

    (4)圖元裝配。定義完頂點著色器之后,且計算模型視圖點時保持z軸不變則進行圖元裝配生成圖元。在圖元裝配階段,圖元裝配就是由頂點生成一個個圖元的過程。GPU根據(jù)頂點數(shù)量,挨個執(zhí)行頂點著色器程序,生成頂點最終的坐標,完成坐標轉(zhuǎn)換。

    (5)生成片元著色器。在生成片元著色器階段,由Canvas來繪制點數(shù)據(jù)的片元(圖片)。模型是什么顏色,看起來是什么質(zhì)地,光照效果,陰影等等都在這個階段處理。

    (6)片元光柵化。片元著色器對傳入頂點信息的圖元進行光柵化后生成片元,即是片元光柵化階段,由運行在GPU中的片元著色器完成模型的“上色”工作。通過片元著色器確定好了每個片元的顏色,并根據(jù)深度緩存區(qū)判斷哪些片元被擋住了而不需要渲染。最終將片元信息存儲到顏色緩存區(qū),完成整個模型的渲染。

    (7)寫入緩存區(qū)及可視化表達輸入。在最后的寫入緩存區(qū)階段,將渲染好的點數(shù)據(jù)信息存儲到顯存,即緩存區(qū)內(nèi),方便GPU更快讀取,然后再在前端可視化表達輸出。

    1.3 算法應用

    通過上述算法,可以得到如下圖2所示的可視化圖:

    參考文獻

    [1] 陳建軍,于志強,朱昀.數(shù)據(jù)可視化技術及其應用[J].紅外與激光工程,2001(5):339-342.

    [2] 王子毅,張春海.基于ECharts的數(shù)據(jù)可視化分析組件設計實現(xiàn)[J].微型機與應用,2016,35(14):46-48,51.

    猜你喜歡
    可視化算法
    自然資源可視化決策系統(tǒng)
    北京測繪(2022年6期)2022-08-01 09:19:06
    思維可視化
    師道·教研(2022年1期)2022-03-12 05:46:47
    基于Power BI的油田注水運行動態(tài)分析與可視化展示
    云南化工(2021年8期)2021-12-21 06:37:54
    自然資源可視化決策系統(tǒng)
    北京測繪(2021年7期)2021-07-28 07:01:18
    基于CGAL和OpenGL的海底地形三維可視化
    基于MapReduce的改進Eclat算法
    Travellng thg World Full—time for Rree
    “融評”:黨媒評論的可視化創(chuàng)新
    傳媒評論(2019年4期)2019-07-13 05:49:14
    進位加法的兩種算法
    算法初步兩點追蹤
    枣庄市| 慈利县| 辽源市| 禹州市| 澎湖县| 乡宁县| 汤阴县| 绥化市| 綦江县| 吴桥县| 北京市| 化隆| 湟中县| 钟山县| 象州县| 榆中县| 毕节市| 阿拉善盟| 丹凤县| 奈曼旗| 巴南区| 卢龙县| 兰西县| 岢岚县| 长宁区| 枣阳市| 温州市| 同仁县| 平潭县| 霍林郭勒市| 阳新县| 沙田区| 平原县| 静乐县| 察隅县| 墨脱县| 丹阳市| 海城市| 海伦市| 德庆县| 上蔡县|