北极的夜空

<!DOCTYPE html>
<html>
    <head>
        <style type="text/css">
            body { width: 100%; height: 100% }
        </style>
        <script type="text/javascript">
            function aurora(){
                var canvas = document.getElementById( "sky" );
                var context = canvas.getContext( "2d" );
                canvas.style.width = "100%";
                canvas.style.height = "100%";
                canvas.width = canvas.offsetWidth;
                canvas.height = canvas.offsetHeight;
                function ClassLight(){
                    this.position = { 'x': Math.random() * canvas.width,
                        'y': Math.random() * canvas.height };
                    this.speed = 2;
                    this.angle = Math.random() * 360;
                    this.size = 0;
                    var r = Math.round( Math.random() * 255 );
                    var g = Math.round( Math.random() * 255 );
                    var b = Math.round( Math.random() * 255 );
                    var a = Math.random() * 0.2;
                    this.rgba = "rgba("+ r +", "+ g +","+ b +", " + a + ")";
                }

                var lights = [];
                for( var i = 1; i <= 70; ++i ){
                    lights.push( new ClassLight() );
                }
                function drawLight(){
                    context.globalCompositeOperation = "source-over";
                    context.fillStyle = "rgba(1, 1, 1, 0.05)";
                    context.fillRect( 0, 0, canvas.width, canvas.height );
                    context.globalCompositeOperation = "lighter";
                    for( var i = 0; i < lights.length; ++i ){
                        var light = lights[i];
                        context.fillStyle = "white";
                        context.fillRect( light.position.x, light.position.y,
                                light.size, light.size );

                        for( var j = 0; j < lights.length; ++j ){
                            var light1 = lights[j];
                            var dx = light1.position.x - light.position.x;
                            var dy = light1.position.y - light.position.y;
                            var dist = Math.sqrt( dx * dx + dy * dy );
                            if( dist < 300 ){
                                context.beginPath();
                                context.moveTo( light1.position.x, light1.position.y );
                                context.lineTo( light.position.x, light.position.y );
                                context.strokeStyle = light1.rgba;
                                context.stroke();
                                context.closePath();
                            }
                        }

                        light.position.x += Math.cos( light.angle * Math.PI / 180 ) * light.speed;
                        light.position.y += Math.sin( light.angle * Math.PI / 180 ) * light.speed;

                        if( light.position.x < 0 ) light.position.x = canvas.width + 50;
                        if( light.position.x > canvas.width + 50 ) light.position.x = 0;
                        if( light.position.y < 0 ) light.position.y = canvas.height + 50;
                        if( light.position.y > canvas.height + 50 ) light.position.y = 0;
                    }
                }
                setInterval( drawLight, 3 );
            }
        </script>
    </head>

    <body onload="aurora()">
        <canvas id="sky"></canvas>
    </body>
</html>

参考效果图:http://codepen.io/amIwho/pen/pKHrs

北极的夜空

时间: 2024-08-30 08:12:58

北极的夜空的相关文章

伙伴们休息啦canvas绘图夜空小屋

HTML5 canvas绘图夜空小屋 伙伴们园友们,夜深了,休息啦,好人好梦... 查看效果:http://hovertree.com/texiao/html5/28/ 效果图如下: 代码如下: 1 <!doctype html> 2 <html> 3 <head><meta name="viewport" content="width=device-width, initial-scale=1" /> 4 <t

技术随笔八——仰望夜空 仰望Git

所有友好的伙伴们: 大家好! 心灵的生活就像流水,有的时候湍急,有的时候平缓.无论湍急还是平缓,我们都是快乐地奔向远方. 我先要赞美vmware虚拟化技术,他给我们的生活增添了几分迷离.几分梦幻.虚拟机是想象力的杰作.虚拟机是创造力的丰碑. 我要把我一路的影像,一路的汗水,一路的欢欣都描画出来. 看吧,我们一切的操作都饱含逻辑的期待, 听吧,我们软件一切的声音都是远方的回响. 看吧,所有的截图都是生活的剪影,所有的过程都是心灵的守望: 珍惜吧一切默认的设置,一切常规的印记, 探索吧那些没有走过的

[音乐欣赏]夜空中最亮的星,张杰,苏阳,新闻晚高峰结束曲

夜空中最亮的星,张杰 夜空中最亮的星 能否听清 那仰望的人 心底的孤独和叹息 夜空中最亮的星 能否记起 曾与我同行 消失在风里的身影 我祈祷拥有一颗透明的心灵 和会流泪的眼睛 给我再去相信的勇气 越过谎言去拥抱你 每当我找不到存在的意义 每当我迷失在黑夜里 夜空中最亮的星 请指引我前行 夜空中最亮的星 是否知道 曾与我同行的身影 如今在哪里 夜空中最亮的星 是否在意 是等太阳升起 还是意外先来临 我宁愿所有痛苦都留在心里 也不愿忘记你的眼睛 给我再去相信的勇气 越过谎言去拥抱你 每当我找不到存在

BNUOJ34977夜空中最亮的星(数学,向量的应用)

夜空中最亮的星 Time Limit: 2000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class name: Main Prev Submit Status Statistics Discuss Next Font Size:  +   - Type:   None Graph Theory      2-SAT     Articulation/Bridge/Biconnected Component

企鹅为什么生活在北极?

因为企鹅出生在北极呀!!!所以就生活在北极喽..... 迷你BIBI衣橱  婴幼儿服装  童装   冬季上新货喽

野狼伴我劳作,满天星斗的夜空

记得,在1968年11月7日,作为<五七干校>的第一批先遣队员,我们来到北大荒小新安岭的南麓,面对乌鱼尔(日语)河畔.到处是一望无际的黑土地,荒无人烟. 我离开北京时候,身边带上了一个温度计(室内专用),结果无法使用,因为,温度计的指示刻度太高,无法反应室外的寒冷天气.那时光,我们只能住在绵帐蓬里面,牙膏冻成了冰棍,挤不出里面的牙膏.没有电灯光的夜晚,满天星斗,心旷神怡. 次年开春,因为那里的无霜期只有一百天(三个月),必须抢时间,按照当地农时耕地.播种,田间管理,收获粮食,......周围的

HTML5夜空烟花绽放动画效果

模板描述:HTML5夜空烟花绽放动画效果基于HTML5 canvas制作,模拟夜空烟花绽放动画效果,烟花会在夜空打出贺词,有新年快乐.合家幸福.万事如意.心想事成.财源广进等,文字可以自定义,做成各种祝福网页. 找网站SEO教程,网站模板,以及想要建立个人博客的朋友来涂志海个人博客网,这里有你想要的一切(万一没有的,请联系涂志海,再解决,嘿嘿) 下 载 演示地址 下载说明: 1.解压密码:tuzhihai.com 2.只有部分模板会提供多页面下载,未加说明都是只有一个首页index.html模板

夜空中最亮的星

夜空中最亮的星 能否听清 那仰望的人 心底的孤独和担心 夜空中最亮的星 能否记起 曾与我同行 消失在风里的身影 我祈祷拥有一颗透明的心灵 和会流泪的眼睛 给我再去相信的勇气 越过谎言去拥抱你 每当我找不到存在的意义 每当我迷失在黑夜里 夜空中最亮的星 请指引我靠近你   夜空中最亮的星 是否知道 曾与我同行的身影如今在哪里 夜空中最亮的星 是否在意 是等太阳升起还是意外先来临 我宁愿所有痛苦都留在心里 也不愿忘记你的眼睛 给我再去相信的勇气 越过谎言去拥抱你 每当我找不到存在的意义 每当我迷失在

(私人收藏)蓝色夜空背景的通用商务PPT模板

蓝色夜空背景的通用商务PPT模板 https://pan.baidu.com/s/1tsmPEdE5gjDDSxIyMDJGCA0m28 原文地址:https://www.cnblogs.com/Nathan-Young/p/11029621.html