- Java.lang 包类
- Java.lang - 首页
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包附加内容
- Java.lang - 接口
- Java.lang - 错误
- Java.lang - 异常
- Java.lang 包有用资源
- Java.lang - 有用资源
- Java.lang - 讨论
Java - StrictMath atan2(double, double) 方法
描述
Java StrictMath atan2(double y,double x) 方法将直角坐标 (x, y) 转换为极坐标 (r, theta)。此方法通过计算 y/x 的反正切值(范围为 -pi 到 pi)来计算相位 theta。特殊情况:−
如果任一参数为 NaN,则结果为 NaN。
如果第一个参数为正零且第二个参数为正,或者第一个参数为正且有限且第二个参数为正无穷大,则结果为正零。
如果第一个参数为负零且第二个参数为正,或者第一个参数为负且有限且第二个参数为正无穷大,则结果为负零。
如果第一个参数为正零且第二个参数为负,或者第一个参数为正且有限且第二个参数为负无穷大,则结果为最接近 pi 的双精度值。
如果第一个参数为负零且第二个参数为负,或者第一个参数为负且有限且第二个参数为负无穷大,则结果为最接近 -pi 的双精度值。
如果第一个参数为正且第二个参数为正零或负零,或者第一个参数为正无穷大且第二个参数为有限值,则结果为最接近 pi/2 的双精度值。
如果第一个参数为负且第二个参数为正零或负零,或者第一个参数为负无穷大且第二个参数为有限值,则结果为最接近 -pi/2 的双精度值。
如果两个参数都为正无穷大,则结果为最接近 pi/4 的双精度值。
如果第一个参数为正无穷大且第二个参数为负无穷大,则结果为最接近 3*pi/4 的双精度值。
如果第一个参数为负无穷大且第二个参数为正无穷大,则结果为最接近 -pi/4 的双精度值。
如果两个参数都为负无穷大,则结果为最接近 -3*pi/4 的双精度值。
结果必须在正确舍入结果的 2 ulps 之内。结果必须是半单调的。
声明
以下是java.lang.StrictMath.atan2() 方法的声明
public static double atan2(double y, double x)
参数
y − 纵坐标
x − 横坐标
返回值
此方法返回与笛卡尔坐标系中点 (x, y) 对应的极坐标系中点 (r, theta) 的 theta 分量。
异常
无
获取正值的反正切示例
以下示例演示了使用两个参数都具有正值的 StrictMath atan2() 方法。
package com.tutorialspoint; public class StrictMathDemo { public static void main(String[] args) { // get a variable x which is equal to PI/2 double x = StrictMath.PI / 2; // get a variable y which is equal to PI/3 double y = StrictMath.PI / 3; // convert x and y to degrees x = StrictMath.toDegrees(x); y = StrictMath.toDegrees(y); // get the polar coordinates System.out.println("StrictMath.atan2(" + x + "," + y + ")=" + StrictMath.atan2(x, y)); } }
输出
让我们编译并运行上述程序,这将产生以下结果:
StrictMath.atan2(90.0,59.99999999999999)=0.9827937232473292
获取负值的反正切示例
以下示例演示了使用两个参数都具有负值的 StrictMath atan2() 方法。
package com.tutorialspoint; public class StrictMathDemo { public static void main(String[] args) { // get a variable x which is equal to -PI/2 double x = -(StrictMath.PI / 2); // get a variable y which is equal to -PI/3 double y = -(StrictMath.PI / 3); // convert x and y to degrees x = StrictMath.toDegrees(x); y = StrictMath.toDegrees(y); // get the polar coordinates System.out.println("StrictMath.atan2(" + x + "," + y + ")=" + StrictMath.atan2(x, y)); } }
输出
让我们编译并运行上述程序,这将产生以下结果:
StrictMath.atan2(-90.0,-59.99999999999999)=-2.158798930342464
获取第一个参数为正,第二个参数为负的反正切示例
以下示例演示了使用第一个参数为正,第二个参数为负值的 StrictMath atan2() 方法。
package com.tutorialspoint; public class StrictMathDemo { public static void main(String[] args) { // get a variable x which is equal to PI/2 double x = StrictMath.PI / 2; // get a variable y which is equal to -PI/3 double y = -(StrictMath.PI / 3); // convert x and y to degrees x = StrictMath.toDegrees(x); y = StrictMath.toDegrees(y); // get the polar coordinates System.out.println("StrictMath.atan2(" + x + "," + y + ")=" + StrictMath.atan2(x, y)); } }
输出
让我们编译并运行上述程序,这将产生以下结果:
StrictMath.atan2(90.0,-59.99999999999999)=2.158798930342464