当前位置: 首页 > wzjs >正文

辽宁建设集团招聘信息网站搜索引擎优化答案

辽宁建设集团招聘信息网站,搜索引擎优化答案,网站后台维护费用,高端型网站建设0、简介: 主要介绍常用李代数和李群的转化方法,具体公式参考《slam入门-李群和李代数-第2讲》 李代数:so(3),se(3) 李 群:SO(3),SE(3) 1.1指数映射:so(3)->SO(3) function RMatrixExp(so) %so:Li_algebra,3-dime…

0、简介:

主要介绍常用李代数和李群的转化方法,具体公式参考《slam入门-李群和李代数-第2讲》
李代数:so(3),se(3)
李 群:SO(3),SE(3)

1.1指数映射:so(3)->SO(3)

function RMatrix=Exp(so)
%so:Li_algebra,3-dimension column vector;
%RMatrix:li_group,3x3 matrix;
%Exp mapping
angle=norm(so);
axis=so/angle;
RMatrix=AAToRMatrix(axis,angle);
end

1.2指数映射:se(3)->SE(3)

function TMatrix=Exp_se(se)
%se:se(3),Li_algebra,6-dimension column vector,first 3 are rotate,last 3 are pretranslate;
%TMatrix:li_group,4x4 matrix;
%Exp mapping
RMatrix=Exp(se(1:3));
angle=norm(se(1:3));
axis=se(1:3)/angle;
J=sin(angle)/angle*eye(3)+(1-sin(angle)/angle)*axis*axis'+(1-cos(angle))/angle*getSkewSym(axis);
t=J*se(4:6);
TMatrix(1:3,1:3)=RMatrix;
TMatrix(1:3,4)=t;
TMatrix(4,1:4)=[0 0 0 1];
end

1.3对数映射:SO(3)->so(3)

function so=Log(RMatrix)
%so:Li_algebra,3-dimension column vector;
%RMatrix:li_group,3x3 matrix;
%Log mapping
[axis,angle]=RMatrixToAA(RMatrix);;
so=angle*axis;
end

1.4对数映射:SE(3)->se(3)

function se=Log_se(TMatrix)
%se:se(3),Li_algebra,6-dimension column vector,first 3 are rotate,last 3 are pretranslate;
%TMatrix:li_group,4x4 matrix;
%Log mapping
RMatrix=TMatrix(1:3,1:3);
[axis,angle]=RMatrixToAA(RMatrix);
so=angle*axis;
J=sin(angle)/angle*eye(3)+(1-sin(angle)/angle)*axis*axis'+(1-cos(angle))/angle*getSkewSym(axis);
rou=inv(J)*TMatrix(1:3,4);
se=[so;rou];
end

1.5辅助函数:向量->反对称矩阵

function Matrix=getSkewSym(v)
%v:column vector,is a point
%Matrix:is the skew symmetric matrix of vector
[rows,cols]=size(v);
if rows~=3error("It must be a column vector"); 
end
Matrix=[0, -v(3), v(2);v(3), 0, -v(1);-v(2), v(1), 0];
end

1.6辅助函数:反对称矩阵->向量

function [v1,v2,v3]=getUnSkewSym(matrix)
%v:column vector,is a point
%Matrix:is the skew symmetric matrix of vector
[rows,cols]=size(matrix);
if rows~=3 || cols~=3error("It must be 3x3 matrix"); 
end
if matrix(1,1)~=0 || matrix(2,2)~=0 || matrix(3,3)~=0error("Diag must be 0"); 
end
if matrix(1,2)~=-1*matrix(2,1) || matrix(1,3)~=-1*matrix(3,1) ||  matrix(2,3)~=-1*matrix(3,2) error("It must be SkewSymMatrix"); 
end
v1=-1*matrix(2,3);
v2=matrix(1,3);
v3=-1*matrix(1,2);

1.7 轴角->旋转矩阵

function RMatrix=AAToRMatrix(axis,angle)
RMatrix=cos(angle)*eye(3)+(1-cos(angle))*axis*axis.'+sin(angle)*getSkewSym(axis);
end

1.8 旋转矩阵->轴角

function [axis,angle] = RMatrixToAA(Rmatrix)
angle=acos((trace(Rmatrix)-1)/2);
[v,~]=eig(Rmatrix);
axis=v(:,1);
end
http://www.dtcms.com/wzjs/48371.html

相关文章:

  • 网站页面效果图怎么做的手机建网站软件
  • 南宁网站开发公司百度快速排名培训
  • 网页制作与网站建设技术大全pdf关键词优化seo费用
  • 公司网站修改 优帮云天津seo推广
  • 网站里弹窗怎么做营销策划书模板范文
  • 福建做网站公司建设网站费用
  • 巩义网站建设价格朋友圈广告投放价格表
  • 手机备案网站机器人编程培训机构排名
  • 珊瑚绒毯移动网站建设口碑营销理论
  • 淘宝网站的论坛做的怎么样指数函数求导
  • 什么是营销渠道北京seo不到首页不扣费
  • 苹果电脑网站开发怎么样关键词优化
  • 竞价网站策划浙江百度推广
  • 电子商务网站建设项目上海关键词优化排名软件
  • wordpress基本河南seo排名
  • 公司网站建设设计公司哪家好百度免费安装
  • 网站管理系统制作优化大师的三大功能
  • 莱芜房产网二手房出售信息深圳seo优化公司
  • 做医疗网站建设企业网站的主要类型有
  • 港珠澳大桥网站建设seo建站优化
  • 用asp做网站怎样制作一个网页
  • aspx网站开发 案例如何做好市场推广
  • 莱芜招聘的网站网站建设步骤
  • 泗洪网站建设在线工具网站
  • 怎么办个人网站网站快速推广
  • 南宁软件优化网站建设百度网址是多少 百度知道
  • 山东品牌建设网站快速网站
  • 程序员网站建设商业公司的域名
  • 手机网站用什么后台外链发布
  • 最贵网站建设平台推广是做什么的