1. 程式人生 > >OpenGL數學基礎之矩陣

OpenGL數學基礎之矩陣

三維空間物體的運動使用變換來表示,包括三種:平移變換(translate),旋轉變換(rolate),伸縮變換(scale),變換量可以使用4x4的矩陣(Matrix)表示,變換過程就是對物體的所有頂點都乘以這個矩陣。

矩陣乘法

1cea1fbd1 * xyz = x+ay+bzcx+b+dzex+fy+z

矩陣乘法是行列向量相乘,所以行跟列必須是一樣的矩陣才能相乘。

單位矩陣:
100010001
根據上面的乘法公式可以知道,任何矩陣與單位矩陣相乘等於本身。

平移變換

假如有點(x, y, z),現在將其安向量(v1,v

2,v3)平移,結果就為(x+v1,y+v2,z+v3),用矩陣表示如下:

100001000010v1v2v31 * xyz1 = x+v1y+v2z+v31

多出一行的原因是,但xyz都為0的時,矩陣乘法的結果總是為0,無法表示原點的平移;同時,4x4的矩陣可以連乘。

旋轉變換

這裡寫圖片描述
如圖,圓為單位圓,已知點(x1,y1),繞z軸旋轉角度b,求該點旋轉之後的座標(x2,y2),由圖可得:
x2=cos(a+b)=cos(a)cos(b)sin(a)sin(b)=x1cos(b)y1sin(b)
y2=sin(a+b)=sin(a)cos(

b)+sin(b)cos(b)=y1cos(b)+x1sin(b)
所以用矩陣表示點(x, y, z)繞z軸旋轉(xy平面內)角度b:
cos(b)sin(b)00sin(b)cos(

相關推薦

OpenGL數學基礎矩陣

三維空間物體的運動使用變換來表示,包括三種:平移變換(translate),旋轉變換(rolate),伸縮變換(scale),變換量可以使用4x4的矩陣(Matrix)表示,變換過程就是對物體的所有頂點都乘以這個矩陣。 矩陣乘法 ⎡⎣⎢1cea1fbd1

機器學習數學基礎矩陣理論(三)

gis 引入 定義 增加 2017年 理論值 nbsp 得到 正數 矩陣求導 目錄 一、 矩陣求導的基本概念 1. 一階導定義 2. 二階導數 二、 梯度下降 1. 方向導數. 1.1 定義 1.2 方向導數的計算公式. 1.3 梯度下降最快的方向 1.

器學習數學基礎矩陣理論(二)

pac 本質 uid spa album 空間 矩陣 amp .com 目錄 一、線性空間 1. 線性空間的概念 (1) 線性空間的定義 (2) 線性空間的本質 2. 線性空間的基 (1) 線性表示 (2) 線性相關 (3) 線性無關 (4) 線性空間基的定義 (5) 坐標

python基礎矩陣操作

 包括矩陣與行向量之間的操作,以及矩陣加法等。 a = np.random.randint(1,10,(3,4)) --------------------------------------------------------- a Out[102]: array([[9, 4,

人工智慧的數學基礎線性代數的一些概念及總結

有一組向量可以通過線性組合得到其他向量,他們所有線性組合的集合就稱為向量的線性生成空間。也就是說在裡面的所有向量都可以由這組向量線性組合得到。維度就是基的數量。 基不一定是兩兩垂直並不一定是正交的,而是隻要滿足這一組基之間是線性無關的就夠了。 線性無關並不一定導致垂直,但垂直一定是線性無關的

貝葉斯網路數學基礎資訊理論

不知道大家想過怎麼一個問題沒有,我們都知道是上帝創造了一切,而誰創造了上帝呢?我們今天探討的就類似於這麼一個問題。我們一直都在那裡聊一個模型有一個引數,這個引數通過某種方式去來得到它估計它,那麼這個引數又受什麼東西來控制呢?我們不斷地去來做這麼一個東西就得到了貝葉斯網路。第一個我們可以建立一個高斯樸

數學基礎概率統計

3-1、為什麼使用概率?  概率論是用於表示不確定性陳述的數學框架,即它是對事物不確定性的度量。 在人工智慧領域,我們主要以兩種方式來使用概率論。首先,概率法則告訴我們AI系統應該如何推理,所以我們設計一些演算法來計算或者近似由概率論匯出的表示式。其次,我

3D 圖形程式設計的數學基礎 3 矩陣基本變換

                     這裡開始,是真正的與3D圖形程式設計相關的知識了,前兩節只能算是純數學。    平移矩陣  要想將向量(x, y, z, 1)沿x軸平移個單位,沿y軸平移,沿z軸平移個單位,我們只需要將該向量與如下矩陣相乘。  N(p) =   從中可以看出4*4矩陣N中的N41,N

機器學習數學基礎001-矩陣矩陣的基本表示

矩陣及矩陣的基本表示 同學們好,我是CSDN學院的講師,講解人工智慧的相關內容,和同學們交流得知,很多同學的數學基礎都不過關,從今天開始就給大家帶來機器學習當中涉及到的相關數學基礎知識。 我會近期在微信公眾號(北國課堂)開放一套系列課程,從零開始學機器學習。在公眾號裡面

3d數學基礎-映象矩陣和切變矩陣-用C++程式碼實現

#include <iostream.h> #include <math.h> #include <assert.h> const float kPi = 3.1415926f; const float k2Pi = kPi*2.0f;

圖形學數學基礎重要性取樣(Importance Sampling)

作者:i_dovelemon 日期:2017/08/06 來源:CSDN 主題:Importance Sampling, PDF, Monte Carlo 引言 前面的文章圖形學數學基礎之基本蒙特卡羅爾積分(Monte Carlo Integra

3D數學基礎矩陣的幾何解釋

一般來說,方陣能夠描述任意的線性變換。線性變換的定義在文章中已經提到。線性變換具體來說包括:旋轉、縮放、投影、映象、仿射。本文以旋轉為例講述矩陣的幾何意義。 一、基礎解釋 向量是基向量的線性組合,矩陣是基向量的集合。 世界座標系中的某一個向量使

3d數學基礎-旋轉矩陣-C++程式碼實現

#include <iostream.h> #include <math.h> #include <assert.h> const float kPi = 3.1415926f; const float k2Pi = kPi*2.0f;

Matlab基礎矩陣迴圈

純小白零基礎,非小白繞道,文件寫的比較亂,將就著看吧。 一、for迴圈 for迴圈和c++的for迴圈還是有區別的,用起來簡化很多。格式:for 。。。end example1; 建立一個10階的希爾伯特矩陣: s = 10; H = zeros(s); for c

3D 圖形程式設計的數學基礎(3) 矩陣基本變換

這裡開始,是真正的與3D圖形程式設計相關的知識了,前兩節只能算是純數學。 平移矩陣 要想將向量(x, y, z, 1)沿x軸平移個單位,沿y軸平移,沿z軸平移個單位,我們只需要將該向量與如下矩陣相乘。 N(p) = 從中可以看出4*4矩陣N中的N41,

numpy+數學入門矩陣篇(1)-沈逸-專題視訊課程

numpy+數學入門之矩陣篇(1)—378人已學習 課程介紹        本課程所用的python版本是3.6+,是我們正在錄製的《機器學習入門》系列課程的前奏篇。 要想進入機器學習、資料分析領域,基本功和使用一些庫是必不可少的,其中 學習這些庫並不是一味的去過這些庫的函式

數學基礎III——矩陣與座標變換

矩陣常用來使得座標系或者向量的計算書寫更加方便,看上去更加直觀。 想象一下,我們用矩陣立體地表示座標,遠遠比平面的,一行行奇長的書寫要好看。而且矩陣的書寫也恰當地包含了線性計算,比如[a b c][x y z]T就優雅的表示了[ax by cz]T,這不就是向量的點乘嗎?

AI數學基礎:概率和上帝視角

[toc] # 簡介 天要下雨,娘要嫁人。雖然我們不能控制未來的走向,但是可以一定程度上預測為來事情發生的可能性。而這種可能性就叫做概率。什麼是概率呢?概率就是事情出現的可能性。比如扔骰子,我們知道骰子有六面,很容易知道扔出1點的概率是1/6,聽起來很簡單,但是如果放在複雜事件中,概率計算就變得比較麻煩和

機器學習數學基礎(一)-微積分,概率論和矩陣

系列 學習 python 機器學習 自然語言處理 圖片 clas 數學基礎 記錄 學習python快一年了,因為之前學習python全棧時,沒有記錄學習筆記想回顧發現沒有好的記錄,目前主攻python自然語言處理方面,把每天的學習記錄記錄下來,以供以後查看,和交流分享。~~

機器學習數學基礎——期望、方差、協方差、相關係數、矩、協方差矩陣

期望 定義 離散型 E(X)=∑i∞xkpk 連續型 E(X)=∫∞−∞xf(x)dx 性質 E[aX+bY]=aE[X]+bE[Y] 方差 定義 D(X)=Var(X)=E{[X−E(X)]2}=E