顯示源代碼
                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-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>                                                                                                                                                                                            
                主站蜘蛛池模板: 国产三级全黄在线观看| 妇女bbbb插插插视频| 亚洲电影唐人社一区二区| 西西人体免费视频| 国产精品美女视视频专区| 与子乱勾搭对白在线观看| 最近免费中文字幕大全高清片| 免费一级特黄视频| 茄子视频国产在线观看| 国产精品久久久久9999| a级黄色片网站| 无码av专区丝袜专区| 亚洲一级毛片中文字幕| 狼群视频在线观看www| 国产一区二区高清| 欧美日韩第一区| 国内自产少妇自拍区免费| 三级黄色片免费看| 日韩精品免费一区二区三区| 亚洲男女内射在线播放| 精品国产18久久久久久| 国产亚洲美女精品久久久2020| 天堂va在线高清一区| 大象视频在线免费观看| 中国女人一级毛片| 日本影片和韩国影片网站推荐| 亚洲人成人77777网站| 特级毛片a级毛片在线播放www| 喝乖女的奶水h1v| 高清不卡毛片免费观看| 国产精品久久久久影院免费| 99爱在线视频| 少妇大叫太大太爽受不了| 久久久久久久久亚洲| 明星造梦一区二区| 亚洲成a人片在线不卡| 男人桶进女人p无遮挡小频| 四虎免费久久影院| 青草视频网站在线观看| 国产日韩AV免费无码一区二区 | 日本免费a视频|