- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
在C语言标准库里面提供了常用的三角函数,在头文件math.h
里面可以看到函数的相关定义。
double __cdecl sin(double _X);
double __cdecl cos(double _X);
double __cdecl tan(double _X);
double __cdecl asin(double _X);
double __cdecl acos(double _X);
double __cdecl atan(double _X);
double __cdecl atan2(double _Y,double _X);
其中sin
、cos
、tan
函数的参数是一个用弧度表示的角度,分别返回这个角度的正弦、余弦、正切值。
度和弧度都是衡量角的大小的单位。度用 °
来表示,弧度用rad
表示。
弧度的定义
在一个圆中,弧长等于半径的弧,其所对的圆心角就是 1rad。也就是说,两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧的长度正好等于圆的半径时,两条射线的夹角的弧度为 1。
度的定义
两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆周长的360分之一时,两条射线的夹角的大小为1度。
由此可知:
1度=π/180 弧度 ( ≈0.017453弧度 )
因此,得到 把度化成弧度的公式:
弧度=度×π/180
例如:
反过来,弧度化成度怎么算?
因为 π弧度=180°
所以 1弧度=180°/π (≈57.3°)
因此,可得到 把弧度化成度的公式:
度=弧度×180°/π
例如:
sin
、cos
、tan
函数定义如下:
sinA = a / c
。cosA = b / c
。tanA = a / b
。下面就通过一段简单的代码来演示一下这几个三角函数的用法。
#include <stdio.h>
#include <math.h>
#define PI 3.14159265
int main ()
{
double x, ret, val;
x = 30.0;
val = PI / 180;
ret = sin(x*val);
printf("%lf 的正弦是 %lf 度\n", x, ret);
ret = cos(x*val);
printf("%lf 的余弦是 %lf 度\n", x, ret);
ret = tan(x*val);
printf("%lf 的正切是 %lf 度\n", x, ret);
return(0);
}
输出结果如下:
asin()
、acos
、atan
函数分别返回它们的参数的反正弦、反余弦、反正切值。功能刚好和sin
、cos
、tan
函数相反。
sin()
是已知一个角的弧度值 x
,求该角的正弦值 y
;而 asin()
是已知一个角的正弦值 y
,求该角的弧度值 x
。x
的取值必须位于区间 [-1, 1]
中,如果 x
的值超出此区间,将会产生错误。
测试代码如下:
#include <stdio.h>
#include <math.h>
#define PI 3.14159265
int main ()
{
double x, ret, val;
x = 1.0;
val = 180.0 / PI;
ret = asin(x) * val;
printf("%lf 的反正弦是 %lf 度\n", x, ret);
ret =acos(x) * val;
printf("%lf 的反余弦是 %lf 度\n", x, ret);
ret = atan(x) * val;
printf("%lf 的反正切是 %lf 度\n", x, ret);
return(0);
}
输出结果为:
最后还有一个反正切函数atan2。atan2() 是 atan() 的增强版,能够确定角度所在的象限。它返回以弧度表示的 y/x
的反正切。y
和 x
的值的符号决定了正确的象限。
它的两个参数:
弧度区间为 [-π,+π]
。
当 (x, y) 在象限中时:
当 (x, y) 在象限的边界(也就是坐标轴)上时:
测试代码如下:
#include <stdio.h>
#include <math.h>
#define PI 3.14159265
int main ()
{
double x, y, ret, val;
val = 180.0 / PI;
x = 1.0;
y = 1.0;
ret = atan2 (y,x) * val;
printf("x = %lf, y = %lf 的反正切", x, y);
printf("是 %lf 度\n", ret);
x = 1.0;
y = -1.0;
ret = atan2 (y,x) * val;
printf("x = %lf, y = %lf 的反正切", x, y);
printf("是 %lf 度\n", ret);
x = -1.0;
y = 1.0;
ret = atan2 (y,x) * val;
printf("x = %lf, y = %lf 的反正切", x, y);
printf("是 %lf 度\n", ret);
x = -1.0;
y = -1.0;
ret = atan2 (y,x) * val;
printf("x = %lf, y = %lf 的反正切", x, y);
printf("是 %lf 度\n", ret);
return(0);
}
输出结果如下:
OkHttp的作用 OkHttp is an HTTP client。 如果是HTTP的方式想得到数据,就需要我们在页面上输入网址,如果网址没有问题,就有可能返回对应的String字符串,如果这个地址
Record 一个重要的字符串算法,这是第三次复习。 通过总结我认为之所以某个算法总是忘记,是因为大脑始终没有认可这种算法的逻辑(也就是脑回路)。 本篇主要讲解从KMP的应用场景,
SQL 注入基础 【若本文有问题请指正】 有回显 回显正常 基本步骤 1. 判断注入类型 数字型 or 字符型 数字型【示例】:
标签: #Prompt #LLM 创建时间:2023-04-28 17:05:45 链接: 课程(含JupyterNotebook) , 中文版 讲师: An
Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代的功能来是的编程更加简单、灵活和有趣。界面则基于
红日靶机(一)笔记 概述 域渗透靶机,可以练习对域渗透的一些知识,主要还是要熟悉 powershell 语法,powershell 往往比 cmd 的命令行更加强大,而很多渗透开源的脚本都是 po
八大绩效域详细解析 18.1 干系人绩效域 跟干系人所有相关的活动. 一、预期目标 ①与干系人建立高效的工作关系 ②干系人认同项目目标 ③支持项目的干系人提高
18.3 开发方法和生命周期绩效域 跟开发方法,项目交付节奏和生命周期相关的活动和职能. 一、预期目标: ①开发方法与项目可交付物相符合; ②将项目交付与干系人价值紧密
18.7 度量绩效域 度量绩效域涉及评估项目绩效和采取应对措施相关的活动和职能度量是评估项目绩效,并采取适当的应对措施,以保持最佳项目绩效的过程。 一、 预期目标: ①对项目状况
pygraphviz 安装,windows系统: 正确的安装姿势: Prebuilt-Binaries/PyGraphviz at master · CristiFati/Prebuilt-Binar
今天给大家介绍IDEA开发工具如何配置devtools热加载工具。 1、devtools原理介绍 spring-boot-devtools是spring为开发者提供的热加载
一 什么是正则表达式 // 正则表达式(regular expression)是一个描述字符模式的对象; // JS定义RegExp类表示正则表达式; // String和RegExp都定义了使用
目前是2022-04-25 23:48:03,此篇博文分享到互联网上估计是1-2个月后的事了,此时的OpenCV3最新版是3.4.16 这里前提是gcc,g++,cmake都需要安装好。 没安装好的,
一、概述 1、Flink 是什么 Apache Flink is a framework and distributed processing engine for stateful comput
一、window 概述 Flink 通常处理流式、无限数据集的计算引擎,窗口是一种把无限流式数据集切割成有限的数据集进行计算。window窗口在Flink中极其重要。 二、window 类型 w
一、触发器(Trigger) 1.1、案例一 利用global window + trigger 计算单词出现三次统计一次(有点像CountWindow) 某台虚拟机或者mac 终端输入:nc -
一、时间语义 在Flink 中涉及到三个重要时间概念:EventTime、IngestionTime、ProcessingTime。 1.1、EventTime EventTime 表示日志事
一、概述 以wordcount为例,为什么每次输入数据,flink都能统计每个单词的总数呢?我们都没有显示保存每个单词的状态值,但是每来一条数据,都能计算单词的总数。事实上,flink在底层维护了每
一、概述 checkpoint机制是Flink可靠性的基石,可以保证Flink集群在某个算子因为某些原因(如 异常退出)出现故障时,能够将整个应用流图的状态恢复到故障之前的某一状态,保 证应用流图状
一、standalone 部署模式 1、下载安装包 下载安装包地址 有两种安装包类型: 第一种是带 Hadoop依赖的(整合YARN) 第二种是不带 Hadoop依赖的(Standalone模式)
我是一名优秀的程序员,十分优秀!