[从头学数学] 第58节 角的度量
2016-01-23 12:09
281 查看
剧情提要:
[机器小伟]在[工程师阿伟]的陪同下进入练气期第七层功法的修炼,
这次要修炼的目标是[角的度量]。
正剧开始:
星历2016年01月23日 12:03:08, 银河系厄尔斯星球中华帝国江南行省。
[工程师阿伟]正在和[机器小伟]一起学习角度。
既然[人叫板老师]给出了题解器的设计图纸,小伟当然就会拥有它:
可以看出,这个角是30度。
现在,小伟已经知道了各种角,还学会了画角和量角,进步真大。
本节到此结束,欲知后事如何,请看下回分解。
[机器小伟]在[工程师阿伟]的陪同下进入练气期第七层功法的修炼,
这次要修炼的目标是[角的度量]。
正剧开始:
星历2016年01月23日 12:03:08, 银河系厄尔斯星球中华帝国江南行省。
[工程师阿伟]正在和[机器小伟]一起学习角度。
既然[人叫板老师]给出了题解器的设计图纸,小伟当然就会拥有它:
<span style="font-size:18px;"> /** * @usage * @author mw * @date 2016年01月23日 星期六 11:00:30 * @param * @return * */ //Protractor 量角器 this.protractor = function(xOffset, yOffset, r, rotate, showText) { r = r ? r : 100; plot.save() .setFillStyle('red') .translate(xOffset, yOffset) .rotate(rotate); //r0 是刻度线内圆上的点,r是外圆上的点 var r0 = 0.2 * r; var angle, sin1, cos1, sin2, cos2; plot.setTextAlign('center'); for (var i = 0; i < 180; i+=5) { angle = -Math.PI/180 * i; if ( i % 90 == 0) { plot.setLineWidth(4) .setStrokeStyle('red'); r0 = 0.1 * r; } else if (i % 15 == 0) { plot.setLineWidth(2) .setStrokeStyle('CC0000'); r0 = 0.2 * r; } else { plot.setLineWidth(1) .setStrokeStyle('880000'); r0 = 0.8 * r; } sin1 = r*Math.sin(angle); sin2 = r0*Math.sin(angle); cos1 = r*Math.cos(angle); cos2 = r0*Math.cos(angle); plot.beginPath() .moveTo(cos1, sin1) .lineTo(cos2, sin2) .closePath() .stroke(); if (showText == true) { if (i % 15 == 0) { plot.fillText(i.toFixed(0), 1.2*cos1, 1.2*sin1, 20); } } } plot.setLineWidth(5) .setStrokeStyle('CC8888') .beginPath() .arc(0, 0, r, Math.PI, 0) .closePath() .stroke(); plot.restore(); }</span>
<span style="font-size:18px;">function myDraw() { var config = new PlotConfiguration(); config.init(); config.setPreference(); config.setSector(1,1,1,1); //config.axis2D(0, 0, 180); var ruler = new Ruler(); ruler.protractor(0, -20, 100,0,true); ruler.protractor(-20, 150, 150,0, false); }</span>
可以看出,这个角是30度。
<span style="font-size:18px;">function myDraw() { var config = new PlotConfiguration(); config.init(); config.setPreference(); //config.setSector(1,1,1,1); //config.axis2D(0, 0, 180); var image = new Image(); image.src = './1.jpg'; image.onload = function() { plot.drawImage(image); var ruler = new Ruler(); var x = 241, y=326; ruler.protractor(x, y, 80,0,true); } }</span>
<span style="font-size:18px;">function myDraw() { var config = new PlotConfiguration(); config.init(); config.setPreference(); config.setSector(1,1,1,1); //config.axis2D(0, 0, 180); //画角 var ruler = new Ruler(); var x = 0, y=0; ruler.protractor(x, y, 100,true); var angle = 60; var x0, y0, x1, y1, r=150; x0 = Math.cos(-Math.PI/180*angle)*r; y0 = Math.sin(-Math.PI/180*angle)*r; x1 = r; y1 = 0; plot.setLineWidth(3) .beginPath() .moveTo(0, 0) .lineTo(x0, y0) .moveTo(0, 0) .lineTo(x1, y1) .closePath() .stroke(); plot.setLineWidth(1) .setStrokeStyle('CC8888') .beginPath() .arc(0, 0, 20, -Math.PI/180*angle, 0) .closePath() .stroke(); plot.fillText(angle.toFixed(0), Math.cos(-Math.PI/360*angle)*25, Math.sin(-Math.PI/360*angle)*25, 50); }</span>
现在,小伟已经知道了各种角,还学会了画角和量角,进步真大。
本节到此结束,欲知后事如何,请看下回分解。
相关文章推荐
- Object-C--->Swift之(七)函数重载
- SHDP--Working With HBase(一)之基本介绍
- Rsync+Inotify+LVS实现Discuz的负载均衡
- ASPxGridView控件常用示例二:添加和初始化新行
- 获取版本号
- AngularJS中监视Scope变量以及外部调用Scope方法
- [ZJOI 2013] bzoj3110 K大数查询 (整体二分)
- 231,NSOperation和NSOperationQueue
- Android settings中SwitchPreference的简单处理
- 安卓桌面小控件App Widget
- swift手记-3
- Ubuntu与Win7双系统安装黑屏
- 优先队列的用法
- ZOJ 1058 题目大意就是 两个字 换钱。
- ajax是什么
- IO流-ReadLine方法的原理 自定义BufferedReader
- 斯坦福大学 Design School 所倡导设计思维的原则和步骤是什么?
- 商务通核心教程
- 【Hibernate】Hibernate中的数据库方言(Dialect)
- ASPxGridView控件常用示例一:添加一个非绑定列