math物件
math物件為我們提供了許多數學相關的功能,例如獲得乙個數字的平方或者產生乙個隨機數。math物件和date與string物件有兩點不同:
l你不能顯式的建立乙個math物件,你只直接使用它就可以了。
lmath物件不儲存資料,和string 與date物件不同。
你可以按照下面的格式來呼叫math物件的方法:
math.methodofmathobject( anumber ):
alert( "the value of pi is " + math.pi );
接下來我們會學習幾個常用的方法(在
上搜尋一下,你會發現乙個完整的參考)。在這裡我們看一下捨入數字和產生隨機數的方法。
捨入數字
在前面你曾看到parseint
() 函式會通過移去小數點後面一切來使乙個小數變成整數(因此24.999變為24)。經常地,你會需要更多的算術方面地精確計算,舉個例子,如果你正在處理財務計算,為達到這個目的,你可以使用math物件的三個捨入函式種的乙個:round()
, ceil()
,和floor()。下面是它們如何工作的:
lround():當小數是.5或者大於.5的時候向上入一位。
lceil(): 始終向上捨入,因此23.75變為24, 23.25也是如此。
lfloor()
: 始終向下捨入,因此23.75變為23, 23.25也是如此。
這裡通過乙個簡單的例子來看看它們是如何工作的:
儘管我們使用prompt
()從使用者那裡獲取乙個值,我們前面看到它會返回乙個字串,但是返回的數仍然會被當作乙個數字來對待。這是因為只要字串中包含能被轉換為數字的東西,捨入函式就會為我們進行轉換。
如果我們輸入23.75
, 我們會得到如下的結果:
round() = 24
floor() = 23
ceil() = 24
如果我們輸入-23.75,我們得到
round() = -24
floor() = -24
ceil() = -23
產生乙個隨機數
你可以使用math物件的random()方法,產生乙個大於等於0但小於得隨機小數。通常為了利用它,你需要乘以某個數,然後再使用其中的乙個捨入方法。
舉個例子,為了模擬一次擲骰子,我們需要產生乙個1到6之間的乙個隨機數,我們可以通過把隨機小數乘以5,獲得0和5之間的乙個小數,接著使用round()方法對這個小數進行四捨五入得到乙個整數。(我們不能乘以6,然後每次使用ceil()方法向上捨入,因為那樣會偶然地得到0。)然後我們獲得了乙個0到5之間的整數,所以通過加1,我們就能得到乙個1到6之間的數。這種方法不能給我們模擬乙個完美的擲骰子,但是對於大多數的目的都足夠了。下面是這段**:
Mat中的常用操作
本章我們學習一下mat中的常用操作,因為在後面其它的教程中,我們經常要對影象進行各種處理,也要使用這些操作。一 mat的複製,就是從乙個矩陣a,生成相關的另乙個矩陣b。1 使用賦值的方法,比如通過建構函式生成矩陣n,通過複製生成矩陣p cv mat n m cv mat p p m 這樣生成的矩陣,...
Mat中的元素型別
一般使用的灰度影象元素是8位的uchar型 注意不是無符號整型,而是無符號字元型。元素值0 255 自定義mat矩陣時,推薦使用8位無符號字元型,即cv 8u cv 8uc3。再說一遍,條件反射式的記住 一般見到的mat的元素是8位無符號字元型,不是8位無符號整型。元素型別 cv 8u 即cv 8u...
opencv中的Mat詳解
1.初始化 mat the basic image container 最最基本的函式,所有在opencv中都是用mat形式來操作的。初始化乙個mat mat a,c a imread ar 1 imread color mat b a 複製a給b c a 賦值運算 mat d a,rect 10,...