当前位置:网站首页>Understanding rotation matrix R from the perspective of base transformation
Understanding rotation matrix R from the perspective of base transformation
2022-07-05 08:54:00 【Li Yingsong~】
In understanding the camera coordinate system , We will definitely touch the camera's external parameter matrix R, It converts coordinates from the world coordinate system to the camera coordinate system :
P c = R ∗ P w + t P_c=R*P_w+t Pc=R∗Pw+t
This is actually a transformation between two coordinate systems , We know R R R A matrix is an orthogonal matrix , So it's 3 Row ( Column ) The vector is 3 A set of orthonormal bases in a vector space , And a set of orthonormal bases can be used as three basis vectors of a coordinate system . So our R R R How does a matrix relate to the basis vectors of two coordinate systems ?
Let's draw two coordinate systems first X w Y w Z w X_wY_wZ_w XwYwZw and X c Y c Z c X_cY_cZ_c XcYcZc:
We're going to talk about how to put a certain point P P P Coordinates in the world coordinate system are converted into coordinates in the camera coordinate system .
Let's not consider the translation between the two coordinate systems , So move the origin of the camera coordinate system to the origin of the world coordinate system , like this :
We can mark the set of basis vectors of two coordinate systems e w ( e ⃗ w x , e ⃗ w y , e ⃗ w z ) e_w(\vec{e}_{wx},\vec{e}_{wy},\vec{e}_{wz}) ew(ewx,ewy,ewz) and e c ( e ⃗ c x , e ⃗ c y , e ⃗ c z ) e_c(\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz}) ec(ecx,ecy,ecz). They're all in the world coordinate system .
Next , And how to put a point in the world coordinate system P ( X w , Y w , Z w ) P(X_w,Y_w,Z_w) P(Xw,Yw,Zw) Convert to camera coordinates
P ( X w , Y w , Z w ) → P ( X c , Y w , Z w ) P(X_w,Y_w,Z_w)→P(X_c,Y_w,Z_w) P(Xw,Yw,Zw)→P(Xc,Yw,Zw)
In the world coordinate system , Basis vector set e w ( e ⃗ w x , e ⃗ w y , e ⃗ w z ) e_w(\vec{e}_{wx},\vec{e}_{wy},\vec{e}_{wz}) ew(ewx,ewy,ewz) Is the unit matrix , That is to say

among e ⃗ w x = ( 1 , 0 , 0 ) T \vec{e}_{wx}=(1,0,0)^T ewx=(1,0,0)T, e ⃗ w y = ( 0 , 1 , 0 ) T \vec{e}_{wy}=(0,1,0)^T ewy=(0,1,0)T, e ⃗ w z = ( 0 , 0 , 1 ) T \vec{e}_{wz}=(0,0,1)^T ewz=(0,0,1)T.
We know P P P The coordinates in the world coordinate system are actually a linear combination of the above three sets of basis vectors , namely P w = X w ∗ e ⃗ w x + Y w ∗ e ⃗ w x + Z w ∗ e ⃗ w x P_w=X_w*\vec{e}_{wx}+Y_w*\vec{e}_{wx}+Z_w*\vec{e}_{wx} Pw=Xw∗ewx+Yw∗ewx+Zw∗ewx

This is the base vector representation of coordinates .
So let's take P P P The coordinates of the points are transformed into a set of basis vectors e c ( e ⃗ c x , e ⃗ c y , e ⃗ c z ) e_c(\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz}) ec(ecx,ecy,ecz) Then we get the transformation in the camera coordinate system . let me put it another way , We're going to calculate P P P The point is in the base vector set e c ( e ⃗ c x , e ⃗ c y , e ⃗ c z ) e_c(\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz}) ec(ecx,ecy,ecz) The coordinates under P c = X c ∗ e ⃗ c x + Y c ∗ e ⃗ c x + Z c ∗ e ⃗ c x P_c=X_c*\vec{e}_{cx}+Y_c*\vec{e}_{cx}+Z_c*\vec{e}_{cx} Pc=Xc∗ecx+Yc∗ecx+Zc∗ecx.
From the perspective of the rotation matrix , The formula is :
P c = R P w P_c=RP_w Pc=RPw
Let's forget for a moment P P P, Let's think about the set of basis vectors e c ( e ⃗ c x , e ⃗ c y , e ⃗ c z ) e_c(\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz}) ec(ecx,ecy,ecz) adopt R R R What does a matrix look like in camera coordinates ?
The answer is obvious , It's a unit array E E E.
That is to say, by left multiplying the rotation matrix R R R, We can set the basis vectors e c ( e ⃗ c x , e ⃗ c y , e ⃗ c z ) e_c(\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz}) ec(ecx,ecy,ecz) Into a unit matrix E E E, The expression is as follows :
R ( e ⃗ c x , e ⃗ c y , e ⃗ c z ) = E R(\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz})=E R(ecx,ecy,ecz)=E
So we know
( e ⃗ c x , e ⃗ c y , e ⃗ c z ) = R − 1 = R T (\vec{e}_{cx},\vec{e}_{cy},\vec{e}_{cz})=R^{-1}=R^T (ecx,ecy,ecz)=R−1=RT
This is our rotation matrix R R R Understanding from the perspective of basis transformation , R R R The inverse matrix ( Or transpose matrix ) Three column vectors of , It is the coordinates of the three base vectors of the camera coordinate system in the world coordinate system .
边栏推荐
- 【日常训练】1200. 最小绝对差
- 交通运输部、教育部:广泛开展水上交通安全宣传和防溺水安全提醒
- 【日常訓練--騰訊精選50】557. 反轉字符串中的單詞 III
- Guess riddles (142)
- Return of missing persons
- Array, date, string object method
- Run菜单解析
- 2020 "Lenovo Cup" National College programming online Invitational Competition and the third Shanghai University of technology programming competition
- C# LINQ源码分析之Count
- Classification of plastic surgery: short in long long long
猜你喜欢

Guess riddles (4)

EA introduction notes

Summary of "reversal" problem in challenge Programming Competition

Digital analog 1: linear programming

整形的分类:short in long longlong

Business modeling of software model | overview

Add discount recharge and discount shadow ticket plug-ins to the resource realization applet
![[牛客网刷题 Day4] JZ55 二叉树的深度](/img/f7/ca8ad43b8d9bf13df949b2f00f6d6c.png)
[牛客网刷题 Day4] JZ55 二叉树的深度

Halcon shape_ trans
![C [essential skills] use of configurationmanager class (use of file app.config)](/img/8b/e56f87c2d0fbbb1251ec01b99204a1.png)
C [essential skills] use of configurationmanager class (use of file app.config)
随机推荐
交通运输部、教育部:广泛开展水上交通安全宣传和防溺水安全提醒
Use and programming method of ros-8 parameters
IT冷知识(更新ing~)
我从技术到产品经理的几点体会
Redis implements a high-performance full-text search engine -- redisearch
Pearson correlation coefficient
ECMAScript6介绍及环境搭建
Use arm neon operation to improve memory copy speed
C#图像差异对比:图像相减(指针法、高速)
Install the CPU version of tensorflow+cuda+cudnn (ultra detailed)
Program error record 1:valueerror: invalid literal for int() with base 10: '2.3‘
Guess riddles (4)
Wheel 1:qcustomplot initialization template
[formation quotidienne - Tencent Selection 50] 557. Inverser le mot III dans la chaîne
Codeworks round 638 (Div. 2) cute new problem solution
Codeworks round 639 (Div. 2) cute new problem solution
location search 属性获取登录用户名
Halcon: check of blob analysis_ Blister capsule detection
Ros-10 roslaunch summary
Guess riddles (6)