JS Math.sin() 与 Math.cos() 用法(画圆)
原文出处: 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() 用法(画圆)相关推荐
- Math.sin() 与 Math.cos() 用法
Math.sin() 与 Math.cos() 用法 Math.sin(x) x 的正玄值.返回值在 -1.0 到 1.0 之间: Math.cos(x) x 的余弦值.返回的是 -1.0 到 1.0 ...
- JS Math.sin() 与 Math.cos()
Math.sin(x) x 的正玄值.返回值在 -1.0 到 1.0 之间: Math.cos(x) x 的余弦值.返回的是 -1.0 到 1.0 之间的数: 这两个函数中的X 都是指 ...
- Math源码java_深入学习java源码之Math.sin()与 Math.sqrt()
深入学习java源码之Math.sin()与 Math.sqrt() native关键字 凡是一种语言,都希望是纯.比如解决某一个方案都喜欢就单单这个语言来写即可.Java平台有个用户和本地C代码进行 ...
- JS Math.sin() 与 Math.cos() 用法
sin(x) = a/c; a是角度的对边,c是斜边 con(y) = b/c; b是角度的邻边,c是斜边 x,y都是指的'弧度'而非'角度',弧度的计算公式为:2*PI/360*角度; 30°角度的 ...
- java math.sin()_Java Math sin()用法及代码示例
java.lang.Math.sin()返回介于0.0和pi之间的角度的三角正弦.如果参数为NaN或无穷大,则结果为NaN.如果自变量为零,则结果为零,其符号与自变量相同.返回的值将在-1和1之间. ...
- java math.sin()_Java Math.sin() 方法
Java Math.sin() 方法 java.lang.Math.sin() 是用来返回角度的正弦值.此方法返回-1至1之间的值. 1 语法 public static double sin(dou ...
- java math.sin()_Java Math sin() 使用方法及示例
Java Math sin() 使用方法及示例 Java Math sin()返回指定角度的三角正弦值. sin()方法的语法为: Math.sin(double angle) sin()参数angl ...
- Math.cos()和Math.sin()和Math.atan()
数学上: cos(60°) = 0.5 js: Math.cos(Math.PI/180*60) = 0.5000000000000001 原因: 近似值,为什么不直接为0.5 呢?因为Math.PI ...
- math.cos,math.sin
角度和弧度转换 弧度 = 角度 2π / 360 = 角度 π / 180 = 角度 * Math.PI / 180 角度 = 弧度 360 / 2π = 弧度 180 / π = 弧度 * 180 ...
最新文章
- 获得焦点时选择文本框的所有内容(Vanilla JS或jQuery)
- 使用Laya引擎开发微信小游戏(下)
- poj3083 Children of the Candy Corn 深搜+广搜
- python字符串格式化_Python3 字符串格式化
- u-boot与bootloader及其区别
- 阿里架构师:​程序员必须掌握的几项核心能力
- SQL解析处理和扩展开发工具 Java
- 又一灵异事件 Delphi 2007 在 Win7
- opera官方教程 团队
- sort函数(c语言排序)
- 番外7. 在 Python OpenCV 寻找目标区域以及边缘扩展的解决方案
- java计算机毕业设计校园共享单车系统源代码+系统+数据库+lw文档
- Luogu5149会议座位
- HOTMAIL模拟登陆
- 自动驾驶仿真软件简介----CARLAGazeboLGSVLOthers
- TCP客户端与服务端开发
- LeetCode714_买卖股票的最佳时机含手续费
- crm客户关系管理系统总结
- 批处理设置windows防火墙协议规则
- python求解拉普拉斯矩阵
热门文章
- 【了不起的开发者】华为开发者大会2020(Together)已向你发来邀请~
- python绘制花_[Art Science] 用python绘制3D花(二)
- adobe reader linux rpm,Ubuntu 12.04安装Adobe Reader
- Hive、Pig、HBase的关系与区别,值得收藏!
- soap协议中的soap结构体
- 基于Springboot+vue的电影票预定管理系统 elementui
- java 下溯造型_Java 的上溯造型和下溯造型以及举例,以及判断参数等指向的类
- 我的世界pe服务器插件制作,我的世界pe服务器连接方法 pe服务器插件大全
- java咨询师,心理咨询师的三种人生境界
- 深度学习中过拟合、欠拟合现象以及解决方法