欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js Math数学简单使用讲解

程序员文章站 2023-09-19 15:46:24
js math数学简单使用讲解 //math是全局的 //math.pi 数学里的3.1415926.... console.log(math.pi); //取随机...

js math数学简单使用讲解

//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("=======================");