整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML使用Canvas绘制动画时钟

么是Canvas

<canvas> 是HTML中的一个元素,它可被用来通过 JavaScript(Canvas API 或 WebGL API)绘制图形及图形动画。

Canvas API 提供了一个通过 JavaScriptHTML<canvas> 元素来绘制图形的方式。它可以用于动画、游戏画面、数据可视化、图片编辑以及实时视频处理等方面。

<canvas>标签本身没有绘图能力,它仅仅是图形的容器。在HTML,一般通过Javascript语言来完成实际的操作。

创建HTML页面并添加绘图容器

本文通过Javascript操作Canvas制作一个简单的显示当前时间的动画时钟,了解和学习简单的canvas用法,仅以抛砖引玉。

首先创建一个HTML文件,为了方便管理,使用一个div标签包裹两个canvas标签,并加上一些简单的css样式。

<!doctype html>
<html lang="zh-cn">
<head><title>Canvas绘制动画时钟</title>
<style>
html,body{margin:0;padding:0}
#clockWrap {
	position: relative;
}
canvas {
	position: absolute;
}
#clock-ui {
	z-index: 2;
}
#clock-plate {
	z-index: 1;
}
</style>
</head>
<body>
  <div id="clockWrap">
  <canvas id="clock-plate"></canvas>
  <canvas id="clock-ui"></canvas>
</div>
<script></script>
</body></html>

本示例中使用了两个canvas标签(为什么使用两个,一个不是更简单吗?),一个用于绘制钟面,一个根据当前时间实时显示和更新时针、分针和秒针的动态指向。好了,话不多说,开干。

绘制钟面刻度

一个简单的时钟,可以分为钟面上的刻度和指针。其中刻度和12个数字是固定的,我们可以将它们绘制在当作背景的canvas上(示例中id为clock-plate的canvas)。

(1)要使用canvas,首先必须通过容器获取渲染上下文:

var $=function(id){return document.querySelector(id);}//这个函数只是为了方便获取dom元素
const canvasbg=$("#clock-plate"),
      canvas=$("#clock-ui"),
      ctx = canvasbg.getContext("2d"),//背景容器上下文
      ctxUI = canvas.getContext("2d");//指针容器上下文,后面代码要用
//定义画布宽度和高度,时钟圆直径,并设置画布大小
const oW=1000,oH=800,cW=400,r=cW/2,oX=oW/2,oY=oH/2;
canvas.width=oW;
canvas.height=oH;
canvasbg.width=oW;
canvasbg.height=oH;

(2)画钟的边框,为了好看,这里画两个圈:

 //画出时钟外圆框
  ctx.lineWidth = 12;
	ctx.beginPath();
	ctx.arc(oX, oY, r+14, 0, 2 * Math.PI);
	ctx.stroke();
	ctx.closePath();
	ctx.lineWidth = 8;
	//画出时钟内圆框(刻度圈)
	ctx.beginPath();
	ctx.arc(oX, oY, r, 0, 2 * Math.PI);
	ctx.stroke();
	ctx.closePath();
	ctx.beginPath();

边框效果图

(3)绘制刻度线和数字,可以利用三角函数计算出每个刻度的坐标:

利用三角函数计算刻度线的坐标位置

钟面上有12个大格,从正上方12开始,它们的度数分别是270,300,330,0,30,60,90,120,150,180,210,240。然后利用JS的Math.sin和Math.cos分别计算出各大格的坐标。注意:js中Math.sin()和Math.cos()的参数不是角度数弧度。可以使用Math.PI/180*角度来转化,比如将30度转换成弧度=Math.PI/180*30

//绘制钟表中心点
	ctx.beginPath();
	ctx.arc(oX, oY, 8, 0, 2 * Math.PI);//圆心
	ctx.fill();
	ctx.closePath();
	//设置刻度线粗细度
	ctx.lineWidth = 3;
	//设置钟面12个数字的字体、大小和对齐方式
	ctx.font = "30px serif";
	ctx.textAlign="center";
	ctx.textBaseline="middle";
	var kdx,kdy;
	//绘制12个大刻度和12个数字
	//为方便计算,先定义了0-11这12个刻度对应的度数,也可以直接定义对应的弧度。
	const hd=Math.PI/180,degr=[270,300,330,0,30,60,90,120,150,180,210,240];
	for(var i=0;i<12;i++){
		kdx=oX+Math.cos(hd*degr[i])*(r-3);
		kdy=oY+Math.sin(hd*degr[i])*(r-3);
		ctx.beginPath();
		ctx.arc(kdx, kdy, 6, 0, 2 * Math.PI);//画圆形大刻度
		ctx.fill();
    //绘制刻度对应的数字
		ctx.strokeText(i==0? 12 : i,oX+Math.cos(hd*degr[i])*(r-24),oY+Math.sin(hd*degr[i])*(r-24));
		ctx.closePath();
	}
	
	//绘制小刻度
	ctx.lineWidth = 2;
	for(var i=0;i<60;i++){
		if(i % 5 == 0) continue;//跳过与刻度重叠的刻度
		x0=Math.cos(hd*i*6);
		y0=Math.sin(hd*i*6);
		ctx.beginPath();
		ctx.moveTo(oX+x0*(r-10), oY+y0*(r-10)); 
		ctx.lineTo(oX+x0*r, oY+y0*r); //画短刻度线
		ctx.stroke(); 
		ctx.closePath();
	}

效果如图:

钟面效果图

(4)根据当前时间绘制指针

习惯上,时针粗短,分针略粗而长,秒针细长。为加大区别,示例中秒针细长并且绘制成红色。

function drawHp(i){//绘制时针
	const x0=Math.cos(hd*i*30),y0=Math.sin(hd*i*30);
	drawPointer(oX,oY,oX+x0*(r-90),oY+y0*(r-90),10,"#000000");
}
function drawMp(i){//绘制分针
	const x0=Math.cos(hd*i*6),y0=Math.sin(hd*i*6);
	drawPointer(oX,oY,oX+x0*(r-60),oY+y0*(r-60),5,"#000000");
}
function drawSp(i){//绘制秒针
	const x0=Math.cos(hd*i*6),y0=Math.sin(hd*i*6);
	drawPointer(oX,oY,oX+x0*(r-20),oY+y0*(r-20),2,"#FF0000");
}
//抽取出绘制三种指针时共同的部分,注意指针绘制在渲染上下文ctxUI中
function drawPointer(ox,oy,tx,ty,width,color){
	ctxUI.strokeStyle = color;
	ctxUI.lineCap = "round";
	ctxUI.lineWidth = width;
	ctxUI.beginPath();
	ctxUI.moveTo(ox, oy);
	ctxUI.lineTo(tx,ty);
	ctxUI.stroke();
	ctxUI.closePath();
}

现在已经有了绘制三种指针的方法,参数是当前时间的时、分和秒,将根据它们的值确定指针的坐标。不过,因为使用的是默认的convas坐标体系,0值实际指向3的位置,需要小小的修正一下。

window.requestAnimationFrame(function fn(){
		var d = new Date();
		ctxUI.clearRect(0,0,oW,oH);
		//度数从0开始,而0在3刻度(15分/秒位置),修正为全值减15,如果小于0则修正回来
    var hour=d.getHours(),minute=d.getMinutes()-15,second=d.getSeconds()-15;
		hour=hour>11? hour-15 : hour-3;
		drawHp(hour>=0? hour : 12+hour);
		drawMp(minute>=0? minute : 60+minute);
		drawSp(second>=0? second : 60+second);
		window.requestAnimationFrame(fn);
});

接下来,调用window.requestAnimationFrame,在其中绘制并更新指标的位置。看看效果如何:

指针绘制情况与实际时间相符

貌似效果有了,截图时电脑上的时间是10时17分,指针绘制上,时针指向10时,分针指向17。嗯,感觉有点别扭?对了,时针和分针怎么是端端正正地指向它们的整时整分刻度上呢?实际钟表上时针和分针是展示动态进度的,此时时针应该越过10时的位置才对。没关系,我们在绘制时针和分针时别点东西,让它的角度值加上分针和秒针的值试试。

//修改后的绘制三种指针的方法
function drawHp(i,f,m){//绘制时针,参数:时,分,秒
	const x0=Math.cos(hd*(i+(f/60)+(m/600))*30),y0=Math.sin(hd*(i+(f/60)+(m/600))*30);
	drawPointer(oX,oY,oX+x0*(r-90),oY+y0*(r-90),10,"#000000");
}
function drawMp(i,f){//绘制分针,参数,分,秒
	const x0=Math.cos(hd*(i+(f/60))*6),y0=Math.sin(hd*(i+(f/60))*6);
	drawPointer(oX,oY,oX+x0*(r-60),oY+y0*(r-60),5,"#000000");
}
function drawSp(i){//绘制秒针
	const x0=Math.cos(hd*i*6),y0=Math.sin(hd*i*6);
	drawPointer(oX,oY,oX+x0*(r-20),oY+y0*(r-20),2,"#FF0000");
}

再来看看效果,嗯,立竿见影呀:

指针指向更合理了

到此为止,canvas绘制一个简易时钟就完成了。下面继续优化一下。刚才使用requestAnimationFrame方法即时更新绘制情况。这个方法与刷新率有关,看看mdn上面怎么说的:

window.requestAnimationFrame() 方法会告诉浏览器你希望执行一个动画。它要求浏览器在下一次重绘之前,调用用户提供的回调函数。

对回调函数的调用频率通常与显示器的刷新率相匹配。虽然 75hz、120hz 和 144hz 也被广泛使用,但是最常见的刷新率还是 60hz(每秒 60 个周期/帧)。为了提高性能和电池寿命,大多数浏览器都会暂停在后台选项卡或者隐藏的 <iframe> 中运行的 requestAnimationFrame()。

本示例中,更新指针的位置并不需要很高的刷新频率,可以通过节流进行一下优化:

var fps = 5, fpsInterval = 1000 / fps,lastTime = new Date().getTime(); //记录上次执行的时间
function runStep() {
    requestAnimationFrame(runStep);
    var d=new Date(),now = d.getTime()
    var elapsed = now - lastTime;
    if (elapsed > fpsInterval) {
				ctxUI.clearRect(0,0,oW,oH);
        lastTime = now - (elapsed % fpsInterval); 
			//度数从0开始,而0在3刻度(15分/秒位置),修正为全值-15,如果小于0则用60减回
        var hour=d.getHours(),minute=d.getMinutes()-15,second=d.getSeconds()-15;//console.log(d.getSeconds(),second);
        hour=hour>11? hour-15 : hour-3;
        drawHp(hour>=0? hour : 12+hour,minute+15,second+15);
        drawMp(minute>=0? minute : 60+minute,second+15);
        drawSp(second>=0? second : 60+second);
    }
}
runStep();

当然,实现时钟的方法是很多,比如可以使用画布的旋转(rotate方法)来实现指针的动态转动等等。

完整HTML+JS源码:

.less

* {
    margin: 0;
    padding: 0;
    &:hover #wrap {
        background: skyblue;
        color: beige;
    }
    #wrap {
        //absolute: 元素从块级元素-》转化为定位元素,可以自定义高宽(一旦浮动,则为浮动元素)
        position: absolute;
        width: 500px;
        height: 500px;
        background: salmon;
        border: 1px solid;
        border-radius: 50%;
        //居中
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        /**
                            这里的-50% =》 margin-left: -250px margin-top: -250px
         */
        transition: 2s;
        //阴影:box-shadow:x-px , y-px ,模糊程度?px #color 
        box-shadow: 2px 2px 5px #4682B4;
        //卡尺
        ul {
            //消默认li样式
            list-style: none;
            li {
                position: absolute;
                width: 6px;
                height: 30px;
                background: beige;
                //总宽度=500px,width=6px,left=247
                left: 247px;
                top: 0;
                //更新基点
                transform-origin: center 250px;
                //分钟height:每5帧+1,5n+1,原生css变量n
                &:nth-child(5n+1) {
                    height: 40px;
                }
            }
        }
        //rgb(255,255,255) 透明opacity--》rgba(255,255,255,0)
        .logo {
            position: absolute;
            width: 500px;
            height: 500px;
            font: 50px/500px "微软雅黑";
            text-align: center;
            top: 15%;
        }
        //时针
        .hour {
            position: absolute;
            //位置left=500-10=490/2=245
            left: 245px;
            //关联height=(500-100)/2=200
            top: 90px;
            width: 10px;
            height: 160px;
            background: steelblue;
            border: 1px solid white;
            transform-origin: center bottom;
        }
        //分针
        .minute {
            position: absolute;
            //位置left=(500-8)/2=246
            left: 246px;
            //关联height=(500-200)/2=150
            top: 70px;
            width: 8px;
            height: 180px;
            background: yellowgreen;
            border: 1px solid white;
            transform-origin: center bottom;
        }
        //秒针
        .second {
            position: absolute;
            //位置left=(500-6)/2=247
            left: 247px;
            //关联height=(500-200)/2=150
            top: 80px;
            width: 6px;
            height: 200px;
            background: red;
            border: 1px solid;
            box-shadow: 1px 1px 5px #000000;
            //transform-origin: center bottom;
            //height距离圆心30px,需要减去
            transform-origin: center 170px;
        }
        //钟座
        .center-top {
            position: absolute;
            //位置left=(500-50)/2=225
            left: 225px;
            //关联height=(500-50)/2=225
            top: 225px;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            background: salmon;
            //降级div
            z-index: -1;
        }
        .center-top2 {
            position: absolute;
            //位置:(500-30-2*2)/2=233
            left: 233px;
            top: 233px;
            width: 30px;
            height: 30px;
            border: 2px solid white;
            border-radius: 50%;
            background: beige;
        }
    }
}
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123

2.css

* {
  margin: 0;
  padding: 0;
}
*:hover #wrap {
  background: skyblue;
  color: beige;
}
* #wrap {
  position: absolute;
  width: 500px;
  height: 500px;
  background: salmon;
  border: 1px solid;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /**
                            这里的-50% =》 margin-left: -250px margin-top: -250px
         */
  transition: 2s;
  box-shadow: 2px 2px 5px #4682B4;
}
* #wrap ul {
  list-style: none;
}
* #wrap ul li {
  position: absolute;
  width: 6px;
  height: 30px;
  background: beige;
  left: 247px;
  top: 0;
  transform-origin: center 250px;
}
* #wrap ul li:nth-child(5n+1) {
  height: 40px;
}
* #wrap .logo {
  position: absolute;
  width: 500px;
  height: 500px;
  font: 50px/500px "微软雅黑";
  text-align: center;
  top: 15%;
}
* #wrap .hour {
  position: absolute;
  left: 245px;
  top: 90px;
  width: 10px;
  height: 160px;
  background: steelblue;
  border: 1px solid white;
  transform-origin: center bottom;
}
* #wrap .minute {
  position: absolute;
  left: 246px;
  top: 70px;
  width: 8px;
  height: 180px;
  background: yellowgreen;
  border: 1px solid white;
  transform-origin: center bottom;
}
* #wrap .second {
  position: absolute;
  left: 247px;
  top: 80px;
  width: 6px;
  height: 200px;
  background: red;
  border: 1px solid;
  box-shadow: 1px 1px 5px #000000;
  transform-origin: center 170px;
}
* #wrap .center-top {
  position: absolute;
  left: 225px;
  top: 225px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: salmon;
  z-index: -1;
}
* #wrap .center-top2 {
  position: absolute;
  left: 233px;
  top: 233px;
  width: 30px;
  height: 30px;
  border: 2px solid white;
  border-radius: 50%;
  background: beige;
}

3.js

window.onload=function(){
	var ulNode=document.querySelector("#wrap > ul");
	var liNode="";
	//创建元素-style样式css
	var liStyleNode=document.createElement("style");
	var liCss="";
	/**
	 * 循环添加li标签
	 * ul > li :nth-child(i+1){
	 * 	transform: rotate((i*6)deg);
	 * }
	 */
	for(var i=0;i<60;i++){
		liNode+="<li></li>";
		//指定li标签样式css
		liCss+="ul > li:nth-child("
		+(i+1)
		+"){transform:rotate("+(i*6)+"deg);}";
	}
	ulNode.innerHTML=liNode;
	liStyleNode.innerHTML+=liCss;
	//加入到document
	document.head.appendChild(liStyleNode);
	
	var hourNode=document.querySelector("#wrap > .hour");
	var minuteNode=document.querySelector("#wrap > .minute");
	var secondNode=document.querySelector("#wrap > .second");
	
	//计时器启动前,move执行时间变换
	move();
	//second-转动
	setInterval(move,1000);
	function move(){
		//获取内置date
		var date=new Date();
		//注意时间计算顺序,优先计算秒
		var second=date.getSeconds();
		var minute=date.getMinutes()+second/60;
		var hour=date.getHours()+minute/60;
		
		//秒:360/60=6
		secondNode.style.transform="rotate("+(6*second)+"deg)";
		//分钟:360/60=6
		minuteNode.style.transform="rotate("+(6*minute)+"deg)";
		//小时:360/12=30
		hourNode.style.transform="rotate("+(30*hour)+"deg)";
	}
}

4.html

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>时钟表clock</title>
	</head>

	<body>
		<div id="wrap">
			<div class="logo">cevent</div>
			<ul>
				<!--启用js脚本-->
				<!--<li></li>-->
			</ul>
			<div class="hour"></div>
			<div class="minute"></div>
			<div class="second"></div>
			<div class="center-top"></div>
			<div class="center-top2"></div>
		</div>

	</body>
	<link rel="stylesheet" href="css/less025-clock-module.css" />
	<script type="text/javascript" src="js/less025-clock-module.js"></script>

</html>
123456789101112131415161718192021222324252627

5.效果图

018版创意寒假作业清单(小学到高中最全方案)| 头条

2018-01-14 星宝 新校长传媒

寒假在即,你设计好假期作业了吗?

现在老师们对于作业越来越追求趣味化、多样化、个性化,并诞生了超多精彩的创意。

今天,我们准备了一份小学到高中的各学科作业清单,你可以挑选从中合适的内容,或者由此触发灵感,找到更多创意维度。希望这个寒假,孩子们可以边玩边成长。

小学篇

语文

1. 每天坚持为家人朗读10钟文章或者诗词等。

2. 参考老师提供的书单,也可以自己挑选课外书进行阅读,并作阅读记录。开学后请推荐一本喜欢的书。

3. 采访5名不同的人,记录整理他们的新年愿望,简要写出自己的采访感受。

4. 每日一拍,配以文字,记录寒假生活。

5. 与亲人一起观看春晚,尝试对节目进行评价。

6. 原创3条新年祝福短信,搜集不少于10副春联,并为家里手写一副春联。

7. 当一次小老师,召集不少于三个同伴,尝试上一节语文课,用照片和视频记录过程。

8. 收集假期发现的广告牌、电视、杂志、报纸、期刊等上面的错别字,指出错在哪里,正确的字该怎么写,并记录。

9. 尝试向喜欢的杂志投一次稿。

10. 用图文并茂的办法,以时间为序,编写家庭二十年编年史。每年记录一两件最值得纪念的大事。一句话,一段话均可。

11. 研究“年”“钱”“福”字的起源和演变。

数学

1. 设计一份2018年台历。

2. 和家人罗列年货清单,购买年货,计算开支,高年级尝试把数据做成合适的统计图。

3. 记录每一笔压岁钱的来源及金额,制作一个压岁钱使用方案。

4. 发现生活中的对称现象,拍照记录,并查找其对应的对称类别。

5. 和伙伴玩拍球游戏,根据游戏,设计一道乘法题和一道除法题并解答。

6. 用身边的物品,根据自己的想象做一个3D图形。

7. 用尺子测量房间物体的长度,并记录。

8. 阅读一本你喜欢的数学读本,开学分享你的收获。

9. 认识七巧板里的图形,并拼组自己喜欢的图案,把它们画在纸上,涂上好看的颜色。

10. 找一找生活中的“植树问题”,并尝试讲解。

英语

1. 设计个性字母卡。

2. 用英文制作自己的家庭介绍海报以及新年贺卡。

3. 下载“英语趣配音”APP,上传自己的英语配音作品。

4. 学唱一首“阳光、向上”的英文歌曲。

5. 用英语和画笔,将寒假去过的地方或读过的书展示出来。

6. 制作专属单词本(至少有3页,每页5个单词以上),从而了解英语字典的结构,理解所学词汇的含义。

7. 制作“Happy New Year”为主题的英语小报。

科学

1. 制作一份天气日历,记录寒假每天的天气情况。

2. 制作一个土电话,与家人、伙伴用土电话进行通话。(材料:纸杯、棉线、火柴)

3. 尝试做一做本学期做过的实验(至少两个),并做记录。

4. 亲手萌发一份绿豆芽,完成实验报告,并为父母炒一份豆芽菜,感谢他们辛劳的付出,记得拍照留念。

5. 发现身边的科学问题,进行收集整理,并试着解答。(5到10个)

6. 统计家里一天的垃圾情况,包括类别、重量、是否可回收等。

7. 把自己擅长而别人可能不了解的科学知识用小视频记录下来。

体育

1. 向长辈学一个他们小时候玩过的传统游戏,开学介绍给同学们,一起玩一玩。

2. 了解一个冬奥项目,认识我国在该项目上的知名运动员。

3. 选择自己最需要或最喜欢的运动项目,至少进行5次大运动项目锻炼。

音乐、美术

1. 演唱一首美好的歌曲祝福新年,拍成视频,晒在家校沟通群内。

2. 生肖是中华传统文化的一部分,以自己喜欢的艺术形式(绘画、剪纸等)表现“狗”。

3. 与父母合作,创意装饰家庭小空间。

4. 收集身边的废旧物品,发挥想象,做一件艺术品。

5. 按照“年”和“冬”两个主题,用巧手画下自己的寒假生活。

品德与生活

1. 总结2017年10件让自己引以为傲的事,并把它记录下来。

2. 学会一项家务技能和一项急救技能。

3. 挑战七天不上网,不玩手机。

4. 前往家长单位,体验“一日工作”。

5. 留心长辈怎么做客、待客,问一问长辈像你这么大的时候是怎么过年的,通过比较,记录你的体会、感悟。

6. 在春节期间向长辈、老师、同学打一个电话或发一条短信互表新年祝福。

7. 制作一张家庭楼层的消防逃生路线图。

8. 对春节浪费现象进行调查,并撰写调查报告。

9. 制订一份新年成长计划。

10. 可以用一周时间与本班同学交换家庭,自愿结成“家庭留学生”小组,与对方父母共同生活,一起吃饭、学习、游玩。

中学篇

语文

特别推荐温州市第二外国语学校高一语文备课组设计的作业:

温州,这座温暖的城市;江心屿,这座温暖的岛屿。自从一千多年前的一位“温州市长”(永嘉太守)谢灵运登上江心屿并赋诗后,历代文人墨客纷至沓来,为她写下了一千多首脍炙人口的诗篇,从而使她成为了天下无双的“诗之岛”。

这些诗篇不仅温暖了这座岛屿,也温暖了这座城市,更温暖了我们。今天,我们设计了以下这组有温度的题目,希望可以温暖你的这个寒假。

1. 做一名游客

与你的父母或朋友一起开启一段亲情或友情之旅,游览江心屿,并写一篇游记,字数700字以上。

【参考文章】

祝勇:《感受西湖》

http://www.yuwen888.com/Article/Class25/8363.html

梁衡:《九华山悟佛》

http://blog.sina.com.cn/s/blog_6a748c7101013mk6.html

2. 做一名骚客

熟读并背诵历代文人咏江心屿的诗词或对联至少3首(副)。选择其中一首或几首写一篇赏析文字,字数500字以上;也可以自己写一首咏江心屿的小诗,古体诗、现代诗不限,并解读一下你的创作背景与意图,300字以上。

【参考诗联】

  • 谢灵运《登江中孤屿》

  • 孟浩然 《永嘉上浦馆逢张八子容》

  • 张子容 泛永嘉江日暮回舟

  • 李白 《与周生》

  • 杜甫 《送裴虬尉永嘉》

  • 韩愈 《题谢公游孤屿》

  • 陆游 《同永嘉守宿江心寺》

  • 王十朋 《驾幸江心次僧宗觉韵》

  • 徐照 《江心寺》

  • 文天祥 《北归宿中川寺》

  • 王十朋 江心寺门联

  • 弘一法师 江心寺联......

【参考文章】

《谢灵运<登池上楼>鉴赏》

http://www.exam58.com/gkscmj/4230.html

《韩愈<左迁至蓝关示侄孙湘>赏析》

http://blog.sina.com.cn/s/blog_5d970a2e0100fe94.html

3. 做一名拍客

拍一张你自己满意的江心屿某景点的照片,并写一篇摄影散文,讲一讲照片背后的故事。字数600字以上。

【参考文章】

曹文轩《前方》(教材必修一)或http://www.douban.com/group/topic/42050271/?type=like

校刊《塔尖》拍客栏目文章。

4. 做一名导游

假如来自台湾的周杰伦或来自香港的邓紫棋到温州开个唱,他(她)很想游览江心屿,邀你做导游。请设置一下游览路线,并拟一篇导游词,要求文中至少包含他(她)的三句歌词。字数800字以上。

【参考文章】

《芙蓉村导游词》

http://blog.sina.com.cn/s/blog_67c710310101938z.html

5. 做一名好市民

据统计,2014年江心屿景区亏损200多万。因此,有人建议拆除一些古旧建筑,新增一些娱乐设施。假如温州市市长征求市民对江心屿的开发与保护的意见。你来写一封致市长的信,谈谈你的意见与建议。字数600字以上。

【参考文章】

《给市长的一封信》

http://www.tyfjddb.com/47335_geishichangdeyifengxin_zuowen_500/

梁思成《关于北京城墙的存废问题的讨论》(教材必修四)或:

http://www.douban.com/group/topic/13180524/?type=rec

6. 做一名评论员

鹿城区发改局召开听证会,预计今年开始将江心屿的门票价涨至30元或33元(2011年已由20元涨至25元)。同时,也有人建议应学习西湖景区对市民免费开放。作为一名游客,你对此有什么看法。写一则评论,字数500字以上。请将写好的文章发到gdshjzy6@126.com。

【参考文章】

东方网:《江心屿运营现亏损想涨门票来维持生计 引发大交锋》

http://roll.eastday.com/dfw/c4/2014/1224/1054627177.html

江山新闻网:《为江郎山门票不涨价叫好》

http://jsnews.zjol.com.cn/jsxww/system/2011/01/27/013199709.shtml

注意:以上六道题目只需做其中三道,题目二,必做;题目一和三,选做其一;题目四或五或六,选做其一。

数学

1. 春节流行微信抢红包,请了解新年网络红包的各项数据,并分析背后的意义。

2. 在出行高峰期任选一处红绿灯,分别测出行人和机动车等待绿灯的时间,观察、统计相应时间内行人数量和机动车数量。评估红绿灯设置的合理性,并形成报告。如不合理,请以书面报告的形式向交警部门提出改进建议。

3. 用学习过的几何体和身边的闲置物品,制作富有创造性的模型。

4. 观察生活中的立体实物,拍照并画出三视图。

5. 画出自家的房屋平面图,并根据自己的观察,为空间优化提出建议。

6. 选一部具有数学元素的经典影片观看,比如死亡密码、美丽心灵、心灵捕手、费马最后定理、笛卡儿。

7. 搜集1~2位数学家的有关资料,将其简介及主要事迹整理成1000字左右的文章。

8. 用思维导图梳理本学期知识框架。

9. 购买一个魔方,打乱各面顺序,利用立体几何知识,恢复原样。

10. 自己设计一份和数学有关的创意作业。

英语

1. 根据学过的教材内容,选一个单元,尝试编写具有自己特色的英语主题式分级阅读材料,形式自由。

2. 观看BBC《中国新年》三集纪录片,用思维导图简介其中的某一集。

3. 用四格(六格)漫画反映你的一个春节故事,每幅画面用英语句子对画面进行描述。

4. 搜集自己本学期的作文佳作,设计一本英语作文集。

5. 组队,完成一部英语微电影的配音。

6. 用英语介绍自己的家人,并拍摄视频。

7. 尝试翻译一篇文章。

8. 阅读至少一本你喜欢的英语原著。

9. 至少看一场英文原版电影。

10. 选取自己喜爱的英文歌曲一首,以新年、梦想、希望等为主题,用英文谱写歌词,演唱录制成小视频,并将曲子及歌词拍照。

历史

1. 了解亲戚之间的亲缘关系,用喜欢的形式绘制出家谱;

2. 观看《国家宝藏》综艺节目,为你最喜欢的国宝投票,并制作宣传海报。

3. 关于计划经济时代的“票证”调查。形式:采访某位长辈,收集“票证”。

4. 从老师推荐书目中任选一本阅读,就书中的某一个或几个自己感兴趣的问题,谈谈自己的见解和看法。

5. 观看一部文史纪录片,写一篇观后感。

6. 观看一部历史题材的影视剧,找出其中的重要史实或者历史谬误。

7. 利用周边的历史人文景点来一次深度行走,参观当地历史博物馆、档案馆,学习地方史志编撰。

地理

1. 到火车站了解铁路春运一天的客流量,随机调查3位旅客:目的地、票价,结合铁路干线图分析该旅客可能依次经过的铁路线名称。

2. 搜集中国南北方等地区的春节文化习俗,并分析说明与地理环境的关系。

3. 收集2017年世界各地的五件有趣的地理新闻,做成电子小报。

4. 绘制一幅以自己家所在地为中心的附近地区商业分布图;归纳不同类型商业分布的特征。

5. 利用假期外出观察、拍摄有特色的地貌,形成图文报告。在其中描述其特点并运用所学知识分析其成因。

6. 选取你家附近道路的一长期堵点,观察堵车的程度并分析造成堵车的原因,最好还能提出缓解该处堵车的措施,形成分析报告。

政治

1. 收集假期感兴趣的时政新闻并分类整理,制作一张报纸。

2. 挑选3个感兴趣的时政新闻,书写新闻标题,并尽可能从《经济生活》《政治生活》《文化生活》《生活与哲学》多角度进行评论。

3. 制作一份关于宪法的宣传海报。

4. 做一次关于自信与事业成功的调查分析,从而培养自己的自信心,克服自卑,做一个自信的人。

5. 请父母协助拿少量的压岁钱炒炒股,或者买基金、存银行,体会不同理财方式的运作流程。

6. 完成城市官网中的一项调查问卷,并从政府的角度思考为什么要设计这样的问卷。

物理

1. 研究春节中的物理现象,比如放鞭炮,从点火到爆炸,里面有哪些物理现象?车辆过桥的时候桥会震动,包含了什么物理现象。

2. 收集家里使用的用电器,统计出型号、电功率、含义。

3. 制作一个物理小发明。制作方法可以上网查。

4. 了解2017年国内外的与物理相关的重大项目,如航天、军事、核电能源等,开学分享你最感兴趣的一个项目。

5. 在古代的诗词中,往往蕴含着丰富的物理哲理,制作一个古诗物理荟萃,精妙的赏析配上唯美的插图,定当妙趣横生!

化学

1. 用你能想到的任何材料,制作一个你喜欢的分子等结构模型。

2. 用化学知识解释生活中的3个问题。

3. 玩《化学加油站》闯关游戏。

4. 调查家里的能源使用情况,给出优化建议。

5. 写一写与化学相关的故事、老师、课堂等;或用化学知识改编一首歌词或诗歌;或画一幅与化学相关的图画等。

6. 查阅资料做1-2个家庭小实验或自己的创新实验,并写出实验报告或录成视频。

7. 了解一项化学工业生产流程,比如食品加工、玻璃工艺、饮料加工,酒的酿造,醋的酿造等等与化学有关的相关内容。

生物

1. 假期出游时,请至少认识10种你过去所不认识的生物,并和它合影;查查生物的信息,整理成图文并貌的报告。

2. 观察或查阅资料,了解至少两种生物的生殖特点(过程),写出科普短文。

3. 做一份春节前后的自然笔记。

4. 结合所学知识,利用细胞呼吸原理,制作一瓶(坛)腐乳或泡菜,或将糯米(淀粉)发酵生成酒精,做成米酒。

5. 举办一次茶会,至少泡两款茶跟大家分享。

6. 观看《猩球崛起》《生化危机》《侏罗纪公园》《逃离克隆岛》《第六日》《Body Story》中的一部,找出影片里涉及的相关生物技术、操作步骤以及在工业、医学、科技等领域的应用。

音乐

1. 阅读一本关于某位中外音乐家的生平传记。

2. 组队用所学的音乐、物理等知识,尝试制作一个小型乐器,能够发出do、re、mi、fa、so、la、ti七个音阶。

3. 尝试利用一些音乐APP,自编一首曲子。

美术

1. 尝试为父母画一幅像

2. 为班级制作一份新学期海报

3. 观看世界首部油画电影《致爱梵高·星空之谜》,开学分享你的观感

体育

1. 每天看30分钟左右体育新闻或体育节目或体育比赛,了解一件与体育有关的事件,简单记录下来。

2. 选择一项喜欢的体育运动,并坚持锻炼15天以上。