[cs] 图形相关 公式
三角函数

坐标系

圆的相关公式
    标准方程式:(x-a)²+(y-b)²=r² 
    周长:      C=2πr (r半径)
    面积:      S=πr²
    半圆周长:  C=πr+2r
    半圆面积:  S=πr²/2
0.5π为90°
1π 为 180°
2π为360°
Math.PI
Math.PI 表示一个圆的周长与直径的比例,约为 3.14159:
Math.PI=π≈3.14159
下面的函数使用 Math.PI 计算给定半径的圆周长:
function calculateCircumference (radius) {
  return 2 * Math.PI * radius;
}
calculateCircumference(1);  // 6.283185307179586
Math.sin
返回一个数值的正弦值。
Math.sin(x)
Math.sin(0);           // 0
Math.sin(1);           // 0.8414709848078965
Math.sin(Math.PI / 2); // 1
Math.cos
Math.cos() 函数返回一个数值的余弦值。
Math.cos(x)
Math.cos(0);           // 1
Math.cos(1);           // 0.5403023058681398
Math.cos(Math.PI);     // -1
Math.cos(2 * Math.PI); // 1
Math.tan
Math.tan() 方法返回一个数值的正切值。
Math.tan(x)
x
    一个数值,表示一个角(单位:弧度)。 
传角度返回正切值
//接收以度为单位的数值,将其转为弧度,然后返回其正切值。
function getTanDeg(deg) {
   var rad = deg * Math.PI/180;
   return Math.tan(rad);
}
Math.asin

Math.asin() 方法返回一个数值的反正弦(单位为弧度)
Math.asin(x)
x
    一个数值 
asin 方法接受 -1 到 1 之间的数值作为参数,返回一个介于 -(pi/2) 到 pi/2 弧度的数值。
Math.asin(-2);  // NaN
Math.asin(-1);  // -1.5707963267948966 (-pi/2)
Math.asin(0);   // 0
Math.asin(0.5); // 0.5235987755982989
Math.asin(1);   // 1.570796326794897 (pi/2)
Math.asin(2);   // NaN
Math.acos

Math.acos() 返回一个数的反余弦值(单位为弧度)
Math.acos(x) 
x
    一个数值 
acos 方法以 -1 到 1 的一个数为参数,返回一个 0 到 pi (弧度)的数值。
Math.acos(-2);  // NaN
Math.acos(-1);  // 3.141592653589793
Math.acos(0);   // 1.5707963267948966
Math.acos(0.5); // 1.0471975511965979
Math.acos(1);   // 0
Math.acos(2);   // NaN
Math.atan

Math.atan() 函数返回一个数值的反正切(以弧度为单位)
Math.atan(x)
x
    一个数值 
atan 返回一个 -(pi/2) 到 pi/2 弧度之间的数值。
Math.atan(1);  // 0.7853981633974483
Math.atan(0);  // 0
Math.atan2
Math.atan2() 返回其参数比值的反正切值。
Math.atan2(y, x) 
y, x
    数值 
atan2 方法返回一个 -pi 到 pi 之间的数值,表示点 (x, y) 对应的偏移角度。
这是一个逆时针角度,以弧度为单位,正X轴和点 (x, y) 与原点连线 之间。
注意此函数接受的参数:先传递 y 坐标,然后是 x 坐标。
Math.atan2(90, 15) // 1.4056476493802699
Math.atan2(15, 90) // 0.16514867741462683
Math.atan2( ±0, -0 )               // ±PI.
Math.atan2( ±0, +0 )               // ±0.
Math.atan2( ±0, -x )               // ±PI for x > 0.
Math.atan2( ±0, x )                // ±0 for x > 0.
Math.atan2( -y, ±0 )               // -PI/2 for y > 0.
Math.atan2( y, ±0 )                // PI/2 for y > 0.
Math.atan2( ±y, -Infinity )        // ±PI for finite y > 0.
Math.atan2( ±y, +Infinity )        // ±0 for finite y > 0.
Math.atan2( ±Infinity, x )         // ±PI/2 for finite x.
Math.atan2( ±Infinity, -Infinity ) // ±3*PI/4.
Math.atan2( ±Infinity, +Infinity ) // ±PI/4.
斜率
已知倾斜角a,斜率k=tan a
已知两个点(x1,y1),(x2,y2),
斜率k=(y2-y1)/(x2-x1)
斜率相同则两点在同一直线上
对称点
求点A(m,n)关于点P(a,b)的对称点B(x,y)
(m+x)/2=a ,x=2a-m
(n+y)/2=b ,y=2b-n	
生成随机数
// 返回一个介于min和max之间的随机数
function getRandomArbitrary(min, max) {
	return Math.random() * (max - min) + min;
}
// 返回一个介于min和max之间的整型随机数
function getRandomInt1(min, max) {
	return Math.floor(Math.random() * (max - min + 1) + min);
}
贝塞尔曲线

三角形公式
等边三角形
高 = (边长/2)^3
边长 = (高开三次根)*2
等腰三角形
(边长^2)*2 = 底边^2
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号