正弦余弦定理,求圆弧度或度数
由于最近玩机器人,所以总涉及到一些导航地图数据的处理,需要发任务,添加导航点,发送自由导航信息,少不了与canvas打交道了。
首先我们好弄清楚是什么正弦余弦定理,什么是勾股定理,角度和弧度的换算,其实我也差不多忘光光了~~
忘掉不丢人,百度走起~~,哈哈哈。。。。
下图就是点击拖动出来的东西,圆表示机器人,线表示机器的方向,目前我们已知的就是两个点的坐标,一个是圆心的坐标和鼠标移动过程的坐标,通过这连个左边我们要计算出圆的半径(这里的圆半径不是指机器人那个圆的半径,是鼠标时和拖动后产生的圆的半径)
我们先看第一个公式,求圆上任意一点的点坐标
计算两点间的距离我们就的用勾股定理了,这个距离也就是我们的圆的半径
(a,b 为直角边,c为斜边)
好了,根据上面两条公式可以实现我们想需要的了
我们来就求个弧度,这里会用到反余弦函数哦~~
const countRadius(start:any, end: any) => {const [sx, sy, ex, ey] = [start.offsetX ? start.offsetX : start.x,start.offsetY ? start.offsetY : start.y,end.offsetX ? end.offsetX : end.x,end.offsetY ? end.offsetY : end.y,];return Math.sqrt(Math.pow(ex - sx, 2) + Math.pow(ey - sy, 2));
}const radius = countRadius(startPoint, lastPoint);let radian = Math.acos((lastPoint.offsetX - startPoint.offsetX) / radius);
发现感觉挺完美的,我们逆时针绕一圈,弧度数出来了,但是发现上半圆和下半圆的结果好像是对称的关系,上半圆是0~π,下半圆是从π-0,我们判断下如果是下半圆我就用2π-radian就好了。
if (lastPoint.offsetY - startPoint.offsetY > 0) radian = 2*Math.PI - radian;
正弦余弦定理,求圆弧度或度数相关推荐
- asin c语言中 返回值范围_C语言asin()函数:求正弦值为 x 的弧度数
函数名: asin 头文件: 函数原型: double asin(double x) 功 能: 求正弦值为 x 的弧度数 参数: double x 正弦值.x 的取值必须位于区间[-1, 1]中 ...
- Java编程入门与应用 P124——例5-4(计算90度的正弦值、0度的余弦值、1的反正切值、120度的弧度值)
Java编程入门与应用 P124--例5-4 计算90度的正弦值.0度的余弦值.1的反正切值.120度的弧度值 因为参数里都是double值,需要以弧度代替角度来实现 /*** Java编程入门与应用 ...
- autocad 凸度_AutoCAD中凸度的概念以及求圆弧的凸度
AutoCAD中凸度的概念以及求圆弧的凸度 AutoCAD中凸度的概念以及求圆弧的凸度 转自http://blog.163.com/[email protected]/blog/static/1621 ...
- 【ybtoj 高效进阶 5.1】【动态规划】求好感度
[ybtoj 高效进阶 5.1][动态规划]求好感度 题目 解题思路 直接用多重背包的话会TLE 所以呢,将件数ai二进制分组 用0/1背包 代码 #include<iostream> # ...
- 初中数学题,如图,已知角ABD=30°,角DBC=40°,角BCD=20°,角ACD=50°,求角BAD的度数:
求角BAD的度数 解答 问题重述 问题分析 解决方案 解答 初中数学题,如图,已知角ABD=30°,角DBC=40°,角BCD=20°,角ACD=50°,求角BAD的度数: 问题重述 如图,已知角AB ...
- python余弦定理求角_python余弦定理计算相似度
#-*- coding: utf-8 -*- importjiebaimportjieba.analyseimportmathdefsentence_resemble():'''计算两个句子的相似度: ...
- python余弦定理求第三边_python余弦定理计算相似度
#-*- coding: utf-8 -*- importjiebaimportjieba.analyseimportmathdefsentence_resemble():'''计算两个句子的相似度: ...
- java求30度的正弦值_获取Java中给定值的双曲正弦值
为了获取Java中给定值的双曲正弦值,我们使用java.lang.Math.sinh()方法.该sinh()方法接受一个以弧度为单位的参数,并返回该参数的双曲正弦值作为角度. 声明-java.lang ...
- python余弦定理求角_python实现的文本相似度算法(余弦定理)
只对汉字进行相似度分析,以单个字为向量,然后每个字在章节中出现的次数,便是以此字向量的值.现在我们假设: 章节1中出现的字为:Z1c1,Z1c2,Z1c3,Z1c4--Z1cn:它们在章节中的个数为: ...
- python scipy使用余弦定理求句子相似度
import jieba import gensim import numpy as np from gensim import corpora from scipy.spatial.distance ...
最新文章
- 20T数据、百万奖金,同济和武大摘得开放数据创新应用大赛桂冠!
- 历届试题 大臣的旅费 树形DP
- java中怎么进行字符串替换?
- 远程访问及控制(详解)——SSH远程管理及TCP Wrappers 访问控制
- 6-4-1:STL之list——list的快速入门、常用接口
- 用了Python,老板再也不用担心我写不了CUDA了!
- Zend Framework 开发记录 - 代码片段–jquery–select控件
- Python数据分析四剑客:IPython、Numpy、pandas、Matplotlib
- HDU 2883 kebab(最大流)
- ef codefirst字段类型与sqlserver表字段类型对应概要
- spss中有关t检验的详细介绍(包含操作过程和结果分析)
- 爱心的数学函数方程_笛卡尔的爱心函数
- nobody cared (try booting with the irqpoll option)笔记调试全记录
- 小智-微直播 使用教程
- java拆分日期_java实现日期拆分的方法
- ChatGPT开源平替——OpenChatKit(前OpenAI团队打造)
- GPON OMCI简介
- 永磁同步电机矢量控制中的双闭环是什么意思_STM32 TALK | 无感FOC方案原理机器控制难点分析...
- 马云、马化腾要合作了?阿里传出新消息,或将支持微信支付
- 1-2 认识905.4王国的交流规范
热门文章
- 值得收藏的JavaScript代码
- 光纤配线柜如何选择,又该怎么安装?
- mac 安装virtualbox虚拟机
- Windows开启 CPU 虚拟化 + 关闭 Hyper-V
- cargo test 报错 STATUS_DLL_NOT_FOUND
- Typora中写论文怎么添加reference(参考文献)
- postman接口测试之断言+参数化
- 一文看懂各种无线信道衰落的特征及分类
- ubuntu18.04安装wine+caj阅读器
- C. Get an Even String题解(dp)