PALMisLIFE 討論區

搜索
鹹魚爸魅力四射舞蹈教室
查看: 9786|回復: 11
打印 上一主題 下一主題

球面三角的反三角函數公式

[複製鏈接]

16

主題

0

好友

224

積分

該用戶從未簽到

文章
182
跳轉到指定樓層
1#
發表於 2007-1-2 16:24 |只看該作者 |倒序瀏覽
問題跟寫程式有點關係,所以就貼到這個板來..

最近幫朋友寫了一個跟測量有關的程式,
算到最後,得出 cot A = X,
現在想要算出 A 角是多少。

只是 C Language 中的函數中,只有 sin, cos, tan,反三角只有 asin, acos, atan
並沒有 cot 及 acot 函數可用

本來我用平面三角的公式 cot A = 1/tan A 代入,
測試結果都不正確,
後來才想到可能是球面三角的公式與平面不同

在google上爬了幾天,越看越迷糊
因為高中唸的是社會組,當年都沒有唸這些東西

只好來此,請問各位:
已知 cot A = X ,
如何用 asin, acos, atan 求出 A 值呢?
分享淘帖0 分享分享0 收藏收藏0 頂0 踩0

201

主題

6

好友

1986

積分

該用戶從未簽到

文章
2638
2#
發表於 2007-1-2 17:03 |只看該作者

Re: 球面三角的反三角函數公式

cotA=cosA/sinA
三角函數是沒有分球面或是平面的,它只是角度和邊長比值對應關係

補充一個網站http://mathworld.wolfram.com/
去這邊查比較快

[ 本文最後由 leox 於 2007-1-2 17:07 編輯 ]
回復

使用道具 舉報

21

主題

0

好友

518

積分

該用戶從未簽到

文章
398
3#
發表於 2007-1-2 18:38 |只看該作者

Re: 球面三角的反三角函數公式

提醒一下,C library 裡的三角函數公式,使用的是「逕(?)度」而不是「角度」哦!
也就是說,如果你想算的是 cos60° ,那你應該要用 cos(PI/3),而不是 cos(60)。

同樣的,用反三角求回來的值,也必須乘上 360 / (2*PI) 才是角度值。
回復

使用道具 舉報

16

主題

0

好友

224

積分

該用戶從未簽到

文章
182
4#
發表於 2007-1-2 20:10 |只看該作者

Re: 球面三角的反三角函數公式

感謝兩位的協助!

C Library 所使用的確實是「弳度量」─
謝謝提醒,不過已經來不及了   ─ 之前為了這個,抓了很久,才發現「陷阱」

我上了那個網頁去看:
得到的心得如下:

cot A = X =  1 / tan A

A = acot X = atan ( 1 / X )

atan X + acot X =  Pi / 2

不知是否正確?
回復

使用道具 舉報

201

主題

3

好友

2714

積分

沒事,因為都是壞事…

  • TA的每日心情
    慵懶
    2011-6-17 14:51
  • 簽到天數: 8 天

    連續簽到: 1 天

    [LV.3]偶爾看看II

    文章
    2819
    5#
    發表於 2007-1-2 20:23 |只看該作者

    Re: 球面三角的反三角函數公式

    我猜VoodooMark兄是要計算球面上弧長?

    可能要用三角函數對極座標積分…
    卑鄙是卑鄙者的通行證,高尚是高尚者的墓誌銘 - 北島 <回答>
    回復

    使用道具 舉報

    16

    主題

    0

    好友

    224

    積分

    該用戶從未簽到

    文章
    182
    6#
    發表於 2007-1-2 20:24 |只看該作者

    Re: 球面三角的反三角函數公式

    補充說明一下:
    朋友已經離開學校多年,相關的公式也忘得差不多不了,
    他只說在 cot A = X 時,求 A 值有兩種公式:

    公式一: A = atan (1/x)
    公式二 : A = 90 - atan X 或 A = 90 - atan(1/X)

    用這兩個公式算出來,會出現例如:A = 3.12  或 A=176.88

    他會根據他自已的「實務」經驗,選擇「合理」的答案
    問題是寫程式,必須寫入判斷式,無法判斷所謂的「合理」

    所以,才來請問到底正確公式是什麼?
    回復

    使用道具 舉報

    201

    主題

    3

    好友

    2714

    積分

    沒事,因為都是壞事…

  • TA的每日心情
    慵懶
    2011-6-17 14:51
  • 簽到天數: 8 天

    連續簽到: 1 天

    [LV.3]偶爾看看II

    文章
    2819
    7#
    發表於 2007-1-2 20:40 |只看該作者

    Re: 球面三角的反三角函數公式

    cot A = X
    A = atan (π/2 - X)
    的樣子…
    卑鄙是卑鄙者的通行證,高尚是高尚者的墓誌銘 - 北島 <回答>
    回復

    使用道具 舉報

    201

    主題

    6

    好友

    1986

    積分

    該用戶從未簽到

    文章
    2638
    8#
    發表於 2007-1-2 20:57 |只看該作者

    Re: Re: 球面三角的反三角函數公式

    原文由 VoodooMark 於 2007-1-2 20:24 發表
    補補充說明一下:
    朋友已經離開學校多年,相關的公式也忘得差不多不了,
    他只說在 cot A = X 時,求 A 值有兩種公式:

    公式一: A = atan (1/x)
    公式二 : A = 90 - atan X 或 A = 90 - atan(1/X)

    用這兩個公式算出來,會出現例如:A = 3.12  或 A=176.88

    他會根據他自已的「實務」經驗,選擇「合理」的答案
    問題是寫程式,必須寫入判斷式,無法判斷所謂的「合理」

    所以,才來請問到底正確公式是什麼?


    你可以把兩個答案加起來....是不是等於180
    然後看看http://mathworld.wolfram.com/Cotangent.html這裡cot的函數圖形
    這函數的圖形週期是不是剛好就是180度(pi)
    所以這兩個答案都是對的,因為cot 176.88(度)=cot 3.12 (度)
    當然你再把176.88加上180或是3.12減掉180之後再取cot值答案也是會一樣的
    所以最終的問題就是你要限定A值的定義域

    [ 本文最後由 leox 於 2007-1-2 20:59 編輯 ]
    回復

    使用道具 舉報

    16

    主題

    0

    好友

    224

    積分

    該用戶從未簽到

    文章
    182
    9#
    發表於 2007-1-2 22:21 |只看該作者

    Re: 球面三角的反三角函數公式

    jedij 兄:

           那個公式好像有點問題,用 cot 45 = 1 代入後,反算的值算不出 A = 45


    leoX 兄:

    我用計算機算( tan ( 1/x) )有正負號的不同,
    也就是 cot 176.88(度)=    - cot 3.12 (度)

    也就是因為這樣,我一直都以為是在整個繁雜的計算過程中,有正負符號的錯用
    查很久,卻查不到程式有錯誤的情形

    如果 atan 無法求得唯一的解,那就只好想辦法找出   A 值的定義域了
    回復

    使用道具 舉報

    201

    主題

    3

    好友

    2714

    積分

    沒事,因為都是壞事…

  • TA的每日心情
    慵懶
    2011-6-17 14:51
  • 簽到天數: 8 天

    連續簽到: 1 天

    [LV.3]偶爾看看II

    文章
    2819
    10#
    發表於 2007-1-2 23:16 |只看該作者

    Re: Re: 球面三角的反三角函數公式

    原文由 VoodooMark 於 2007-1-2 22:21 發表
    也就是因為這樣,我一直都以為是在整個繁雜的計算過程中,有正負符號的錯用
    查很久,卻查不到程式有錯誤的情形

    如果 atan 無法求得唯一的解,那就只好想辦法找出   A 值的定義域了

    不好意思,不知倒是不是真的錯了…
    你可以到MS Excel裡函數的Help找到一些資訊。

    另外,atan,acot都不是很好的函數,因為定義域是正、負無限。
    Wiki-反三角函數
    卑鄙是卑鄙者的通行證,高尚是高尚者的墓誌銘 - 北島 <回答>
    回復

    使用道具 舉報

    201

    主題

    6

    好友

    1986

    積分

    該用戶從未簽到

    文章
    2638
    11#
    發表於 2007-1-2 23:47 |只看該作者

    Re: Re: 球面三角的反三角函數公式

    原文由 VoodooMark 於 2007-1-2 22:21 發表
    jedij 兄:

           那個公式好像有點問題,用 cot 45 = 1 代入後,反算的值算不出 A = 45


    leoX 兄:

    我用計算機算( tan ( 1/x) )有正負號的不同,
    也就是 cot 176.88(度)=    - cot 3.12 (度) ...


    對...我少加了個負號....抱歉
    所以我也看錯了
    所以你的問題我也自以為很簡單....我再想一想蛤

    =======================================
    盜用MATHWORLD的圖


    tan A和cot A互為倒數關係,基本上arc cot的圖就是上面對著x軸的鏡像
    然後在y軸上也是有週期性,週期也是pi
    所以還是一樣,必須找出原先設定的定義域
    不然最後就只剩下用指數形式來表示的方法了,這邊會牽扯的虛數的運算...

    [ 本文最後由 leox 於 2007-1-3 00:21 編輯 ]
    回復

    使用道具 舉報

    16

    主題

    0

    好友

    224

    積分

    該用戶從未簽到

    文章
    182
    12#
    發表於 2007-1-3 19:14 |只看該作者

    Re: 球面三角的反三角函數公式

    沒想到這麼複雜....

    實在忍不住要抱怨一下,
    在工程計算機上只有三個三角、反三角函數,
    這畢竟是因為受限於計算機的體積

    但是 C Library中似乎沒有必要如此自我設限吧?
    何不把六個三角、反三角函數都列出來,讓生命簡單些?

    抱怨完了,回到主題:
    如果球面三角和平面三角的公式沒有不同,
    那麼當 cot A = X ,
    則 X = 1 / tan A
        tan A = 1/X,  
    所以  A = atan 1/X

    而 atan : ( - ∞ , ∞ )  -> (-Pi/2, Pi/2),  也就是 -90度 < A < 90 度
    只有 A 在 90 度時不存在

    這樣看來,只有唯一解啊! 真是搞不懂?

    另外,回jedij兄的話:
    我在Excel的 Help 裡找不到資料,可是我突然想到在奇摩知識找,找到以下的一段話:
    原始網頁

    1. 在x是實數且x不等於0下,是否恆有
    2. arctanx=arccot1/x(否)(tanx為負值時.不合)
    3. arccotx=arctan1/x(否)(tanx為負值時.不合)

    4. 若tanx為負值.應修正為
    5. arctanx= arccot1/x - π
    6. arccotx= π + arctan1/x
    複製代碼


    謝謝各位大哥為小弟如此傷腦筋...
    回復

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 免費註冊

    與站長聯繫| PALMisLIFE 掌上生活      下載:更快、更棒、更好玩

    GMT+8, 2024-11-15 00:45 , Processed in 0.064125 second(s), 31 queries , Gzip On.

    Powered by Discuz!

    © 2001-2012 Comsenz Inc. style by eisdl

    回頂部