Android學習札記16 Matrix的一些基礎

2021-08-27 01:15:04 字數 991 閱讀 6713

首先大家看看下面這個3 x 3的矩陣,這個矩陣被分割成4部分。為什麼分割成4部分,在後面詳細說明。

首先給大家舉個簡單的例子:現設點p0(x0, y0)進行平移後,移到p(x,y),其中x方向的平移量為△x,y方向的平移量為△y,那麼,點p(x,y)的座標為:

x = x0 + △x

y = y0 + △y

採用矩陣表達上述如下:

上述也類似與影象的平移,通過上述矩陣我們發現,只需要修改矩陣右上角的2個元素就可以了。

我們回頭看上述矩陣的劃分:

為了驗證上面的功能劃分,我們舉個具體的例子:現設點p0(x0 ,y0)進行平移後,移到p(x,y),其中x放大a倍,y放大b倍,

矩陣就是:

影象的旋轉稍微複雜:現設點p0(x0, y0)旋轉θ角後的對有點為p(x, y)。通過使用向量,我們得到如下:

x0 = r cosα

y0 = r sinα

x = r cos(α-θ) = x0 cosθ+ y0 sinθ

y = r sia(α-θ) = -x0 sinθ+y0 cosθ

於是我們得到矩陣:

如果影象圍繞著某個點(a ,b)旋轉呢?則先要將座標平移到該點,再進行旋轉,然後將旋轉後的影象平移回到原來的座標原點。

RabbitMQ RabbitMQ的一些基礎概念

工作中使用的是rabbitmq,需要對其進行熟悉。使用之前,弄清楚它是什麼東西,解決什麼問題。開發中,有一些任務並無須實時執行,比如 如上,儲存日誌表 傳送郵件等任務的實時性並不強,在系統繁忙時有可能阻塞,堵塞容易導致任務失敗。如果我們把它們放入佇列中,輪候執行,減低耦合的同時,是不是也緩解了系統壓...

深度學習學習 pytorch的一些必備的基礎概念

pytorch必須掌握的的4種學習率衰減策略 一般來說,我們希望在訓練初期學習率大一些,使得網路收斂迅速,在訓練後期學習率小一些,使得網路更好的收斂到最優解。下圖展示了隨著迭代的進行動態調整學習率的4種策略曲線 torch 解析 為什麼要使用optimizer.zero grad pytorch m...

Android的一些詞彙

1 override override是偽 表示重寫 當然不寫也可以 不過寫上有如下好處 1 可以當注釋用,方便閱讀 2 編譯器可以給你驗證 override下面的方法名是否是你父類中所有的,如果沒有則報錯 比如你如果沒寫 override而你下面的方法名又寫錯了,這時你的編譯器是可以通過的 它以為...