2017-09-13 110 views
-3

在數學中,爲了表示水平軸,我們有x座標,並且表示垂直我們有y座標。即(X,Y)。爲什麼編程中的座標系與數學不同?

編程時,系統翻轉。

I.e.

int[] array = new int [3,5]; 

這裏,數組有3行5列,而不是3列5行。 作爲一名來自數學的完全新手程序員,這讓我的腦子旋轉了幾次。

傳統的這種差異是完全武斷的,還是有理由翻轉系統使其更好?

+2

它甚至不是同一個在所有的編程語言,谷歌「行優先」和「列爲主」,並期待在語言,如FORTRAN 。 –

+0

(什麼保羅說!)它繼續[零基索引](https://en.wikipedia.org/wiki/Zero-based_numbering)主要使用的所有語言,但不是Matlab或朱莉婭。對於行主專欄,這裏有一些不錯的[blog-post](http://eli.thegreenplace.net/2015/memory-layout-of-multi-dimensional-arrays/)(我只通過它瀏覽) SO用戶之一。 – sascha

+0

二維數組遠比笛卡爾平面更像矩陣,矩陣使用相同的約定。 – user2357112

回答

0

它根本沒有劑量現在的座標。從程序員的角度來看,它只是一個指向另一個數組的指針數組。

0

因爲具有5×1矩陣的3×5矩陣的乘積是3×1矩陣。

[3×5]·[5×1]=[3×1] 

內部尺寸爲矩陣乘積的這種收縮是足夠重要的是,它決定索引的順序。

當然,對索引的解釋取決於應用程序,如果使用數組來存儲空間數據,則可以使用您給出的順序。

0

在數學上,我們有負軸,其中在瀏覽器中,我們沒有一點負面

相關問題