[问题] 关于方位角与勒让得多项式

楼主: u5484 (ROCK N ROLL)   2013-02-02 21:53:38
大家好 小弟想请问一个简单的数学问题
由于目前需要使用空间中的球座标系座标来计算仰角
例:一个点在空间中的座标 (x,y,z)
而仰角计算公式为: Arccos(z平方/根号(x平方+y平方+z平方)
小弟只用此公式计算出"仰"角之后 再带入勒让得多项式
可是问题来了
由于勒让得多项式所限定需要带入的Cosin theta值必须介于-1~1之间
而小弟算出来的数值有超过1.5~2.多的
请问需要做转换之类的吗还是?
否则这样子无法做计算
请神人帮解答
感谢!!!
作者: tkcn (say)   2013-02-02 22:09:00
不熟,但我猜 -1~1 的单位是 PI?
楼主: u5484 (ROCK N ROLL)   2013-02-02 22:13:00
应该不是喔 他就是介于-1~1之间的弧度值吧!
作者: DJWS (...)   2013-02-03 12:53:00
C和matlab 呼叫 acos 得到的数值是 [0, 3.14..] 的弧度值喔!所以 theta 介于 [0, 3.14...] cos(theta) 介于 [-1, 1]应该是没有问题才对
楼主: u5484 (ROCK N ROLL)   2013-02-03 12:59:00
可是我利用空间中座标再搭配arccos所得到的数值有超过...所以是不是代表我还要将它做旋转角度的动作呢??不好意思 小弟笔误 是计算其仰角才对
作者: DJWS (...)   2013-02-03 13:05:00
也有可能是程式码写错 你可以把计算仰角的程式码贴出来~还有那个仰角的公式 分子是z而不是z平方http://zh.wikipedia.org/wiki/球坐标系
楼主: u5484 (ROCK N ROLL)   2013-02-03 13:07:00
小弟的仰角计算公式: acos(z/sqrt(x*x+y*y+z*z))感谢提醒 小弟已修正z平方然后再利用此公式得到的弧度值带入Legendre计算中但MATLAB中明显指出范围须介于-1~1之间 所以很困惑
作者: DJWS (...)   2013-02-03 13:10:00
请问你用哪一种程式语言? 我第一次见到arc这个函数...
楼主: u5484 (ROCK N ROLL)   2013-02-03 13:13:00
!!不好意思一直打错= = 我是用C 是acos才对 Sorry!!
作者: DJWS (...)   2013-02-03 13:18:00
照这样看应该是程式码方面的问题 你得找人帮你检查程式码
楼主: u5484 (ROCK N ROLL)   2013-02-03 13:20:00
程式码方面我都跟MATLAB所产生的结果对照过了 计算出的结果是一样的 只是这边可能需要做一些角度转换什么的...很困扰也许我的反余弦函数得到的值还需要做扣掉pi/2?
作者: vaakaa (我要欧趴)   2013-02-03 16:29:00
建议你可以另外写条件"标记"出有问题的点确认看看带入点和结果合不合理

Links booklink

Contact Us: admin [ a t ] ucptt.com