Вычисление расстояния от точечного облака до эталонной сетчатой ​​поверхности в 3D с помощью Matlab - PullRequest
0 голосов
/ 22 октября 2019

В контексте постоянной площадной деформации Мониторинга фасада здания, я хотел бы сравнить epochally записанных облаков точек с ячеистой моделью в качестве опорной поверхности, чтобы представить их расстояние как Heatmap с палитрой легенды в Matlab. Я мог бы построить это, но без правильного вида спереди. Мой проект имеет ориентацию в соответствии с глобальной декартовой системой координат (измеряется с помощью сканера Totalstation). Я хочу изменить ориентацию моего облака точек вдоль x, y и z, чтобы иметь хороший (правильный) вид спереди проекта (без искажений),Как я могу вращать Оси, подходящие для моего проекта. Какой самый быстрый и эффективный метод для решения этой проблемы в Matlab? Буду очень признателен за все идеи, предложения и помощь.

distorted plot

clc;close all;clear all;
% reference Point Cloud 
data2=importdata('ST2_2_161019_150235 - Cloud.txt');
data1=importdata('labor16_10_19 - Cloud.txt');
X1 = data1(:,1);
Y1 = data1(:,2);
Z1 = data1(:,3);
% Point Cloud 2
X2 = data2(:,1);
Y2 = data2(:,2);
Z2 =data2(:,3);

% Mesh for interpolation
x=linspace(min([X1;X2]),max([X1;X2]),1000);
y=linspace(min([Y1;Y2]),max([Y1;Y2]),1000);
z=linspace(min([Z1;Z2]),max([Z1;Z2]),1000);
[X,Z]=meshgrid(x,z);
[X,Y]=meshgrid(x,y);

% Calculate interpolants
V1=TriScatteredInterp(X1,Z1,Y1);
V2=TriScatteredInterp(X2,Z2,Y2);
F1=V1(X,Z);
F2=V2(X,Z);

% Plot to check results!
figure(1)
% scatter(X1,Y1,Z1)
hold on
mesh(X,Z,F2-F1);              % soll-ist
% contourf(X,Z,F2-F1);
colormap(jet); h=colorbar; set(h,'YTick',-0.06:0.03:0.2);
hold off
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...