摘要:
计算方法: 1. 两条直线方向向量v1和v2的叉积,得到平行于两条直线的平面v3。 2. 计算v3与第一条直线v1叉积,得到垂直于v3并且过线v1的平面v4,计算面v4与线v2的交点,得到线v2上的点t2。 3. 计算v3与第二条直线v2叉积,得到垂直于v3并且过线v2的平面v5,计算面v5与线v1 阅读全文
摘要:
拿到一张全景图,我们可以做一些变换将其投影到平面上。 比如可以投影到局部立方体平面、可以投影到类似行星效果的平面,还可以投影到类似超广角像头一样的平面。 所有的投影方式基本是一致的,唯一的区别就是视点位置和视场角的大小。 比如我们有下面一张全景图。 全景图宽高比为2:1,可以认为是球坐标系下的the 阅读全文
摘要:
这里置顶一个索引吧,方便所有人查找。 基础与技巧: matlab练习程序(Schur补) matlab练习程序(正交分解) matlab练习程序(GPU加速) matlab练习程序(生成gif图片) matlab练习程序(克莱姆法则解方程) matlab练习程序(读取列不一致的数据) matlab练 阅读全文
摘要:
之前实现过三维椭圆拟合,当时是利用已知点先进行椭球拟合,再进行平面拟合,通过解两个面的相交线得到空间椭圆函数。 如果只知道空间坐标可以用上述的方法,但是通常我们获得空间点时会附带时间信息,因此我们可以认为三个分量都是时间的函数,来进行拟合。 函数如下: 由于是非线性方程组,下面我们只需要用高斯牛顿法 阅读全文
摘要:
一般的最小二乘通常是一次拿到全部的数据, 对所有数据进行统一优化计算得到模型系数。 递推最小二乘是以一种递推的方式计算最小二乘,每次使用最新的测量值,来不断更新模型系数。 递推公式如下: 公式中A和B为测量值,X为模型系数。 matlab代码如下: clear all; close all; clc 阅读全文
摘要:
在Matlab中使用GPU,要先输入gpuDevice命令初始化一下设备。 根据返回的信息能够大概估算出显存支持的最大数据。 否则使用时容易出现下面这样的问题: 错误使用 gpuArray An unexpected error occurred during CUDA execution. The 阅读全文
摘要:
尝试了一下C++17的并行STL排序,速度提升比较明显。 环境是VS2019。 #include <algorithm> #include <execution> #include <iostream> #include <random> #include <chrono> using namesp 阅读全文
摘要:
1. 进入root权限。 2. vi打开/etc/sudoers文件。 3. 将%sudo ALL=(ALL:ALL) ALL改为%sudo ALL=(ALL:ALL) NOPASSWD:ALL即可。 阅读全文
摘要:
给出空间中一个点,将该点绕向量(k1 k2 k3)旋转一定角度theta,从而得到新点,这种操作能够利用罗德里格斯变换来处理。 变换公式如下: 其中theta为旋转度数。 K为由点所绕的单位向量构成的矩阵。 比如所绕向量为(k1 k2 k3),则矩阵K表示如下: 公式中R即为进行这种变换的旋转矩阵。 阅读全文
摘要:
这里提供两种思路: 一、基于顶点的扩展 1. 确定扩展距离dis。 2. 计算每个顶点相邻边的单位向量。 3. 确定扩展方向,判断依据是相邻边向量的行列式的正负号,记为sign(sina)。 4. 计算顶点相邻两边的单位向量和,得到新向量,再对新向量进行单位化得到v。 5. 对每个顶点加上对应的si 阅读全文