球面點三維坐標到紋理二維坐標的轉換


把全景圖像貼在一個固定半徑的三維球體上,這樣該視點空間就建立起來了。這里的固定半徑對應固

定的焦距。

三維球體的半徑為r,水平轉動角度為h([0,2PI]),上下轉動角度為p([-PI/2,PI/2]),所以球面上一

點的三維坐標sphere(x,y,z)=(r*cosp*cosh,r*cosp*sinh,r*sinp)。

反向變換有p=arcsin(z/r) ,h=arctan(y/x)。

當把p對應到紋理的V方向,把H對應到紋理的U方向,UV的范圍都是[0,1]。在知道球面坐標x、y,z和半

r以后,球面點對應的紋理坐標就是V=arcsin(z/r)/PI+0.5,U=arctan(y/x)/2/PI。

 

轉自:http://blog.sina.com.cn/s/blog_4bbdad0801017yqs.html

 

 

前言

 

經緯度坐標和XYZ笛卡爾坐標的轉換常常應用在有關全景圖的研究方面,在看了幾篇提案和論文后才理解了坐標的轉換方法

 

正文

 

通過一張圖來說明

 

 

按照我們直觀的理解,會認為φ角是藍色實線和y軸的夾角,θ角是XOZ平面的藍色虛線和z軸的夾角。但實時上並不是這樣。

 

我們先假設P=(φ,θ)對應為地理坐標中的經度和緯度,那么當P點位於球的頂端時,其緯度為90°;當P點位於球的赤道上時,其緯度應該為0°,也就是說,y軸其實是對應φ為90°的時候。(具體參照有圖可更好的理解)

 

按照上面的結論,我們就可以寫出下面的對應關系

 

 

與第一個圖的坐標對應相同。至此我們就完成了經緯度坐標到XYZ坐標的轉化。

 

 

轉自:https://blog.csdn.net/Return_0_/article/details/88067804?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

 

--------------------------------------------------

自己的理解:

如果一張圖的分辨率是200x100,那么圖片中任意像素,對應到球形直角坐標系的坐標是多少呢?

假設該任意像素位置為(u,v),很明顯u的取值范圍為[0,200],v的取值范圍為[0,100]

有上面文章的鋪墊 φ角的取值范圍是[-π/2,π/2],θ角的取值范圍是[-π,π]

則任意像素位置(u,v)對應的φ角和θ角為

θ=[(u*2π)÷200]-π

φ=[(v*π)÷100]-π/2

代入到公式

得到三維坐標系的坐標(x,y,z)

x=cos(φ)sin(θ)

y=sin(φ)

z=cos(φ)cos(θ)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM