matlab 求obb,obb包围盒代码
下面是我写的包围盒代码,他并没有包围着我所给出的点。我给出了两个点,并由此延伸出来8个点,所有可以构建三维的obb包围盒。请各位大佬帮我看一下我的代码哪里错了。
x1=1600;x2=1430;
y1=1600;y2=1430;
z1=584.6;z2=584.6;
inputdata = [x1-r,y1,z1;x2-r,y2,z2;x1,y1,z1;x2,y2,z2;x1+r,y1,z1;x2+r,y2,z2;x1-r,y1,z1+h;x2-r,y2,z2+h;x1+r,y1,z1+h;x2+r,y2,z2+h]';
theta=acos(dot((a),(b))/(norm(a)*norm(b)))*180/3.1415;
inputada1 = inputdata*theta;
[m,n] = size(inputdata);%获得输入数据的维度
cov = zeros(m,m);%创建协方差矩阵
E = zeros(m,1);%得到矩阵的列数
%获得每维数据的平均值
for i = 1:m
E(i) = mean(inputdata(i,:),2);%bmean(X,1)为列向量的均值,mean(X,2)为行向量的均值。
end
%计算协方差
for i = 1:m
for j = 1:m
cov(i,j) = ((inputdata(i,:)-E(i))*(inputdata(j,:)-E(j))')./(n-1);
s = cov(i,j);
[d,v] = eig(s);%求出协方差矩阵的特征向量,d为特征值矩阵,v为特征向量矩阵
%施密特正交化 变成标准基
end
end
s = cov;
[v,d] = eig(s);%求出协方差矩阵的特征向量,v为特征值矩阵,d为特征向量矩阵
%施密特正交化 变成标准基
[m1,n1] = size(v);%求出特征向量v行和列的大小
b = zeros(m1,n1);
% %正交化
b(:,1) = v(:,1);
for i1 = 2:n1
for j1 = 1:i1-1
b(:,i1) = b(:,i1)-dot(v(:,i1),b(:,j1))/dot(b(:,j1),b(:,j1))*b(:,j1);
end
b(:,i1) = b(:,i1)+v(:,i1);
end
%单位化
% % for k=1:n1
% % b(:,k)=b(:,k)/norm(b(:,k));
% % end
coordMapped1 =(inputdata(1,:)-E(1,1));
coordMapped2 =(inputdata(2,:)-E(2,1));
coordMapped3 =(inputdata(3,:)-E(3,1));
coordMapped = [coordMapped1;coordMapped2;coordMapped3]';
New = coordMapped*b;
minExtent = min(coordMapped);
maxExtent = max(coordMapped);
%%半长度
half.x = (maxExtent(1,1)-minExtent(1,1))/2;
half.y = (maxExtent(1,2)-minExtent(1,2))/2;
half.z = (maxExtent(1,3)-minExtent(1,3))/2;
%%中心点
center = (maxExtent+minExtent)/2;
%offSet = (maxExtent-minExtent)/2+minExtent;
%%建立包围盒
weight = [half.x,half.y,half.z;half.x,-half.y,half.z;-half.x,half.y,half.z;-half.x,-half.y,half.z;half.x,half.y,-half.z;half.x,-half.y,-half.z;-half.x,half.y,-half.z;-half.x,-half.y,-half.z];
coord = center + weight;%*offSet';
coord = [coord;center];
这个哪部分写错了,求指教
1.png
(21.75 KB, 下载次数: 0)
2021-1-3 22:41 上传
matlab 求obb,obb包围盒代码相关推荐
- matlab求系统根轨迹代码_广州数控GSK RH06六轴焊接机器人的轨迹规划
技术参数 运动范围 任务点位置 问题:如实现上图中的 运动轨迹(以基坐标系为参照),请给出相关的轨迹规划算法及其实现方式(结合运动学及动力学方程进行相关的轨迹点选取及工程实现),其中各个点的坐标为A= ...
- matlab求系统根轨迹代码_根轨迹法、PID参数整定和matlab指令计算
收获 (1)理解根轨迹的概念及其在控制系统设计中的作用: (2)手绘根轨迹草图,以及如何使用极端及绘制根轨迹: (3)熟悉在反馈控制系统中应用广泛的关键部件:PID控制器: (4)理解根轨迹在参数设计 ...
- matlab求系统根轨迹代码_要想正确画出根轨迹,先搞清楚这8大法则再说!
话说宝刀君这几年给学弟学妹们辅导自控时,学弟学妹们面对根轨迹,经常是一脸懵逼. 常常是拿到题后,零极点都标出来了,法则也写出来了,但就是根轨迹画不出来. 有时好不容易画出来了,返回去和法则一对照,忍不 ...
- 3、利用matlab求f(x)的一阶导函数(完整代码)
已知,利用matlab求f(x)的一阶导函数 在 MATLAB 中,可以使用符号计算工具箱 Symbolic Math Toolbox 来求 $f(x)$ 的一阶导函数.具体步骤如下: 打开 MATL ...
- matlab路面功率谱密度的代码,[转载]转:matlab求功率谱密度代码实例
(如果不先对数据都减去一个均值,那么接近0Hz部分的功率会非常非常大~这是有害的,一般做数据处理的时候如果只关注交流量的话,就要先使得整个序列的均值为0,方法就是给每个数减去该序列的一个均值2012- ...
- matlab求阶乘函数的代码,用matlab编写阶乘函数,调用该函数生成1!,……10!的阶乘表...
由热心网友 zzfg511bhk 提供的答案1: for i=1:10 A(i,:)=[i fac(i)] end 其中 fac(n)为求阶乘的函数保存在fac.m文件中 答:Matlab 2015R ...
- 在matlab中可以计算式子的最大值吗,matlab求最大值
matlab遗传算法求最大值问题例题完整代码_IT认证_资格考试/认证_教育专区.matlab遗传算法求最大值问题例题完整代码 本文件的目的是减少您打字的烦恼 %主程序:用...... 11MATLA ...
- 精馏塔matlab,MATLAB图解精馏塔理论塔板数程序代码
<MATLAB图解精馏塔理论塔板数程序代码>由会员分享,可在线阅读,更多相关<MATLAB图解精馏塔理论塔板数程序代码(6页珍藏版)>请在人人文库网上搜索. 1.MATLAB图 ...
- matlab 求n 的和,MATLAB求1的阶乘加到n的阶乘和 不要现有的函数,要自己编写出来的...
点击查看MATLAB求1的阶乘加到n的阶乘和 不要现有的函数,要自己编写出来的具体信息 答:myfactorial = @(n) factorial(n) myfactorial = @(n) pro ...
- matlab中对于xf(x)的积分,[matlab 积分]MATLAB求积分?
MATLAB求积分? 问题补充:我想用MATLAB求一下这个式子的积分,谁能帮我一下?g(f)=(e^4kxf)/sinh(kctf)未知量是f,最后求出来的式子里保留其他几个字母. ●matcom ...
最新文章
- GDCM:ReadUpToTag的测试程序
- 跑三小时的monkey测试该怎么算_百亿次的锤炼 - 带逛Dragonboat的各类测试
- depends用于测试程序运行所缺少的文件,可以帮我们很快找到问题
- poj2586 Y2K Accounting Bug
- python selenium 等待js加载完成_一个用python完成的RSA成功模拟JS加密完成自动登录...
- Angular2 - Starter - NgModule
- 开关电源模块并联供电系统_你了解UWE/F_S-1/3WR3系列小功率模块电源吗?
- Android studio更换主题、背景图片
- scala的linearization
- 计算机WORD函数求乘积,Word表格函数运用:加减乘除、求和、求积超简单,大神都不一定会!...
- web前端关于浏览器兼容性
- 认识研发数字化管理(数字化研发管理)
- 微信小程序 - 登录获取openid和用户信息(适配getUserProfile)
- GB28181实现摄像头网页无插件直播、回放过程中设备状态分析
- 学计算机用锐龙,开学装机:3000元AMD锐龙5,2400G核显电脑配置推荐
- FPGA之CRC校验
- html网页文件的标记是什么意思,html是什么意思?
- 【原】FSDB波形转VCD波形
- 聊一个基于波士顿矩阵的数据业务分析案例
- 无法使用快速选择,因为没有足够内存(RAM)。