編程不可不知的坐標(biāo)系簡(jiǎn)介

很多同學(xué)在學(xué)習(xí)編程的過(guò)程中對(duì)坐標(biāo)系的理解不是特別容易,坐標(biāo)系的概念在中學(xué)的時(shí)候才會(huì)涉及到。這也再次說(shuō)明了編程是一門綜合性知識(shí)的應(yīng)用,并不單單是編程而已?,F(xiàn)在開(kāi)始我們的介紹吧!

坐標(biāo)系介紹和種類

為了說(shuō)明質(zhì)點(diǎn)的位置、運(yùn)動(dòng)的快慢、方向等,必須選取其坐標(biāo)系。在參照系中,為確定空間一點(diǎn)的位置,按規(guī)定方法選取的有次序的一組數(shù)據(jù),這就叫做“坐標(biāo)”。在某一問(wèn)題中規(guī)定坐標(biāo)的方法,就是該問(wèn)題所用的坐標(biāo)系。坐標(biāo)系的種類很多,常用的坐標(biāo)系有:笛卡爾直角坐標(biāo)系、平面極坐標(biāo)系、柱面坐標(biāo)系(或稱柱坐標(biāo)系)和球面坐標(biāo)系(或稱球坐標(biāo)系)等。中學(xué)物理學(xué)中常用的坐標(biāo)系,為直角坐標(biāo)系,或稱為正交坐標(biāo)系。

從廣義上講:事物的一切抽象概念都是參照于其所屬的坐標(biāo)系存在的,同一個(gè)事物在不同的作標(biāo)系中就會(huì)有不同抽象概念來(lái)表示,坐標(biāo)系表達(dá)的事物有聯(lián)系的抽象概念的數(shù)量【既坐標(biāo)軸的數(shù)量】就是該事物所處空間的維度。

一句題外話: 兩件能相互改變的事物必須在同坐標(biāo)系中

極坐標(biāo)系

極坐標(biāo)系

極坐標(biāo)系(polar coordinates)是指在平面內(nèi)由極點(diǎn)、極軸和極徑組成的坐標(biāo)系。在平面上取定一點(diǎn)O,稱為極點(diǎn)。從O出發(fā)引一條射線Ox,稱為極軸。再取定一個(gè)單位長(zhǎng)度,通常規(guī)定角度取逆時(shí)針?lè)较驗(yàn)檎?。這樣,平面上任一點(diǎn)P的位置就可以用線段OP的長(zhǎng)度ρ以及從Ox到OP的角度θ來(lái)確定,有序數(shù)對(duì)(ρ,θ)就稱為P點(diǎn)的極坐標(biāo),記為P(ρ,θ);ρ稱為P點(diǎn)的極徑,θ稱為P點(diǎn)的極角。

柱坐標(biāo)系


柱坐標(biāo)系

柱坐標(biāo)系是指使用平面極坐標(biāo)和Z方向距離來(lái)定義物體的空間坐標(biāo)的坐標(biāo)系稱,如空間直角坐標(biāo)系相同,柱坐標(biāo)系中會(huì)有一個(gè)值變量。

球坐標(biāo)系


球坐標(biāo)系
球坐標(biāo)系

球坐標(biāo)系是三維坐標(biāo)系的一種,用以確定三維空間中點(diǎn)、線、面以及體的位置,它以坐標(biāo)原點(diǎn)為參考點(diǎn),由方位角、仰角和距離構(gòu)成。球坐標(biāo)系在地理學(xué)、天文學(xué)中都有著廣泛應(yīng)用。

定義:

在數(shù)學(xué)里,球坐標(biāo)系(英語(yǔ):Spherical coordinate system)是一種利用球坐標(biāo) 表示一個(gè)點(diǎn) p 在三維空間的位置的三維正交坐標(biāo)系。右圖顯示了球坐標(biāo)的幾何意義:原點(diǎn)到 P 點(diǎn)的距離 r ,原點(diǎn)到點(diǎn) P 的連線與正 z-軸之間的天頂角??

圖1:平面坐標(biāo)系

圖1:平面坐標(biāo)系

以及原點(diǎn)到點(diǎn) P 的連線,在 xy-平面的投影線,與正 x-軸之間的方位角 。

平面直角坐標(biāo)系


平面直角坐標(biāo)系

在同一個(gè)平面上互相垂直且有公共原點(diǎn)的兩條數(shù)軸構(gòu)成平面直角坐標(biāo)系,簡(jiǎn)稱直角坐標(biāo)系(Rectangular Coordinates)。通常,兩條數(shù)軸分別置于水平位置與垂直位置,取向右與向上的方向分別為兩條數(shù)軸的正方向。水平的數(shù)軸叫做x軸(x-axis)或橫軸,垂直的數(shù)軸叫做y軸(y-axis)或縱軸,x軸y軸統(tǒng)稱為坐標(biāo)軸,它們的公共原點(diǎn)O稱為直角坐標(biāo)系的原點(diǎn)(origin),以點(diǎn)O為原點(diǎn)的平面直角坐標(biāo)系記作平面直角坐標(biāo)系xOy。

我們的編程所涉及到的更多是平面直角坐標(biāo)系(注意區(qū)分:高斯平面直角坐標(biāo)系用在工程、機(jī)械等領(lǐng)域),在3D建模和游戲領(lǐng)域會(huì)涉及到3D笛卡爾坐標(biāo)系及其變種。因此我們重點(diǎn)對(duì)平面直角坐標(biāo)系進(jìn)行介紹。

歷史

有一天,笛卡爾(Descartes 1596—1650,法國(guó)哲學(xué)家、數(shù)學(xué)家、物理學(xué)家)生病臥床,但他頭腦一直沒(méi)有休息,在反復(fù)思考一個(gè)問(wèn)題:幾何圖形是直觀的,而代數(shù)方程則比較抽象,能不能用幾何圖形來(lái)表示方程呢?這里,關(guān)鍵是如何把組成幾何的圖形的點(diǎn)和滿足方程的每一組“數(shù)”掛上鉤。他就拼命琢磨。通過(guò)什么樣的辦法、才能把“點(diǎn)”和“數(shù)”聯(lián)系起來(lái)。突然,他看見(jiàn)屋頂角上的一只蜘蛛,拉著絲垂了下來(lái),一會(huì)兒,蜘蛛又順著絲爬上去,在上邊左右拉絲。蜘蛛的“表演”,使笛卡爾思路豁然開(kāi)朗。他想,可以把蜘蛛看做一個(gè)點(diǎn),它在屋子里可以上、下、左、右運(yùn)動(dòng),能不能把蜘蛛的每個(gè)位置用一組數(shù)確定下來(lái)呢?他又想,屋子里相鄰的兩面墻與地面交出了三條直線,如果把地面上的墻角作為起點(diǎn),把交出來(lái)的三條線作為三根數(shù)軸,那么空間中任意一點(diǎn)的位置,不是都可以用這三根數(shù)軸上找到的有順序的三個(gè)數(shù)來(lái)表示嗎?反過(guò)來(lái),任意給一組三個(gè)有順序的數(shù),例如3、2、1,也可以用空間中的一個(gè)點(diǎn) P來(lái)表示它們。同樣,用一組數(shù)(a, b)可以表示平面上的一個(gè)點(diǎn),平面上的一個(gè)點(diǎn)也可以用一組二個(gè)有順序的數(shù)來(lái)表示。于是在蜘蛛的啟示下,笛卡爾創(chuàng)建了直角坐標(biāo)系。

點(diǎn)的坐標(biāo):在直角坐標(biāo)系中,對(duì)于平面上的任意一點(diǎn),都有唯一的一個(gè)有序數(shù)對(duì)(即點(diǎn)的坐標(biāo)(coordinates))與它對(duì)應(yīng);反過(guò)來(lái),對(duì)于任意一個(gè)有序數(shù)對(duì),都有平面上唯一的一點(diǎn)與它對(duì)應(yīng)。

對(duì)應(yīng)到編程里面就是需要兩個(gè)變量才能確定一個(gè)點(diǎn)的坐標(biāo)。這個(gè)點(diǎn)通常是角色所在的點(diǎn),或者是圖形的中心點(diǎn)。(這部分還需要參考錨點(diǎn),這個(gè)可以理解成相對(duì)參考坐標(biāo)系)

圖形化編程軟件以及Python海龜作圖所使用的坐標(biāo)系就是平面直角坐標(biāo)系,原點(diǎn)在舞臺(tái)、窗口的中心點(diǎn)。我們所使用的游戲引擎是個(gè)例外原點(diǎn)在窗口的左上角,窗口區(qū)域?qū)?yīng)第四象限,這個(gè)算是屏幕坐標(biāo)系的一種特例。

在物理學(xué)里面運(yùn)動(dòng)的表示方法,在選定了參考系之后,我們除了需要用速度來(lái)表示,也就是需要大小也需要方向。在編程里面也一樣,我們指定一個(gè)角色的位置是不夠的還需要指明它的運(yùn)動(dòng)方向,在圖形化軟件里面有一個(gè)角度旋轉(zhuǎn)的就是用來(lái)指示方向,大小對(duì)應(yīng)的是移動(dòng)步數(shù),在Python的海龜作圖里面也一樣移動(dòng)的步數(shù)是根據(jù)小海龜當(dāng)前的朝向指定的,可以通過(guò)left()/right()來(lái)改變方向,從而繪制出各式各樣的圖形。


其實(shí)編程是一門綜合性非常強(qiáng)的應(yīng)用學(xué)科,他要求的不僅僅是編程的能力和嚴(yán)謹(jǐn)?shù)膽B(tài)度,以及遇到問(wèn)題不妥協(xié)的本質(zhì),更重要的是它需要你對(duì)其他知識(shí)的更深入理解和應(yīng)用,在一定程度上這也會(huì)促進(jìn)其他知識(shí)的學(xué)習(xí),這也是為什么各國(guó)都開(kāi)始在鼓勵(lì)人人學(xué)習(xí)編程的原因。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容