//Math是全局的

//Math.PI 数学里的3.1415926....

console.log(Math.PI);

//取随机数
//js提供的随机函数 Math.random() -->[0,1)范围内的数
function random_int(start, end) {
var num = start + (end - start) * Math.random();
//小数---》整数,向下取整 Math.floor()
return Math.floor(num);
} console.log(random_int(5, 15));
console.log("======================="); //数学的正弦,余弦,正切
//单位是数学的弧度,而不是度,方向是数学的正方向,逆时针方向
console.log(Math.sin(Math.PI / 4)); //sin 45°
console.log(Math.sin(Math.PI / 6)); //sin 45°
console.log(Math.cos(Math.PI / 6)); //cos 30°
console.log(Math.tan(Math.PI / 4)); //tan 45°
console.log("======================="); //度[0,360)
//弧度[0,2*PI)
//度转弧度
function degree_to_r(degree) {
//PI-->180°
return (degree / 180) * Math.PI;
} //弧度转度
function r_to_degree(r) {
return (r / Math.PI) * 180;
} var r = degree_to_r(90);
console.log(r);
console.log(r_to_degree(r)); console.log("======================="); //sin 30°= 0.5 ,asin(0.5)对应多少度呢
//asin(0.5)算出的是弧度单位
//范围在[-2PI,2PI]
r = Math.asin(0.5);
console.log(Math.floor(r_to_degree(r)));
r = Math.acos(0.5)
console.log(Math.floor(r_to_degree(r))); console.log("======================="); //返回一个坐标对应的角度,范围[-PI,PI]
//Math.atan2(y,x);
r = Math.atan2(-1, 1);
console.log(r_to_degree(r));
r = Math.atan2(0, -1);
console.log(r_to_degree(r)); console.log("=======================");
//Math.sqrt 开平方
console.log(Math.sqrt(16));//16的平方根
console.log(Math.sqrt(2)); //2的平方根
console.log("======================="); //计算两点之间的距离
function vector_distance(lhs_x, lhs_y, rhs_x, rhs_y) {
var len = (lhs_x - rhs_x) * (lhs_x - rhs_x) + (lhs_y - rhs_y) * (lhs_y - rhs_y);
return Math.sqrt(len);
} console.log(vector_distance(0, 0, 1, 1));
console.log("=======================");

四 js Math数学简单使用的更多相关文章

  1. JS之路——Math数学对象

    Math数学对象 ceil(数值)大于或等于该数的最小整数 floor(数值)小于或等于该数的最大整数 min(数值1,数值2)返回最小值 max(数值1,数值2)返回最大值 pow(数值1,数值2) ...

  2. vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结

    vue—你必须知道的   目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...

  3. 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”

    这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...

  4. 使用js Math.random()函数生成n到m间的随机数字

    何使用js生成n到m间的随机数字,主要目的是为后期的js生成验证码做准备,Math.random()函数返回0和1之间的伪随机数   摘要: 本文讲解如何使用js生成n到m间的随机数字,主要目的是为后 ...

  5. [转]九个Console命令,让js调试更简单

    转自:九个Console命令,让js调试更简单 一.显示信息的命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html ...

  6. JS实现一个简单的计算器

    使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除.效果如上: 第一步: 创建构建运算函数count(). 第二步: 获取两个输入框中的值和获取选择 ...

  7. JS+html实现简单的飞机大战

    摘要:通过原生的js+html实现简单的飞机大战小游戏效果,如图所示: 实现代码如下: 1.自己的飞机实现 飞机html: <!DOCTYPE html> <html lang=&q ...

  8. js实现一个简单钟表动画(javascript+html5 canvas)

    第一次在博客园注册发博.有一次去人家单位开标,看到开标网站上有个钟表动画,一时兴起,就写了个简单的钟表动画. 用js和html5 canvas对象实现一个简单钟表程序 主要用到的就是h5的canvas ...

  9. [JS]Math.random()

    参考网址:http://www.soulteary.com/2014/07/05/js-math-random-trick.html [JS]Math.random()的二三事 看到题目,如果大家平时 ...

随机推荐

  1. [python2] python 打印表格 prettytable

    rpm包: [root@D129 cli]# yum info python-prettytable Loaded plugins: fastestmirror Loading mirror spee ...

  2. [ovs] openvswitch ovs ovs-vsctl ovs-appctl 命令行参数自动补全 bash bash-completion

    1, 安装bash_completion: [root@vrouter1 ~]# yum install bash-completio 2,  找到你的ovs的补全脚本装在了哪里 [root@vrou ...

  3. xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at[转载]

    今天在添加友盟统计的podfile pod install报错了: bogon:Children songximing$ pod install /Library/Ruby/Gems//gems/co ...

  4. Linux 下安装JDK和jmeter 及环境配置记录过程

    一.安装首先要查看linux系统的位数,用命令getconf LONG_BIT,我的是centOS 32位 二.官网下载32位的JDK8 http://www.oracle.com/technetwo ...

  5. mysql分库 分表

    原文链接:http://www.jianshu.com/p/89311703b320 传统的分库分表传统的分库分表都是通过应用层逻辑实现的,对于数据库层面来说,都是普通的表和库.分库分库的原因 首先, ...

  6. 20165336 2017-2018-2 《Java程序设计》第5周学习总结

    20165336 2017-2018-2 <Java程序设计>第5周学习总结 教材学习内容总结 内部类的类体中不可以声明类变量和类方法. 内部类仅供他的外嵌类使用,其他类不可以用某个类的内 ...

  7. 20165336 2017-2018-2 《Java程序设计》第2周学习总结

    学号 2017-2018-2 20165336 <Java程序设计>第2周学习总结 教材学习内容总结 第二章 标识符第一个字符不能是数字 标识符不能是关键字 byte型变量的取值范围是-2 ...

  8. js中属性类型:数据属性与访问器属性

    js中属性类型分为两种:数据属性和访问器属性 在js中,对象都是由名值对构成的,名:就是我们所说的属性名,值就是属性对应的值(基本值.对象.方法). ECMA-262第5版定义了只有内部才用的特性,描 ...

  9. 【Python爬虫】selenium基础用法

    selenium 基础用法 阅读目录 初识selenium 基本使用 查找元素 元素互交操作 执行JavaScript 获取元素信息 等待 前进后退 Cookies 选项卡管理 异常处理 初识sele ...

  10. Docker镜像推送(push)到Docker Hub

    镜像构建成功后,只要有docker环境就可以使用,但必须将镜像推送到Docker Hub上去.我们之前创建的镜像不符合Docker Hub的tag要求,因为 在Docker Hub注册的用户名是boo ...