cos

ES6学习笔记-变量的解构赋值、字符串的新增方法

老子叫甜甜 提交于 2020-03-27 16:29:04
3 月,跳不动了?>>> 变量的解构赋值 解构可以用于数组,还可以用于对象。 对象的解构赋值,可以很方便地将现有对象的方法,赋值到某个变量。 // 例一 let { log, sin, cos } = Math; // 例二 const { log } = console; log('hello') // hello 如果变量名与属性名不一致,必须写成下面这样。 let obj = { first: 'hello', last: 'world' }; let { first: f, last: l } = obj; f // 'hello' l // 'world' 上面代码中,first是匹配的模式,f才是变量。真正被赋值的是变量f,而不是模式first。也就是说,对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而不是前者。 3. 变量的交换 let x=1 let y=2 [x,y]=[y,x] 字符串的扩展 字符串模版 // 多行字符串 let tep = `In JavaScript this is not legal.` // 字符串中嵌入变量 let name = "Bob", time = "today"; `Hello ${name}, how are you ${time}?` 字符串的新增方法 实例方法:includes()

在单片机中的浮点数编程

六眼飞鱼酱① 提交于 2020-03-26 21:20:37
3 月,跳不动了?>>> 问题背景: 在使用8BIT单片机进行开发,不支持浮点数运算。但是开发必须用到sin,cos,arctan等浮点数函数。 苦想了两天,才发现,自己要当一回“计算机”。 单片机不支持浮点数,可是编程却一定要用到小数。这时,只好自定义“定点小数”了。 所需的浮点数范围有两个区域-1~1,-60~60。精度就按小数点后2、3位了。 如果在高级语言中,我想定义的数组是 double arctantable[95]= { 0.0174551, 0.0349208, 0.0524078, 0.0699268, 0.0874887, 0.105104, 0.122785, 0.140541, 0.158384, 0.176327, 0.19438, 0.212557, 0.230868, 0.249328, 0.267949, 0.286745, 0.305731, 0.32492, 0.344328, 0.36397, 0.383864, 0.404026, 0.424475, 0.445229, 0.466308, 0.487733, 0.509525, 0.531709, 0.554309, 0.57735, 0.600861, 0.624869, 0.649408, 0.674509, 0.700208, 0.726543, 0.753554, 0.781286,

Java仿windows自带的计算器-课程设计

故事扮演 提交于 2020-03-24 11:02:51
3 月,跳不动了?>>> 一段尘封已久的代码,当年的课程设计。《java程序设计》课程设计报告 课题名称:GUI计算器设计 1. 课程设计题目 基于GUI的计算器设计 2. 课程设计目的 1. 巩固和加深课堂所学知识; 2. 将课本上的理论知识和实际应用有机的结合起来,培养同学们分析和解决实际问题的能力; 3. 通过对java语言程序代码的阅读、修改、设计,理解和掌握复杂的java语言应用程序的编程,提高实践编程能力。 3. 程序运行环境及开发工具 本程序在Windows XP的PC机上利用Jbuilder9.0的软件开发实现,在Windows XP平台上Jbuilder9.0及Eclipse环境中运行通过。 4. 程序功能使用说明 运行该程序后,参与运算的操作数可有鼠标点击相应按钮输入,也可有键盘输入,但操作符应有鼠标点击相应的按钮,当: 1.在简易计算中可以按照常规输入计算,基本无bug,“%”未设置其用途; 2.简易计算中,可以进行+、-、*、/、乘方(^)、开方(√)及阶乘(!)运算; 3.科学计算中有许多功能为实现,主要能进行加、减、乘、除、乘方、开方、幂、开n次方、倒数、阶乘、ln、e的x次幂、三角函数等高级运算; 4.例如: (1). 1 + 9 = 10 (2). 25 + -8 = 17 (3). 98 - 35 = 63 (4). 96 * 2 = 192 (5

面试题:检测点是否在扇形之内

此生再无相见时 提交于 2020-03-22 02:35:48
前几天,同事在报告中提及检测角色是否在扇形攻击范围的方法。我觉得该方法的性能不是太好,提出另一个颇为直接的方法。此问题在游戏中十分常见,只涉及简单的数学,却又可以看出实现者是否细心,所以我觉得可当作一道简单的面试题。问题在微博发表后得到不少回应,故撰文提供一些解答。 问题定义: 在二维中,检测点 \mathbf{p} 是否在 扇形 (circular sector)内,设扇形的顶点为 \mathbf{c} ,半径为 r ,从 \mathbf{\hat{u}} 方向两边展开 \theta 角度。 当中 \mathbf{p},\mathbf{c},\mathbf{\hat{u}} 以直角坐标(cartesian coordinates)表示, r>0 , 0 < \theta < \pi 。 \mathbf{p} 在扇形区边界上当作不相交。实现时所有数值采用单精度浮点数类型。 问题分析 许多相交问题都可以分拆为较小的问题。在此问题中,扇形可表示为圆形和角度区间的交集。 换句话说,问题等同于检测 \mathbf{p} 和 \mathbf{c} 的距离小于 r ,及 \mathbf{p-c} 的方向在 \mathbf{\hat{u}} 两边 \theta 的角度范围内。 距离 \mathbf{p} 和 \mathbf{c} 的距离小于 r , 用数学方式表示: |\mathbf{p} -

Nginx反向代理腾讯云COS的一个坑

守給你的承諾、 提交于 2020-03-19 13:14:09
3 月,跳不动了?>>> 有一个朋友开发的手机app,把大量文件都保存在腾讯云COS上,然后通过CDN分发。 最近有一个特殊的需求,希望通过CVM来提供部分COS文件的访问。因为服务器用的是Nginx,所以事情也很简单: 1 到COS的管理页面上查询一下内网访问域名 2 给nginx增加一个标准的upstream配置,上游指向腾讯云COS的内网域名 照理说,配置好域名解析就可以开始工作了。但是一开始工作就出现很奇怪的现象: 下载开始很快,随后变得很慢,最终有很大概率失败。 首先排除网络原因的可能性。登录服务器用wget通过访问本机localhost验证: 现象就是前面都下载的飞快,到了最后一部分就突然下载不动了。 打开nginx的error_log,发现了upstream timed out (Connection timed out)错误 再排除COS有问题的可能性: 现在问题就很诡异了:上游没有问题,经过反向代理后文件的前面一大部分也都没有问题,就是最后一小截文件要等待很久很久,并且发生了upstream timed out超时。 通过肥龙找到了熟悉nginx的ares同学协助抓包,才定位到了这个问题: 这里的UA是wget,wget默认使用的是http1.0协议。当前服务器使用的nginx是1.0.15这个比较古老的稳定版,还不支持 proxy_http_version 1

Ynoi2012 NOIP2015洋溢着希望

北战南征 提交于 2020-03-18 07:07:35
写篇博客纪念一下人生第一道 \(YnOI\) 不过这个题确实是不复杂 Description link 支持两种操作,区间加和区间 \(sin\) 和 \(n,m \le 2 \times 10^5\) Solution \[Begin\] 我们看到三角函数,还有加法 还是比较明显地指向了和角公式 如果不会和角公式? 这个百度应该可以 $ Get $ 到 \(sin(a+b)=sin(a) cos(b)+cos(a)sin(b)\) \(cos(a+b)=cos(a)cos(b)-sin(a)sin(b)\) \(sin\) 和 \(cos\) 的都用库里的函数就行 我们维护一下每个点的 \(sin\) 和 \(cos\) 就可以了吧…… 具体要这么写: inline void push_up(int p,double ts,double tc) { double s=sinn(p),c=coss(p); sinn(p)=ts*c+tc*s; coss(p)=tc*c-ts*s; return ; } inline void spread(int p) { if(fl(p)) { fl(p<<1)+=fl(p); fl(p<<1|1)+=fl(p); double ts=sin(fl(p)),tc=cos(fl(p)); push_up(p<<1,ts,tc); push_up(p

Flutter 裁剪类组件 最全总结

拟墨画扇 提交于 2020-03-12 22:12:51
注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 ClipRect ClipRect组件使用矩形裁剪子组件,通常情况下,ClipRect作用于 CustomPaint 、 CustomSingleChildLayout 、 CustomMultiChildLayout 、 Align 、 Center 、 OverflowBox 、 SizedOverflowBox 组件,例如ClipRect作用于Align,可以仅显示上半部分,代码如下: ClipRect( child: Align( alignment: Alignment.topCenter, heightFactor: 0.5, child: Container( height: 150, width: 150, child: Image.asset( 'images/1.png', fit: BoxFit.cover, ), ), ), ) 全图效果: 裁剪效果: clipper 参数定义裁剪规则,下面具体介绍。 clipBehavior 参数定义了裁剪的方式,只有子控件超出父控件的范围才有裁剪的说法,各个方式说明如下: none:不裁剪,系统默认值,如果子组件不超出边界,此值没有任何性能消耗。 hardEdge

数学图形之螺旋曲面

与世无争的帅哥 提交于 2020-03-09 07:02:29
这一节中将提供各种螺旋曲面的生成方法. 相关软件参见: 数学图形可视化工具 ,使用自己定义语法的脚本代码生成数学图形. 我之前写过生成圆环的C++程序,代码发布在 螺旋面(Spire)图形的生成算法 (1)正螺旋面 正螺旋面就是让一条直线l的初始位置与x轴重合,然后让直线l一边绕z轴作匀速转动,一边沿z轴方向作匀速运动,则直线在这两种运动的合成下扫出的曲面就是正螺旋面。 显然正螺旋面可以看做是由直线形成的,即它是一个直纹面。 为什么叫正,难道还有反吗?.看其公式,就是将圆向上拉了拉又多转了几圈. vertices = D1:32 D2:360 u = from 0 to 3 D1 v = from 0 to (8*PI) D2 x = u*cos(v) y = v*0.5 z = u*sin(v) (2)正螺旋面随机(helicoiddroit) 加上随机参数的正螺旋面,并向外拉伸了下. vertices = D1:32 D2:360 u = from 0 to 3 D1 v = from 0 to (8*PI) D2 a = rand2(0.1, 1) b = rand2(1, 5) x = (b + u)*cos(v) y = v*a z = (b + u)*sin(v) (3)阿基米德螺旋面 看其公式,阿基米德螺旋面就是正螺旋面变化了下高度参数 #http://202.113

椭圆隐式方程和参数方程的互相转换

[亡魂溺海] 提交于 2020-03-06 05:25:33
1. 隐式方程转参数方程 二次曲线的一般方程为: A x 2 + 2 B x y + C y 2 + 2 D x 2 + 2 E y 2 + F = 0. A{x^2}+2Bxy+C{y^2}+2Dx^2+2Ey^2+F=0. A x 2 + 2 B x y + C y 2 + 2 D x 2 + 2 E y 2 + F = 0 . 若 B 2 − A C < 0 B^2-AC<0 B 2 − A C < 0 , 为椭圆; B 2 − A C = 0 B^2-AC=0 B 2 − A C = 0 , 为抛物线; B 2 − A C > 0 B^2-AC>0 B 2 − A C > 0 ,为双曲线。 二次曲线可通过旋转和平移来变成标准方程,从而得到其几何参数。旋转的作用是消去交叉项,平移的作用是使中心为原点 ,下面以椭圆为例。 方程的二次项为: [ x , y ] [ A B B C ] [ x , y ] , (1) [x, y] \left[ \begin{matrix} A &B\\ B &C \end{matrix} \right] [x, y], \tag{1} [ x , y ] [ A B ​ B C ​ ] [ x , y ] , ( 1 ) 一次项为 2 [ x , y ] [ D E ] . 2[x, y] \left[ \begin{matrix} D\\ E

小程序没有域名? 如何设置资源防盗链?

元气小坏坏 提交于 2020-03-01 04:11:35
做过前端,或对小程序有些了解的同学都知道,小程序是没有域名访问概念的,访问的路径都是以:“/pages/index”、“/pages/my”这种方式进行页面跳转的。域的概念从何而来? 事情是这样的,前段时间突然冒出个想法,大家上下班,有些人离公司比较远,回家路上/地铁上,可能都会比较无聊,看看新闻、听听音乐啥的。 但是对于IT行业的程序员们来说,入了IT领域就意味着,永远有学不完的东西,经常就有看到一些人在地铁拿着一本书在看,于是我灵机一动,想着做了个小程序,收集一些电子书,方便大家随时随地的阅读,既不耽误学习,回家的路上也不无聊,而且小程序集成在微信里,不会给大家带来负担。 说干就干,经过几个周末的开发和测试,慢慢的小程序成型了,也发布上线了,是基于wepy框架开发的,坑点之前的文章已经说过了,就不再提了。主要讲讲后面发生的一些事。 作为技术交流,平时也加了一些群,都有一些不错的书,工作几年自己也弄了些存货,这次是全部家当都拿出来了、还找了几个 测试 、 java 的后端大佬,都收集了些他们的珍藏品,因为没有自己的服务器,刚开始是把内容存放在阿里云上的,但没两天告诉我欠费了……, 想哭,就这么工资,怎么经的起折腾啊,后来了解了一下腾讯云,每月有些免费的流量,果然放弃了阿里云,把东西转移到了腾讯云。嗯,就这样很开心的把小程序上线了,每天有事没有看看书,觉得还是蛮方便