国产久_亚欧精品一区_久久亚洲美女_99精品在线观看_日韩成人三级_久久精品久久久久

顯示源代碼
fireworks
 開發文檔
            <!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link  rel='stylesheet' />
    <script src='http://ua.bigemap.com:30081/bmsdk/bigemap-gl.js/v1.1.0/bigemap-gl.js'></script>

</head>
<style>
    * {
        margin: 0;
        padding: 0;
    }

    #container {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 100%;
    }
</style>

<body>
    <div id="container"></div>
    <div id="loadingOverlay">
        <h1>Loading...</h1>
    </div>
</body>
<script>

    bmgl.Config.HTTP_URL = 'http://ua.bigemap.com:30081/bmsdk/';
    var viewer = new bmgl.Viewer("container", {
        shouldAnimate: true,
        mapId: 'bigemap.dc-tian-w-satellite',
    });

    var scene = viewer.scene;
    bmgl.Math.setRandomNumberSeed(315);

    var modelMatrix = bmgl.Transforms.eastNorthUpToFixedFrame(
        bmgl.Cartesian3.fromDegrees(-75.59777, 40.03883)
    );
    var emitterInitialLocation = new bmgl.Cartesian3(0.0, 0.0, 100.0);

    var particleCanvas;

    function getImage() {
        if (!bmgl.defined(particleCanvas)) {
            particleCanvas = document.createElement("canvas");
            particleCanvas.width = 20;
            particleCanvas.height = 20;
            var context2D = particleCanvas.getContext("2d");
            context2D.beginPath();
            context2D.arc(8, 8, 8, 0, bmgl.Math.TWO_PI, true);
            context2D.closePath();
            context2D.fillStyle = "rgb(255, 255, 255)";
            context2D.fill();
        }
        return particleCanvas;
    }

    var minimumExplosionSize = 30.0;
    var maximumExplosionSize = 100.0;
    var particlePixelSize = new bmgl.Cartesian2(7.0, 7.0);
    var burstSize = 400.0;
    var lifetime = 10.0;
    var numberOfFireworks = 20.0;

    var emitterModelMatrixScratch = new bmgl.Matrix4();

    function createFirework(offset, color, bursts) {
        var position = bmgl.Cartesian3.add(
            emitterInitialLocation,
            offset,
            new bmgl.Cartesian3()
        );
        var emitterModelMatrix = bmgl.Matrix4.fromTranslation(
            position,
            emitterModelMatrixScratch
        );
        var particleToWorld = bmgl.Matrix4.multiply(
            modelMatrix,
            emitterModelMatrix,
            new bmgl.Matrix4()
        );
        var worldToParticle = bmgl.Matrix4.inverseTransformation(
            particleToWorld,
            particleToWorld
        );

        var size = bmgl.Math.randomBetween(
            minimumExplosionSize,
            maximumExplosionSize
        );
        var particlePositionScratch = new bmgl.Cartesian3();
        var force = function (particle) {
            var position = bmgl.Matrix4.multiplyByPoint(
                worldToParticle,
                particle.position,
                particlePositionScratch
            );
            if (bmgl.Cartesian3.magnitudeSquared(position) >= size * size) {
                bmgl.Cartesian3.clone(
                    bmgl.Cartesian3.ZERO,
                    particle.velocity
                );
            }
        };

        var normalSize =
            (size - minimumExplosionSize) /
            (maximumExplosionSize - minimumExplosionSize);
        var minLife = 0.3;
        var maxLife = 1.0;
        var life = normalSize * (maxLife - minLife) + minLife;

        scene.primitives.add(
            new bmgl.ParticleSystem({
                image: getImage(),
                startColor: color,
                endColor: color.withAlpha(0.0),
                particleLife: life,
                speed: 100.0,
                imageSize: particlePixelSize,
                emissionRate: 0,
                emitter: new bmgl.SphereEmitter(0.1),
                bursts: bursts,
                lifetime: lifetime,
                updateCallback: force,
                modelMatrix: modelMatrix,
                emitterModelMatrix: emitterModelMatrix,
            })
        );
    }

    var xMin = -100.0;
    var xMax = 100.0;
    var yMin = -80.0;
    var yMax = 100.0;
    var zMin = -50.0;
    var zMax = 50.0;

    var colorOptions = [
        {
            minimumRed: 0.75,
            green: 0.0,
            minimumBlue: 0.8,
            alpha: 1.0,
        },
        {
            red: 0.0,
            minimumGreen: 0.75,
            minimumBlue: 0.8,
            alpha: 1.0,
        },
        {
            red: 0.0,
            green: 0.0,
            minimumBlue: 0.8,
            alpha: 1.0,
        },
        {
            minimumRed: 0.75,
            minimumGreen: 0.75,
            blue: 0.0,
            alpha: 1.0,
        },
    ];

    for (var i = 0; i < numberOfFireworks; ++i) {
        var x = bmgl.Math.randomBetween(xMin, xMax);
        var y = bmgl.Math.randomBetween(yMin, yMax);
        var z = bmgl.Math.randomBetween(zMin, zMax);
        var offset = new bmgl.Cartesian3(x, y, z);
        var color = bmgl.Color.fromRandom(
            colorOptions[i % colorOptions.length]
        );

        var bursts = [];
        for (var j = 0; j < 3; ++j) {
            bursts.push(
                new bmgl.ParticleBurst({
                    time: bmgl.Math.nextRandomNumber() * lifetime,
                    minimum: burstSize,
                    maximum: burstSize,
                })
            );
        }

        createFirework(offset, color, bursts);
    }

    var camera = viewer.scene.camera;
    var cameraOffset = new bmgl.Cartesian3(-300.0, 0.0, 0.0);
    camera.lookAtTransform(modelMatrix, cameraOffset);
    camera.lookAtTransform(bmgl.Matrix4.IDENTITY);

    var toFireworks = bmgl.Cartesian3.subtract(
        emitterInitialLocation,
        cameraOffset,
        new bmgl.Cartesian3()
    );
    bmgl.Cartesian3.normalize(toFireworks, toFireworks);
    var angle =
        bmgl.Math.PI_OVER_TWO -
        Math.acos(
            bmgl.Cartesian3.dot(toFireworks, bmgl.Cartesian3.UNIT_Z)
        );
    camera.lookUp(angle);

</script>

</html>                                                                                                                                                                                            
国产久_亚欧精品一区_久久亚洲美女_99精品在线观看_日韩成人三级_久久精品久久久久
<code id="kseui"><acronym id="kseui"></acronym></code>
  • <abbr id="kseui"><tbody id="kseui"></tbody></abbr>
  • <button id="kseui"></button>
  • 国内外成人免费视频| 免费精品视频| 亚洲精品成人a8198a| 日本一区二区三区四区高清视频| 日韩av不卡在线播放| 一区二区三区四区视频在线| 日韩视频二区| 国产女主播一区二区| 婷婷五月色综合| 亚洲激情在线| 精品不卡在线| 精品成人在线| 粉嫩av免费一区二区三区| 欧美一区二区三区精美影视| 国产一区欧美| 丁香五月网久久综合| 亚洲a∨一区二区三区| 99热这里只有精品8| 久久久精品动漫| 激情婷婷久久| 蜜桃av久久久亚洲精品| 精品999网站| 免费精品视频一区| 亚洲精品在线视频观看| 久久96国产精品久久99软件| 亚洲精品1区2区| 欧美日本国产精品| 亚洲欧美不卡| 国产精品mm| 久久综合九九| 久久一区二区三区四区五区 | 日韩一级在线| 欧美大陆一区二区| 一区二区三区国产在线| 日韩一区二区三区高清| 444亚洲人体| 亚洲国产高清一区| 亚洲精品电影在线一区| 国外成人免费视频| 久久久久国产精品一区三寸 | 亚洲高清电影| 杨幂一区欧美专区| 狠狠色噜噜狠狠色综合久| 亚洲第一区色| 亚洲欧美一级二级三级| 精品综合在线| 国产精品成人观看视频免费| 亚洲欧洲一二三| 欧美大片一区| 日韩福利视频| 欧美午夜精品久久久久久蜜| 成人av中文| 母乳一区在线观看| 在线综合视频| 亚洲日本久久| 亚洲精品123区| 一区二区视频在线观看| 中文字幕av日韩精品| 日韩精品一区二区三区丰满| 精品一区二区久久久久久久网站| 蘑菇福利视频一区播放| 国产精品婷婷| 亚洲欧美精品| 老司机午夜精品视频在线观看| 亚洲人成网站在线观看播放| 欧美先锋影音| 永久久久久久| 99精品免费视频| 国产欧美日韩一区二区三区| 亚洲婷婷在线| 99riav1国产精品视频| 亚洲福利免费| 国产精品久久久久久久久久妞妞| 亚洲日韩成人| 欧美一区=区| 久久亚裔精品欧美| 国产手机精品在线| 欧美日韩综合网| 五月天亚洲综合小说网| 亚洲精品一区二区三区蜜桃久| 午夜精品美女久久久久av福利| 亚洲精品电影在线一区| 欧美 日韩 国产 一区| 国产精品国产亚洲精品看不卡15| 亚洲看片网站| 91九色偷拍| 欧美精品人人做人人爱视频| 亚洲欧美国产精品桃花| 国产精品激情电影| 亚洲欧美日本日韩| 黑人另类av| 在线视频一区观看| av成人黄色| 国产一区不卡在线观看| 日韩精品成人一区二区在线观看| 欧美在线播放一区二区| 日韩一区二区久久| 国产视频一区二区不卡| 婷婷久久五月天| 1024成人| 久久99精品久久久久久久久久 | 国产精品免费视频一区二区| 欧美日韩在线观看一区| 欧美日韩第一区| 美女精品一区| 亚洲国产另类久久久精品极度| 136国产福利精品导航网址| 久久一综合视频| 亚洲成人网上| 国产一区二区三区久久| 好吊色欧美一区二区三区四区| 亚洲不卡1区| 亚洲一区二区三区免费观看| 精品一区二区视频| 亚洲视频观看| 精品无人乱码一区二区三区的优势| 欧美一区在线看| 成人在线观看91| 欧美 日韩 国产在线| 99r国产精品视频| 欧美日韩视频| 久久精品人人做人人爽电影| 激情自拍一区| 日韩videos| 97伦理在线四区| 亚洲一二区在线| 高清日韩一区| 91久久黄色| 亚洲午夜精品福利| 国产精品免费一区二区三区四区| 国产一区观看| 欧美中日韩免费视频| 蘑菇福利视频一区播放| 欧美二区视频| 欧美一区二区三区电影在线观看| 亚洲在线成人| 欧美日韩国产成人精品| 欧美国产一区二区在线| 麻豆av福利av久久av| 欧美日韩精品不卡| 天天综合色天天综合色hd| 国产精品久久亚洲7777| 一区二区三区久久网| 国产精品国产精品| 亚洲国产另类久久久精品极度| 国产精品综合久久久久久| 亚洲一区三区电影在线观看| 欧美日韩高清在线一区| 偷拍视频一区二区| 欧美日韩国产高清视频| 国产精品一区在线观看| 99在线视频播放| 午夜综合激情| 99精品欧美一区二区三区| 国产在线成人| 中文字幕一区二区三区最新| 亚洲精品免费在线看| 欧美日韩精品免费观看| 精品不卡在线| 久久久综合亚洲91久久98| 国产精品高清一区二区三区| 久久久久一区二区三区| 麻豆成人小视频| 男人的天堂成人在线| 麻豆av福利av久久av| 久久精品99| 2022国产精品| 狠狠色噜噜狠狠色综合久| 国产一区免费在线| 国产亚洲欧美另类一区二区三区| 91嫩草在线| 国产精品一区视频网站| 精品国产乱码久久久久久108| 国产精品一区二区你懂得| 粉嫩高清一区二区三区精品视频| 波多野结衣精品久久| 久久只有精品| 久久精品女人的天堂av| 日韩欧美一区二区三区四区 | 狂野欧美性猛交xxxx巴西| 久久精品国产综合精品| 99热99热| 欧美在线一区二区三区四区| 手机在线观看国产精品| 中文字幕中文字幕在线中一区高清| 欧美婷婷久久| 国产亚洲精品v| 国产精品初高中精品久久| 痴汉一区二区三区| 欧美一区免费视频| 午夜电影亚洲| 亚洲免费综合| 久久久亚洲综合网站| 欧美在线91| 亚洲一区影院| 欧美日韩一区二区三区免费| 欧美日韩成人一区二区三区| 国产精品一级| 久久久久久久久久码影片| 欧美一区二区三区四区夜夜大片|