Rodrigues' Rotation Matrix(罗德里格旋转矩阵)
2012-03-15 23:38
701 查看
使用蒙特卡洛方法做半球面采样时遇到有这样的一个问题:默认产生的采样向量组所在的半球面是Y轴(或其它轴)所对应的方向,但是在使用时可能就需要根据法向量对其进行变换,于是就有了这样一个问题,给定两个向量V0和V1 计算出一旋转矩阵R得到:
R V0 =V1
这个问题其实蛮简单,可以直接用两个向量的点积与叉乘计算出对应的夹角与旋转轴,然后组合出旋转矩阵即可(http://en.wikipedia.org/wiki/Rotation_matrix)。不过搜了下发现了另外一种方法:Rodrigues Rotation matrix(罗德里格旋转矩阵),虽然这种方法可能并没有速度上的优势,但之前却没什么了解(没准儿也学过,但干脆地忘了^_^)。其关于R的计算如下:
其中的I是一个单位阵,r其实也就是由两个向量叉乘得到的单位旋转向量,而Theta也就是两个向量之间的夹角。它还有的其它一些属性可以参考:http://en.wikipedia.org/wiki/Rodrigues'_rotation_formula
R V0 =V1
这个问题其实蛮简单,可以直接用两个向量的点积与叉乘计算出对应的夹角与旋转轴,然后组合出旋转矩阵即可(http://en.wikipedia.org/wiki/Rotation_matrix)。不过搜了下发现了另外一种方法:Rodrigues Rotation matrix(罗德里格旋转矩阵),虽然这种方法可能并没有速度上的优势,但之前却没什么了解(没准儿也学过,但干脆地忘了^_^)。其关于R的计算如下:
其中的I是一个单位阵,r其实也就是由两个向量叉乘得到的单位旋转向量,而Theta也就是两个向量之间的夹角。它还有的其它一些属性可以参考:http://en.wikipedia.org/wiki/Rodrigues'_rotation_formula
相关文章推荐
- hdu 5015 233 Matrix 2014 ACM/ICPC Asia Regional Xi'an Online 矩阵快速幂
- Hdu 5015 233 Matrix[矩阵](2014 ACM/ICPC Asia Regional Xi'an Online )
- POJ训练计划3422_Kaka's Matrix Travels(网络流/费用流)
- css3 矩阵 js旋转过程运算
- poj Kaka's Matrix Travels 费用流
- poj 3422 Kaka's Matrix Travels(最大费用流+拆点)
- 迅雷笔试题---矩阵逆时针旋转90°
- POJ 3422 Kaka's Matrix Travels(最大费用最大流 + 拆点)
- 错误提示:transform.position assign attempt for 'XXX' is notvalid。Input rotation is {NaN, NaN, NaN, NaN}
- Codeforces Round #348 DIV2 C. Little Artem and Matrix(将矩阵的第x行向左边旋转一位,将矩阵的第y列向上边旋转一位,现在的第x,y位置为z)
- 顺时针旋转矩阵90°的几种方法
- HDU 5171 GTY's birthday gift (矩阵快速幂)
- 【栈 && 矩阵的知识】UVA 442 Matrix Chain Multiplication
- POJ 3422 - Kaka's Matrix Travels 构图最大费用最大流
- 矩阵旋转系列之【LeetCode】Rotate Image && 【九度】题目1164:旋转矩阵
- hdoj Matrix 5671 (矩阵模拟&技巧)
- Maximal Square,Given a 2D binary matrix filled with 0's and 1's, find the largest squar
- [多线程DP 费用流] 51Nod 1084 矩阵取数问题 V2 & POJ 3422 Kaka's Matrix Travels
- POJ 3422 Kaka's Matrix Travels(模型转化 区间K覆盖问题)
- Unity手游之路<四>3d旋转-四元数,欧拉角和变幻矩阵