在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ 如何用echarts-gl或者threejs繪制三維天線增益效果圖

如何用echarts-gl或者threejs繪制三維天線增益效果圖

需求描述

最近遇到個(gè)需求,要求在web上繪制無線基站上天線的3D增益效果圖(天線輻射方向圖),繪制完成后的大致效果如下:

clipboard.png

數(shù)據(jù)來源是兩組極坐標(biāo)數(shù)據(jù),格式如下:(角度,增益值),角度范圍:0-359,每個(gè)角度上都有一個(gè)增益值,兩組數(shù)據(jù)分別為水平方向的增益和垂直方向的增益,現(xiàn)在要根據(jù)這兩組數(shù)據(jù),這兩組數(shù)據(jù)是后端返給前端的,前端要用這些數(shù)據(jù)動態(tài)的把3d增益效果圖繪制出來。

數(shù)據(jù)來源:

clipboard.png

這個(gè)是水平方向的增益圖投影,生成這個(gè)投影的數(shù)據(jù)就是一個(gè)角度對應(yīng)一個(gè)增益。
clipboard.png

這個(gè)是垂直方向的增益圖投影。

目前的探索

我了解了下web端的3d繪圖技術(shù),發(fā)現(xiàn)echarts-gl可以繪制曲面圖,但是它目前支持的是用曲面參數(shù)方程的方式來配置繪制一些規(guī)則的曲面,比如:波浪曲面球面,復(fù)雜的零件,但仍是有規(guī)則的曲面,而我的數(shù)據(jù)源是兩個(gè)極坐標(biāo)下的坐標(biāo)集合,轉(zhuǎn)換為三維坐標(biāo)(在球坐標(biāo)系下轉(zhuǎn)換)后,坐標(biāo)是沒有規(guī)律的,因?yàn)槊總€(gè)點(diǎn)的球半徑不同。

求助

我該如何處理我的數(shù)據(jù)從而使得echarts-gl能夠用這些數(shù)據(jù)將曲面繪制出來,或者有沒有其他的解決方案,比如threejs可以將圖形繪制出來,麻煩對echarts-gl、threejs、webgl比較熟悉的朋友給指點(diǎn)下。

回答
編輯回答
孤毒

threejs可以將二維平面沿z軸拉伸為三維幾何體,不知道這一點(diǎn)對題主來說是否有用

2018年5月13日 15:43
編輯回答
局外人

咳咳,自己來回答下吧。最終我還是采用echarts-gl繪制出來了,不過單靠它是繪制不出來的,需要給它提供一個(gè)“插值函數(shù)”,基本思路如下:
提供一個(gè)插值函數(shù) l = f(h, v, hgain, vgain)(h為點(diǎn)經(jīng)過z軸與x-z曲面的夾角,v為點(diǎn)經(jīng)過z軸與z軸正方向的夾角, hgain為已知的一個(gè)水平切面增益數(shù)組,vgain為已知的一個(gè)垂直切面增益數(shù)組)
該函數(shù)可以計(jì)算出天線曲面上的所有點(diǎn)的增益(球半徑),這樣就知道了該點(diǎn)在空間中的笛卡爾坐標(biāo)
x = l sin(v) cos(h)
y = l sin(v) sin(h)
z = l cos(v)
然后再利用echarts-gl提供的參數(shù)方程繪制曲面的方法來繪制3d天線曲面。
這個(gè)插值函數(shù)很關(guān)鍵,但我這里由于商業(yè)保密原因不方便提供出來,貼幾個(gè)繪制出來的圖吧:

圖片描述
圖片描述

2017年8月17日 13:41