91aaa在线国内观看,亚洲AV午夜福利精品一区二区,久久偷拍人视频,久久播这里有免费视播

<strong id="fvuar"></strong>

  • <sub id="fvuar"><dl id="fvuar"><em id="fvuar"></em></dl></sub>

    1. 千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

      手機站
      千鋒教育

      千鋒學習站 | 隨時隨地免費學

      千鋒教育

      掃一掃進入千鋒手機站

      領取全套視頻
      千鋒教育

      關注千鋒學習站小程序
      隨時隨地免費學習課程

      當前位置:首頁  >  技術干貨  > 詳解atan2f函數

      詳解atan2f函數

      來源:千鋒教育
      發(fā)布人:xqq
      時間: 2023-11-20 21:57:03 1700488623

      一、atan2返回

      atan2函數是C++中的數學函數之一,它的作用是計算出兩個坐標點之間的夾角。在計算機圖像學領域中,使用atan2函數非常廣泛。在使用atan2函數的時候,需要注意一定的數學知識,才能正確地計算出夾角。

      atan2函數的返回值是一個弧度值或角度值,范圍為[-PI, PI]或[-180°, 180°]。它的具體計算方式是通過計算y/x來獲取角度值。

      例如:

      double dx = X2 - X1;
      double dy = Y2 - Y1;
      double angle = atan2(dy, dx) * 180 / PI;
      

      其中,X1和Y1是點1的坐標值,X2和Y2是點2的坐標值,dx和dy則是點1和點2之間的距離。

      二、atan2f STM32

      在STM32開發(fā)中,由于硬件的限制,有時候我們需要使用浮點數型的atan2函數,即atan2f函數。

      使用atan2f函數需要注意的一點是,對于STM32F10x系列的微控制器,由于沒有FP狀態(tài)指示器,需要手動保存和還原FP狀態(tài)以防止產生意外的錯誤。

      示例代碼:

      float x = 1.0, y = 1.0;
      float angle;
      __asm {
        VMOV    S0, R0
        VMOV    S1, R1
        BL      __save_FP
        BL      atan2f
        BL      __restore_FP
        VMOV    R0, S0
      }
      angle = R0;
      

      三、atan2f函數

      atan2f函數是C++標準庫中的函數之一,它的作用和atan2函數相似,是用來計算給定坐標點之間的夾角。

      atan2f函數擁有與atan2函數相同的特點,即其返回值也是[-PI, PI]或[-180°, 180°]之間的值。而返回值是用弧度制來計算的。

      示例代碼:

      #include 
      float x = 1.0, y = 1.0;
      float angle = atan2f(y, x);
      

      四、atan2返回值

      atan2函數的返回值范圍是[-PI, PI]或[-180°, 180°]之間,它的具體返回值取決于x和y的值。當y和x的值都為0時,函數返回0。

      示例代碼:

      double x = 0.0;
      double y = 0.0;
      double angle = atan2(y, x);
      

      五、atan2返回nan

      當x和y的值都為無窮大時,返回的結果是NaN。當x為有限的,但是y為無限制時,函數返回的也將是NaN。

      示例代碼:

      double x = 1.0;
      double y = INFINITY;
      double angle = atan2(y, x);
      

      六、atan2范圍

      無論x和y的值是負數還是正數,atan2函數的返回值都在[-PI, PI]或[-180°, 180°]之間。如果需要計算超過此范圍之外的角度,需要在計算時進行轉換。

      示例代碼:

      double x = -1.0;
      double y = -1.0;
      double angle = atan2(y, x);
      angle = angle < 0 ? angle + 2*PI : angle;
      

      七、atan2f和atan2

      atan2f和atan2函數在使用方法上并沒有什么差別,只是atan2f函數所接受的參數為float類型的。

      同樣的,atan2f函數的返回值也是用弧度制來計算的,并且范圍為[-PI, PI]或[-180°, 180°]之間。

      示例代碼:

      #include 
      float x = 1.0, y = 1.0;
      float angle = atan2f(y, x);
      

      八、atan2返回值范圍

      由于atan2函數返回的值的范圍為[-PI, PI]或[-180°, 180°]之間,因此可以使用floor函數將結果的小數部分舍去,獲取整數部分。

      示例代碼:

      double x = 1.0;
      double y = 1.0;
      double angle = atan2(y, x);
      int degrees = floor(angle * 180 / PI + 0.5);
      

      tags: atan2f
      聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
      10年以上業(yè)內強師集結,手把手帶你蛻變精英
      請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
      免費領取
      今日已有369人領取成功
      劉同學 138****2860 剛剛成功領取
      王同學 131****2015 剛剛成功領取
      張同學 133****4652 剛剛成功領取
      李同學 135****8607 剛剛成功領取
      楊同學 132****5667 剛剛成功領取
      岳同學 134****6652 剛剛成功領取
      梁同學 157****2950 剛剛成功領取
      劉同學 189****1015 剛剛成功領取
      張同學 155****4678 剛剛成功領取
      鄒同學 139****2907 剛剛成功領取
      董同學 138****2867 剛剛成功領取
      周同學 136****3602 剛剛成功領取
      相關推薦HOT