旋转矩阵之到底顺时针还是逆时针-卡核

旋转矩阵之到底顺时针还是逆时针

最近发现的,逻辑上比较搞人的一点...明明是很简单的东西。 到底表示顺时针旋转还是逆时针旋转? 1.单坐标系:逆时针 比如当,表示在单坐标系下将点绕原点逆时针旋转30...
Eigen库中进行矩阵间的变换-卡核

Eigen库中进行矩阵间的变换

一、刚体旋转的表示方法有如下四种: 旋转矩阵(R3x3) ------旋转矩阵R为正交阵(行或列向量都是两两正交的单位向量)。四元数(Quaternion)-----...
Eigen学习笔记(16)-空间变换-卡核

Eigen学习笔记(16)-空间变换

原文:Eigen官网-Space transformations 本篇将介绍基于geometry module的2D 、3D旋转和投影或仿射变换。 Eigen中的Geometry module提供了两种不同的几何变换: 抽象变换,如...
Eigen 中四元数、欧拉角、旋转矩阵、旋转向量-卡核

Eigen 中四元数、欧拉角、旋转矩阵、旋转向量

一、旋转向量 1.0 初始化旋转向量:旋转角为alpha,旋转轴为(x,y,z) Eigen::AngleAxisd rotation_vector(alpha,Vector3d(x,y,z)) 1.1 旋转向量转旋转矩阵 Eigen::Matrix3d rotation...
Eigen学习笔记(15)-稠密矩阵分解算法性能比较-卡核

Eigen学习笔记(15)-稠密矩阵分解算法性能比较

原文:Eigen官网-Benchmark of dense decompositions LLT是最快的方法。对于大规模过约束问题,Cholesky/LU分解的代价主要取决于对称协方差矩阵的计算。对于具有较大规模的问题...
Eigen学习笔记(14)-原位矩阵分解-卡核

Eigen学习笔记(14)-原位矩阵分解

原文:Eigen官网-Inplace matrix decompositions 从Eigen3.3开始,LU、Cholesky和QR分解可以就地操作,即直接在给定的输入矩阵内操作。当处理大型矩阵或可用内存非常有限...
Eigen学习笔记(13)-解决最小二乘系统的问题-卡核

Eigen学习笔记(13)-解决最小二乘系统的问题

原文:Eigen官网–Solving linear least squares systems 对于超定线性方程系统(An overdetermined system of equations):Ax = b,其是没有解的。在这种...
Eigen学习笔记(12)-线性代数与矩阵分解-卡核

Eigen学习笔记(12)-线性代数与矩阵分解

原文:Eigen官网-Linear algebra and decompositions 本篇文章介绍了线性方程求解、矩阵分解,包括LU分解法,QR分解法,SVD(奇异值分解)、特征值分解等...
Eigen学习笔记(11)-存储顺序-卡核

Eigen学习笔记(11)-存储顺序

原文:Eigen官网-Storage orders 对于矩阵和二维数组,有两种存储顺序:列优先和行优先。 1. 行优先和列优先的存储 矩阵的项构成一个二维网格。然而,当矩阵存储在内存...
Eigen学习笔记(10)-混淆-卡核

Eigen学习笔记(10)-混淆

原文:Eigen官网-Aliasing 在Eigen中,当变量同时出现在左值和右值,赋值操作可能会带来混淆问题。比如:mat = 2 * mat,mat = mat.transpose() ÿ...
Eigen学习笔记(9)-整形和切片-卡核

Eigen学习笔记(9)-整形和切片

原文:Eigen官网-Reshape and Slicing Eigen并没有为matrix提供直接的Reshape和Slicing的API,但是这些特性可以通过Map类来实现。 1. Reshape Reshape操作在保持元素不变的情况下修...
Eigen学习笔记(8)-原生缓存的接口:Map类-卡核

Eigen学习笔记(8)-原生缓存的接口:Map类

原文:Eigen官网-Interfacing with raw buffers: the Map class 1. 引言 本篇文章将介绍Eigen如何与原生raw C/C++ 数组混合编程。当你从其他库中导入vectors或matrices时࿰...