正剧开始:
星历2016年01月02日 10:28:43, 银河系厄尔斯星球中华帝国江南行省。
[工程师阿伟]正在和[机器小伟]一起研究[人叫板老师]传授的功法,今天研究的是[角的初
步认识]。
有些什么角呢,小伟看到:
10:30:25, 阿伟给小伟做了一幅三角板,让小伟能够轻松的修炼。
<span style="font-size:18px;">/** * @usage 三角板 * @author mw * @date 2016年01月02日 星期六 09:02:38 * @param * @return * */ /* 三角板 triangle ;set square; */ function Triangle() { this.R = 100; this.init = function(r) { this.R = r; } this.angle30 = function(xOffset, yOffset, rotate) { var edge30 = -this.R * Math.tan(Math.PI/6); var edge60 = this.R; var offset = this.R * 0.12; var edge30_2 = -((this.R-offset) * Math.tan(Math.PI/6)-offset*(1/Math.cos(Math.PI/6)+1)); var edge60_2 = (this.R-offset)-offset*(1/Math.tan(Math.PI/6)+1/Math.sin(Math.PI/6)); //以直角点为坐标原点, 60度角所对边为x轴,30度角所对边为y轴 plot.save() .setLineWidth(5) .setStrokeStyle('blue'); plot.translate(xOffset, -yOffset) .rotate(-rotate); plot.beginPath() .moveTo(0, 0) .lineTo(edge60, 0) .lineTo(0, edge30) .closePath() .stroke(); plot.beginPath() .moveTo(offset, -offset) .lineTo(offset + edge60_2, -offset) .lineTo(offset, -offset + edge30_2) .closePath() .stroke(); plot.restore(); } this.angle60 = function(xOffset, yOffset, rotate) { var edge30 = this.R * Math.tan(Math.PI/6); var edge60 = -this.R; var offset = this.R * 0.12; var edge30_2 = (this.R-offset) * Math.tan(Math.PI/6)-offset*(1/Math.cos(Math.PI/6)+1); var edge60_2 = -((this.R-offset)-offset*(1/Math.tan(Math.PI/6)+1/Math.sin(Math.PI/6))); //以直角点为坐标原点, 60度角所对边为x轴,30度角所对边为y轴 plot.save() .setLineWidth(5) .setStrokeStyle('green'); plot.translate(xOffset, -yOffset) .rotate(-rotate); plot.beginPath() .moveTo(0, 0) .lineTo(edge30, 0) .lineTo(0, edge60) .closePath() .stroke(); plot.beginPath() .moveTo(offset, -offset) .lineTo(offset + edge30_2, -offset) .lineTo(offset, -offset + edge60_2) .closePath() .stroke(); plot.restore(); } this.angle45 = function(xOffset, yOffset, rotate) { var edge45 = this.R * Math.sin(Math.PI/4); var offset = this.R * 0.1; //以直角点为坐标原点, 45度角所对边为x轴和y轴 plot.save() .setLineWidth(5) .setStrokeStyle('red'); plot.translate(xOffset, -yOffset) .rotate(-rotate); plot.beginPath() .moveTo(0, 0) .lineTo(edge45, 0) .lineTo(0, -edge45) .closePath() .stroke(); plot.beginPath() .arc(edge45*0.42, -edge45 *0.42, edge45*0.3, Math.PI/4, Math.PI/4+Math.PI) .closePath() .stroke(); plot.restore(); } } function myDraw() { plot.init(); setPreference(); setSector(1,1,1,1); axis(0, 0, 180); var tri = new Triangle(); tri.init(160); tri.angle30(0, 0, Math.PI); tri.angle60(0, 0); tri.angle45(0, 0, -Math.PI/2 ); }</span>
10:32:59, 小伟可以用三角板来拼出一些角度
<span style="font-size:18px;">//15度 function myDraw() { plot.init(); setPreference(); plot.fillText('这个角是15度。', 30, 50, 100); setSector(1,1,1,1); axis(0, 0, 180); var r = 160; var tri = new Triangle(); tri.init(r); tri.angle30(0, r*(0.707-1/1.732),0); tri.angle45(0,0, 0); } </span>
<span style="font-size:18px;">//60度 function myDraw() { plot.init(); setPreference(); plot.fillText('这个角是60度。', 30, 50, 100); setSector(1,1,1,1); axis(0, 0, 180); var r = 160; var tri = new Triangle(); tri.init(r); tri.angle60(0, 0,0); tri.angle30(0,0, Math.PI/2); }</span>
<span style="font-size:18px;">//75度 function myDraw() { plot.init(); setPreference(); plot.fillText('这个角是75度。', 30, 50, 100); setSector(1,1,1,1); axis(0, 0, 180); var r = 160; var tri = new Triangle(); tri.init(r); tri.angle60(0, -r * (1-0.707),0); tri.angle45(0,0, Math.PI/2); }</span>
<span style="font-size:18px;">//105度 function myDraw() { plot.init(); setPreference(); plot.fillText('这个角是105度。', 30, 50, 100); setSector(1,1,1,1); axis(0, 0, 180); var r = 160; var tri = new Triangle(); tri.init(r); tri.angle30(0, r*(0.707-1/1.732),0); tri.angle45(0,0, Math.PI/2); }</span>
<span style="font-size:18px;">//120度 function myDraw() { plot.init(); setPreference(); plot.fillText('这个角是120度。', 30, 50, 100); setSector(1,1,1,1); axis(0, 0, 180); var r = 160; var tri = new Triangle(); tri.init(r); tri.angle60(0, 0,Math.PI/2); tri.angle30(0,0,0 ); }</span>
<span style="font-size:18px;">//165度 function myDraw() { plot.init(); setPreference(); plot.fillText('这个角是165度。', 30, 50, 100); setSector(1,1,1,1); axis(0, 0, 180); var r = 160; var tri = new Triangle(); tri.init(r); tri.angle60(0, -r/1.732,Math.PI/2); tri.angle30(0,-r/1.732,0 ); tri.angle45(r*0.707*1.732/2,-r*0.707/2,Math.PI/3); }</span>
还有180度
画了这么多角度,小伟觉得已经完全掌握了这段功法。
本节到此结束,欲知后事如何,请看下回分解。