原文出处: https://blog.csdn.net/u010227447/article/details/45892745 , 但已做整理

Math.sin(x)      x 的正玄值。返回值在 -1.0 到 1.0 之间;

Math.cos(x)    x 的余弦值。返回的是 -1.0 到 1.0 之间的数;

这两个函数中的X 都是指的“弧度”而非“角度”   
弧度的计算公式为: 角度*(PI/180);  (角度转弧度可参考:角度与弧度互转)
30° 角度 的弧度 = 30 * (PI/180)

如何得到圆上每个点的坐标?

解决思路:根据三角形的正玄、余弦来得值;

假设一个圆的圆心坐标是(a,b),半径为r,

则圆上每个点的: 
X坐标=a + Math.sin(角度 * (Math.PI / 180)) * r ;
Y坐标=b + Math.cos(角数 * (Math.PI / 180)) * r ;

如何求时钟的秒针转动一圈的轨迹?

假设秒针的初始值(起点)为12点钟方向,圆心的坐标为(a,b)。

解决思路:一分钟为60秒,一个圆为360°,所以平均每秒的转动角度为 360°/60 = 6°;

for(var times=0; times<60; times++) {

var hudu = 6 * (Math.PI / 180) *  times;

var X = a + Math.sin(hudu) * r;

var Y = b - Math.cos(hudu) * r    //  注意此处是“-”号,因为我们要得到的Y是相对于(0,0)而言的。

}

注意:
1、本例是以“12点为起点, 角度增大时为顺时针方向“,求X坐标和Y坐标的方法是:
X坐标=a + Math.sin(角度 * (Math.PI / 180)) * r ;
Y坐标=b - Math.cos(角数 * (Math.PI / 180)) * r ;

2、一般“3点为起点, 角度增大时为逆时针方向“,求X坐标和Y坐标的方法是:
X坐标 = a + Math.cos(角度 * (Math.PI / 180)) * r;    
Y坐标 = b - Math.sin(角度 * (Math.PI / 180)) * r;

JS Math.sin() 与 Math.cos() 用法(画圆)相关推荐

  1. Math.sin() 与 Math.cos() 用法

    Math.sin() 与 Math.cos() 用法 Math.sin(x) x 的正玄值.返回值在 -1.0 到 1.0 之间: Math.cos(x) x 的余弦值.返回的是 -1.0 到 1.0 ...

  2. JS Math.sin() 与 Math.cos()

    Math.sin(x)      x 的正玄值.返回值在 -1.0 到 1.0 之间: Math.cos(x)    x 的余弦值.返回的是 -1.0 到 1.0 之间的数: 这两个函数中的X 都是指 ...

  3. Math源码java_深入学习java源码之Math.sin()与 Math.sqrt()

    深入学习java源码之Math.sin()与 Math.sqrt() native关键字 凡是一种语言,都希望是纯.比如解决某一个方案都喜欢就单单这个语言来写即可.Java平台有个用户和本地C代码进行 ...

  4. JS Math.sin() 与 Math.cos() 用法

    sin(x) = a/c; a是角度的对边,c是斜边 con(y) = b/c; b是角度的邻边,c是斜边 x,y都是指的'弧度'而非'角度',弧度的计算公式为:2*PI/360*角度; 30°角度的 ...

  5. java math.sin()_Java Math sin()用法及代码示例

    java.lang.Math.sin()返回介于0.0和pi之间的角度的三角正弦.如果参数为NaN或无穷大,则结果为NaN.如果自变量为零,则结果为零,其符号与自变量相同.返回的值将在-1和1之间. ...

  6. java math.sin()_Java Math.sin() 方法

    Java Math.sin() 方法 java.lang.Math.sin() 是用来返回角度的正弦值.此方法返回-1至1之间的值. 1 语法 public static double sin(dou ...

  7. java math.sin()_Java Math sin() 使用方法及示例

    Java Math sin() 使用方法及示例 Java Math sin()返回指定角度的三角正弦值. sin()方法的语法为: Math.sin(double angle) sin()参数angl ...

  8. Math.cos()和Math.sin()和Math.atan()

    数学上: cos(60°) = 0.5 js: Math.cos(Math.PI/180*60) = 0.5000000000000001 原因: 近似值,为什么不直接为0.5 呢?因为Math.PI ...

  9. math.cos,math.sin

    角度和弧度转换 弧度 = 角度 2π / 360 = 角度 π / 180 = 角度 * Math.PI / 180 角度 = 弧度 360 / 2π = 弧度 180 / π = 弧度 * 180 ...

最新文章

  1. 获得焦点时选择文本框的所有内容(Vanilla JS或jQuery)
  2. 使用Laya引擎开发微信小游戏(下)
  3. poj3083 Children of the Candy Corn 深搜+广搜
  4. python字符串格式化_Python3 字符串格式化
  5. u-boot与bootloader及其区别
  6. 阿里架构师:​程序员必须掌握的几项核心能力
  7. SQL解析处理和扩展开发工具 Java
  8. 又一灵异事件 Delphi 2007 在 Win7
  9. opera官方教程 团队
  10. sort函数(c语言排序)
  11. 番外7. 在 Python OpenCV 寻找目标区域以及边缘扩展的解决方案
  12. java计算机毕业设计校园共享单车系统源代码+系统+数据库+lw文档
  13. Luogu5149会议座位
  14. HOTMAIL模拟登陆
  15. 自动驾驶仿真软件简介----CARLAGazeboLGSVLOthers
  16. TCP客户端与服务端开发
  17. LeetCode714_买卖股票的最佳时机含手续费
  18. crm客户关系管理系统总结
  19. 批处理设置windows防火墙协议规则
  20. python求解拉普拉斯矩阵

热门文章

  1. 【了不起的开发者】华为开发者大会2020(Together)已向你发来邀请~
  2. python绘制花_[Art Science] 用python绘制3D花(二)
  3. adobe reader linux rpm,Ubuntu 12.04安装Adobe Reader
  4. Hive、Pig、HBase的关系与区别,值得收藏!
  5. soap协议中的soap结构体
  6. 基于Springboot+vue的电影票预定管理系统 elementui
  7. java 下溯造型_Java 的上溯造型和下溯造型以及举例,以及判断参数等指向的类
  8. 我的世界pe服务器插件制作,我的世界pe服务器连接方法 pe服务器插件大全
  9. java咨询师,心理咨询师的三种人生境界
  10. 深度学习中过拟合、欠拟合现象以及解决方法