當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust f32.atan2用法及代碼示例


本文簡要介紹rust語言中 f32.atan2 的用法。

用法

pub fn atan2(self, other: f32) -> f32

以弧度計算self (y) 和other (x) 的四象限反正切。

  • x = 0y = 00
  • x >= 0 : arctan(y/x) -> [-pi/2, pi/2]
  • y >= 0 : arctan(y/x) + pi -> (pi/2, pi]
  • y < 0 : arctan(y/x) - pi -> (-pi, -pi/2)

例子

// Positive angles measured counter-clockwise
// from positive x axis
// -pi/4 radians (45 deg clockwise)
let x1 = 3.0f32;
let y1 = -3.0f32;

// 3pi/4 radians (135 deg counter-clockwise)
let x2 = -3.0f32;
let y2 = 3.0f32;

let abs_difference_1 = (y1.atan2(x1) - (-std::f32::consts::FRAC_PI_4)).abs();
let abs_difference_2 = (y2.atan2(x2) - (3.0 * std::f32::consts::FRAC_PI_4)).abs();

assert!(abs_difference_1 <= f32::EPSILON);
assert!(abs_difference_2 <= f32::EPSILON);

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 f32.atan2。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。