【转】Math.Atan2 方法
原文网址:https://msdn.microsoft.com/zh-cn/library/system.math.atan2.aspx
返回正切值为两个指定数字的商的角度。
命名空间: System
程序集: mscorlib(在 mscorlib.dll 中)
返回值
如果 (x, y) 在第 1 象限,则 0 < θ < π/2。
如果 (x, y) 在第 2 象限,则 π/2 < θ≤π。
如果 (x, y) 在第 3 象限,则 -π < θ < -π/2。
如果 (x, y) 在第 4 象限,则 -π/2 < θ < 0。
如果点在象限的边界上,则返回值如下:
如果 y 为 0 并且 x 不为负值,则 θ = 0。
如果 y 为 0 并且 x 为负值,则 θ = π。
如果 y 为正值并且 x 为 0,则 θ = π/2。
如果 y 为负值并且 x 为 0,则 θ = -π/2。
如果 y 为 0 并且 x 为 0,则 θ = 0。
如果 x 或 y 为 NaN,或者 x 和 y 为 PositiveInfinity 或 NegativeInfinity,则该方法将返回 NaN。
返回值为笛卡尔平面中的角度,该角度由 x 轴和起点为原点 (0,0)、终点为 (x,y) 的向量构成。
下面的示例演示如何计算角和向量的反正切。 结果值会显示在控制台中。
- // This example demonstrates Math.Atan()
- // Math.Atan2()
- // Math.Tan()
- using System;
- class Sample
- {
- public static void Main()
- {
- double x = 1.0;
- double y = 2.0;
- double angle;
- double radians;
- double result;
- // Calculate the tangent of 30 degrees.
- angle = 30;
- radians = angle * (Math.PI/180);
- result = Math.Tan(radians);
- Console.WriteLine("The tangent of 30 degrees is {0}.", result);
- // Calculate the arctangent of the previous tangent.
- radians = Math.Atan(result);
- angle = radians * (180/Math.PI);
- Console.WriteLine("The previous tangent is equivalent to {0} degrees.", angle);
- // Calculate the arctangent of an angle.
- String line1 = "{0}The arctangent of the angle formed by the x-axis and ";
- String line2 = "a vector to point ({0},{1}) is {2}, ";
- String line3 = "which is equivalent to {0} degrees.";
- radians = Math.Atan2(y, x);
- angle = radians * (180/Math.PI);
- Console.WriteLine(line1, Environment.NewLine);
- Console.WriteLine(line2, x, y, radians);
- Console.WriteLine(line3, angle);
- }
- }
- /*
- This example produces the following results:
- The tangent of 30 degrees is 0.577350269189626.
- The previous tangent is equivalent to 30 degrees.
- The arctangent of the angle formed by the x-axis and
- a vector to point (1,2) is 1.10714871779409,
- which is equivalent to 63.434948822922 degrees.
- */
【转】Math.Atan2 方法的更多相关文章
- Math.Atan2 方法
返回正切值为两个指定数字的商的角度. public static double Atan2 ( double y, double x ) 参数 y 点的 y 坐标. x 点的 x 坐标. 返回值 角 ...
- JavaScript Math 对象方法
Math 对象方法 方法 描述 abs(x) 返回数的绝对值. acos(x) 返回数的反余弦值. asin(x) 返回数的反正弦值. atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值 ...
- 数学API Math.atan() 和Math.atan2() 三角函数复习
今天在学习贝塞尔曲线看到需要结合三角函数 以及两个不认识的Api :API Math.atan() 和Math.atan2() 先看下三角函数 正切函数图:(180为一个周期 即45=45+180) ...
- JS:Math 对象方法
Math 对象方法方法 描述Math.ceil(x) 对数进行上舍入.(向上取整:大于等于x的最小整数)Math.floor(x) 对数进行下舍入.(小于等于x的最大整数)Ma ...
- 转:Math: Math.atan() 与 Math.atan2() 计算两点间连线的夹角
我们可以使用正切操作将角度转变为斜率,那么怎样利用斜率来转换为角度呢?可以利用斜率的反正切函数将他转换为相应的角度.as中有两个函数可以计算反正切,我们来看一下. 1.Math.atan() Math ...
- js math atan2
在双十二活动中,视觉要求实现一个鼠标跟随运动的的效果,就像“觉”的那个效果类似 其实原理很简单,看鼠标从哪个方向进的及从哪个方向出的,然后区块里绝对定位的浮层就可以根据鼠标方向 运动; 如:在鼠标进入 ...
- JS如何使用Math.atan2获取两点之间角度的实践案例
本文主要介绍使用如何实现手动拖拽旋转元素的效果. 1.简述 最近在研究如何实现手动控制元素的旋转效果,在网上找了很多,都没有找出类似的实现,因此经过一些调研和计算,最终完美实现效果,在这里记录下来. ...
- JavaScript (JS)基础:ECMAScript 浅析 (含Math基本方法解析)
浏览器端JavaScript的组成 ECMAScript:语法规范 DOM:Document Object Model 文档对象模型,操作页面元素 BOM:Browser Object Model ...
- 20150914 异常语句 math的方法 去空格 索引
异常语句 int cuo = 0; Console.WriteLine("请输入:"); string s = Console.ReadLine(); try { DateTime ...
随机推荐
- Hadoop-2.x的源码编译
由于在Hadoop-2.x中,Apache官网上提供的都是32位版本,如果是生产环境中则需要自行编译64位,编译Hadoop-2.x版本方法如下: 安装编译源码所依赖的底层库 yum install ...
- Eclipse Tomcat : Project facet Java version 1.7 is not supported.
在Eclipse打开一个项目,并用Tomcat运行时,报错:Project facet Java version 1.7 is not supported. 大致的截图如下: "项目中的jd ...
- lesson1:压测普通网页
本文展示了利用jmeter来压力测试普通网页,具体步骤如下: 1.添加[线程组]“lesson1压测普通网页”,“线程数”设置为10:“循环测试“设置为50,如图所示: 2.添加一个"htt ...
- Apache https 配置指南
Windows Apache HTTPS配置创建下面3个目录: C:\Program Files\Apache Group\Apache2\conf\sslC:\Program Files\Apach ...
- EA+svn实现UML的版本号控制
一.安装软件 1.VisualSvn Server svnserver 2.Tortoise Svn svnclient 3.Slik-Subversion-1.7.8-x64版本号控制插件 4.En ...
- Linux安装配置php
1.获取安装文件: http://www.php.net/downloads.php php-5.3.8.tar.gz 获取安装php需要的支持文件:http://download.csdn.net ...
- 【IOS】IOS高速入门之OC语法
Objective-C 是 C 语言的超集 您还能够訪问标准 C 库例程,比如在stdlib.h和stdio.h中声明的那些例程. Objective-C 还是一种很动态的程序设计语言,并且这样的动态 ...
- 使用spring @Scheduled注解运行定时任务、
曾经框架使用quartz框架运行定时调度问题. 老大说这配置太麻烦.每一个调度都须要多加在spring的配置中. 能不能降低配置的量从而提高开发效率. 近期看了看spring的 scheduled的使 ...
- [亲测有效] - Mac下屏蔽优酷广告最简单的方法
这里不和圣母婊争论该不该屏蔽广告,仅给出可行方法. Windows下的Adsafe,万能的去广告神器!可惜Mac下没有这款软件,Adblock之流在国内基本是个玩具,但是我们可以通过修改HOST文件达 ...
- Android Log日志文件的分析、查看
Log 在android中的地位非常重要,要是作为一个android程序员不能过分析log这关,算是android没有入门吧 . 下面我们就来说说如何处理log文件 什么时候会产生log文件呢 ?一般 ...