MATLAB点云旋转至和XOY平面平行

自己琢磨了一下,写了一个点云旋转至XOY平面的的小程序,附带一个和XOZ平面平行的,另外一个平面我不需要,就没写,不过有两个参照很容易可以写出来。上图。

旋转效果

代码在下面:

function [ptcloud,T]=ptRotateZ (Ptcloud,cor_vector) %z轴
n=[0,0,1]
ca = dot(cor_vector, n)
%暂无方向判断。旋转矩阵正确性,未验证。%已验证
a1=cor_vector(1);
a2=cor_vector(2);
a3=cor_vector(3);
b1=a1/sqrt(a1^2+a2^2+a3^2);
b2=a2/sqrt(a1^2+a2^2+a3^2);
b3=a3/sqrt(a1^2+a2^2+a3^2);
if ca>0
o1 = -atan(b2/b3);
else
o1 = pi-atan(b2/b3);
end
o2 = -atan(-b1/sqrt(b2^2+b3^2));
T=rotx(o1)*roty(o2);
ptcloud=pointCloud(Ptcloud.Location*T);
end

Main

clc;clear;
numpt = 10000;
points = zeros(numpt, 3);  % 创建一个 10000x3 的零矩阵来存储点

for i = 1:nu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值