欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C/C++中的atan和atan2函數(shù)實例用法

 更新時間:2020年02月20日 14:43:04   作者:liloulilou  
在本篇文章里小編給大家分享的是一篇關于C/C++中的atan和atan2函數(shù)實例用法相關內容,有興趣的朋友們可以學習下。

在C語言的math.h或C++中的cmath中有兩個求反正切的函數(shù)atan(double x)與atan2(double y,double x) 他們返回的值是弧度 要轉化為角度再自己處理下。

前者接受的是一個正切值(直線的斜率)得到夾角,但是由于正切的規(guī)律性本可以有兩個角度的但它卻只返回一個,因為atan的值域是從-90~90 也就是它只處理一四象限,所以一般不用它。

第二個atan2(double y,double x) 其中y代表已知點的Y坐標 同理x ,返回值是此點與遠點連線與x軸正方向的夾角,這樣它就可以處理四個象限的任意情況了,它的值域相應的也就是-180~180了

例如:

例1:斜率是1的直線的夾角

cout<<atan(1.0)*180/PI;//45°

cout<<atan2(1.0,1.0)*180/PI;//45° 第一象限

cout<<atan2(-1.0,-1.0)*180/PI;//-135°第三象限

后兩個斜率都是1 但是atan只能求出一個45°

例2:斜率是-1的直線的角度

cout<<atan(-1.0)*180/PI;//-45°

cout<<atan2(-1.0,1.0)*180/PI;//-45° y為負 在第四象限

cout<<atan2(1.0,-1.0)*180/PI;//135° x為負 在第二象限

常用的不是求過原點的直線的夾角 往往是求一個線段的夾角 這對于atan2就更是如魚得水了

例如求A(1.0,1.0) B(3.0,3.0)這個線段AB與x軸正方向的夾角

用atan2表示為 atan2(y2-y1,x2-x1) 即 atan2(3.0-1.0,3.0-1.0)

它的原理就相當于把A點平移到原點B點相應變成B'(x2-x1,y2-y1)點 這樣就又回到先前了

例三:

A(0.0,5.0) B(5.0,10.0)

線段AB的夾角為

cout<<atan2(5.0,5.0)*180/PI;//45°

以上就是腳本之家整理的相關內容,希望能夠幫助到大家。

相關文章

  • Qt中Tab與Tree組件實現(xiàn)分頁菜單

    Qt中Tab與Tree組件實現(xiàn)分頁菜單

    本文主要介紹tabWidget選擇夾組件與TreeWidget樹形選擇組件的常用方法及靈活運用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-12-12
  • c語言打開文件函數(shù)使用方法

    c語言打開文件函數(shù)使用方法

    這篇文章主要介紹了c語言打開文件函數(shù)使用方法,需要的朋友可以參考下
    2014-02-02
  • C語言動態(tài)內存函數(shù)(malloc、calloc、realloc、free)詳解

    C語言動態(tài)內存函數(shù)(malloc、calloc、realloc、free)詳解

    在C語言中,動態(tài)內存函數(shù)是塊重要的知識點,以往,我們開辟空間都是固定得,數(shù)組編譯結束后就不能繼續(xù)給它開辟空間了,開辟的空間滿了,就不能在開辟空間了,學習本文章,我們就可以解決這個問題,向內存申請空間,感興趣的小伙伴跟著小編一起來看看吧
    2023-08-08
  • Qt QML使用虛擬鍵盤的示例代碼

    Qt QML使用虛擬鍵盤的示例代碼

    這篇文章主要為大家詳細介紹了Qt QML使用虛擬鍵盤的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • C語言模擬內存函數(shù)分析之mencpy與memmove

    C語言模擬內存函數(shù)分析之mencpy與memmove

    這篇文章主要介紹了C語言詳解如何模擬內存函數(shù),用到了mencpy與memmove兩個函數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • MFC中exe圖標修改的方法

    MFC中exe圖標修改的方法

    修改窗口標題圖標可通過導入圖標,然后在CMainFrame.:OnCreate函數(shù)中加載圖標即可, 代碼如下:
    2013-04-04
  • C++?二叉樹的實現(xiàn)超詳細解析

    C++?二叉樹的實現(xiàn)超詳細解析

    二叉樹可以簡單理解為對于一個節(jié)點來說,最多擁有一個上級節(jié)點,同時最多具備左右兩個下級節(jié)點的數(shù)據(jù)結構。本文將詳細介紹一下C++中二叉樹的實現(xiàn)和遍歷,需要的可以參考一下
    2022-03-03
  • C程序和C++程序之間的互相調用圖文教程

    C程序和C++程序之間的互相調用圖文教程

    這篇文章主要給大家介紹了關于C程序和C++程序之間互相調用的相關資料,我們平常在刷題的時候,難免遇到實現(xiàn)多組輸入這樣的問題,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • 如何用C寫一個web服務器之I/O多路復用

    如何用C寫一個web服務器之I/O多路復用

    本文主要介紹了如何用C寫一個web服務器之I/O多路復用,本次選擇了 I/O 模型的優(yōu)化,因為它是服務器的基礎,這個先完成的話,后面的優(yōu)化就可以選擇各個模塊來進行,不必進行全局化的改動了。
    2021-05-05
  • 詳解C語言之預處理(上)

    詳解C語言之預處理(上)

    這篇文章主要介紹了C語言程序的預處理,小編覺得這篇文章寫的還不錯,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-11-11

最新評論