空间离散点和合成
来源:互联网 发布:java餐饮管理系统代码 编辑:程序博客网 时间:2024/05/09 04:15
1 原理
根据空间中的离散点进行直线拟合,其原理很简单,就只最小化众散点到该直线的最小距离。有一个最先要的知识,该直线必过众散点的平均值,那么我们需要做的就是寻找该直线的方向向量。
根据空间几何知识,我们可以知道,利用协方差矩阵的奇异变换,得到的最大奇异值对应的奇异向量就是该直线的方向。
2 代码设计
<span style="font-size:18px;">% 随机生成一组点,这写点距离直线l比较近,l的过点[1,1,1],方向向量为[1,2,3]lineData=bsxfun(@plus, [1,1,1], (-1:.1:1).'*[1,2,3]);Noise=rand(size(lineData))*.1;lineData=lineData+Noise;scatter3(lineData(:,1), lineData(:,2), lineData(:,3),'filled')hold on;% 拟合的直线必过所有坐标的算数平均值xyz0=mean(lineData,1),% 协方差矩阵奇异变换,与拟合平面不同的是% 所得直线的方向实际上与最大奇异值对应的奇异向量相同centeredLine=bsxfun(@minus,lineData,xyz0);[U,S,V]=svd(centeredLine);direction=V(:,1);% 画图t=-8:0.1:8;xx=xyz0(1)+direction(1)*t;yy=xyz0(2)+direction(2)*t;zz=xyz0(3)+direction(3)*t;plot3(xx,yy,zz)</span>
</pre><pre>
3 实验结果
0 0
- 空间离散点和合成
- 空间离散点拟合成空间平面
- 颜色空间和Opencv中的色彩空间分离与合成
- 在Matlab中根据离散点坐标绘制空间曲面
- 在Matlab中根据离散点坐标绘制空间曲面
- 离散度和损益分界点
- iOS 【语音合成的集成和使用几点建议】
- 离散点生成等值线的流程和实现方法
- 离散基础 (14). 驻点极值和最值问题
- 通过C#代码实现空间离散点的克里金(kriging)插值(一) 计算原理
- 通过C#代码实现空间离散点的克里金(kriging)插值(二) 代码实现
- 离散点与等值线
- 黑马程序员_OC语言的点语法和合成存取方法
- 求离散数据极值(点)
- 离散点的曲率计算
- 添加XY离散点数据
- 求取离散点的曲率
- 文字飞舞和合成
- java实现 二叉树的深度&判断二叉树是否是平衡二叉树
- SVM多分类问题,解决方案
- Linux内核分析:实验八
- Mat类详解(二)
- arcgis api for javascript中使用proxy.jsp
- 空间离散点和合成
- Linux下,可执行文件的链接保持链接到最新的文件?
- Scrapy框架学习笔记
- 前端理解整理:响应式布局的理解
- UML建模学习3:UML基本构造块之关系
- SM2算法第一篇:ECC加密算法
- if比较习惯
- 输入一串字符,读取第一个单词
- linux 命令行和shell 脚本编程--了解shell