SuperMap iClient3D for WebGL擴展開發(fā)教程——雷達(dá)掃描效果

最近有同事反饋有模擬雷達(dá)掃描效果的需求蚌卤,需要表達(dá)雷達(dá)掃描的半徑末早、掃描范圍以及掃描過程動畫啊片,下面將通過使用Cesium原生的橢球體對象來實現(xiàn)赎婚。

1、模擬掃描波瓣

雷達(dá)掃描的形狀類似一個帶有厚度的扇形樱溉,這里剛好可以用球體對象來實現(xiàn)挣输,通過指定球體半徑來模擬掃描半徑,通過設(shè)置橢球的clock屬性來模擬掃描的寬度范圍福贞,通過設(shè)置Cone屬性來表達(dá)掃描的高度范圍撩嚼。


橢球體.png
ellipsoid: {
    radii: new Cesium.Cartesian3(50000.0, 50000.0, 50000.0),
    innerRadii: new Cesium.Cartesian3(0.1, 0.1, 0.1),
    minimumClock: Cesium.Math.toRadians(0.0),
    maximumClock: Cesium.Math.toRadians(20.0),
    minimumCone: Cesium.Math.toRadians(45.0),
    maximumCone: Cesium.Math.toRadians(90.0),
    material: Cesium.Color.DARKCYAN.withAlpha(0.3),
    outline: false
}

2、掃描動畫

下面利用Cesium的CallbackProperty來制作動畫挖帘,這里就不再贅述绢馍,如果有不理解的地方,可以翻看往期教程肠套。

let start = 0
let aa = viewer.entities.add({
    name: 'Wedge',
    position: Cesium.Cartesian3.fromDegrees(-102.0, 35.0, 0.0),
    orientation: new Cesium.CallbackProperty(function() {
        start += 1
        let roll = Cesium.Math.toRadians(start)
        Cesium.Math.zeroToTwoPi(roll)
        return Cesium.Transforms.headingPitchRollQuaternion(
            Cesium.Cartesian3.fromDegrees(-102.0, 35.0, 0.0),
            new Cesium.HeadingPitchRoll(roll, 0, 0.0)
        )
    }, false),
    ellipsoid: {
        radii: new Cesium.Cartesian3(50000.0, 50000.0, 50000.0),
        innerRadii: new Cesium.Cartesian3(0.1, 0.1, 0.1),
        minimumClock: Cesium.Math.toRadians(0.0),
        maximumClock: Cesium.Math.toRadians(20.0),
        minimumCone: Cesium.Math.toRadians(45.0),
        maximumCone: Cesium.Math.toRadians(90.0),
        material: Cesium.Color.DARKCYAN.withAlpha(0.3),
        outline: false
    },
});
雷達(dá)掃描.gif

為了更好的使用,也對其進(jìn)行了封裝猖任,封裝之后的代碼如下

class radarellipsoid {
    constructor(position, color,radii,clockangle,startCone,endCone) {
        let start = 0
        this.entity =new Cesium.Entity({
            position: position,
            orientation: new Cesium.CallbackProperty(function () {
                start += 1
                let roll = Cesium.Math.toRadians(start)
                Cesium.Math.zeroToTwoPi(roll)
                return Cesium.Transforms.headingPitchRollQuaternion(
                    position,
                    new Cesium.HeadingPitchRoll(roll, Cesium.Math.toRadians(10),Cesium.Math.toRadians(6))
                )
            }, false),
            ellipsoid: {
                radii: new Cesium.Cartesian3(radii, radii, radii),
                innerRadii: new Cesium.Cartesian3(0.1, 0.1, 0.1),
                minimumClock: Cesium.Math.toRadians(0.0),
                maximumClock: Cesium.Math.toRadians(clockangle),
                minimumCone: Cesium.Math.toRadians(startCone),
                maximumCone: Cesium.Math.toRadians(endCone),
                material: color,
                outline: true
            },
        });
    }
}
export default radarellipsoid
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末你稚,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子朱躺,更是在濱河造成了極大的恐慌刁赖,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件长搀,死亡現(xiàn)場離奇詭異宇弛,居然都是意外死亡,警方通過查閱死者的電腦和手機源请,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門枪芒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谁尸,你說我怎么就攤上這事舅踪。” “怎么了良蛮?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵抽碌,是天一觀的道長。 經(jīng)常有香客問我决瞳,道長货徙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任皮胡,我火速辦了婚禮痴颊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘胸囱。我一直安慰自己祷舀,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著裳扯,像睡著了一般抛丽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饰豺,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天亿鲜,我揣著相機與錄音,去河邊找鬼冤吨。 笑死蒿柳,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的漩蟆。 我是一名探鬼主播垒探,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼怠李!你這毒婦竟也來了圾叼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤捺癞,失蹤者是張志新(化名)和其女友劉穎夷蚊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體髓介,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡惕鼓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了唐础。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片箱歧。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖一膨,靈堂內(nèi)的尸體忽然破棺而出叫胁,到底是詐尸還是另有隱情,我是刑警寧澤汞幢,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布驼鹅,位于F島的核電站,受9級特大地震影響森篷,放射性物質(zhì)發(fā)生泄漏输钩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一仲智、第九天 我趴在偏房一處隱蔽的房頂上張望买乃。 院中可真熱鬧,春花似錦钓辆、人聲如沸剪验。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽功戚。三九已至娶眷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間啸臀,已是汗流浹背届宠。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留乘粒,地道東北人豌注。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像灯萍,于是被迫代替她去往敵國和親轧铁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,086評論 2 355