normalRotation

Вычисление преобразования для поворота нормали к плоскости

Описание

пример

tform = normalRotation(model,referenceVector) возвращает rigid3d tform объекта, который задает преобразование для вектора нормали плоскости в referenceVector. model является planeModel. referenceVector является вектором 1 на 3.

Примеры

свернуть все

Создайте объект velodyneFileReader.

veloReader = velodyneFileReader('lidarData_ConstructionRoad.pcap','HDL32E');

Считайте первую систему координат данных лидара.

frameNumber = 1;
ptCloud  = readFrame(veloReader,frameNumber);

Найдите наземный самолет.

maxDistance = 0.4;
referenceVector = [0 0 1];

groundPlane = pcfitplane(ptCloud,maxDistance,referenceVector);

Преобразуйте плоскость земли так, чтобы она была параллельна плоскости X-Y.

tform = normalRotation(groundPlane,referenceVector);

Преобразуйте облако точек.

ptCloudOut = pctransform(ptCloud,tform);

Отображение исходного и преобразованного облака точек.

planeParams = groundPlane.Parameters * pinv(tform.T);
transformedPlane = planeModel(planeParams);
figure;
pcshowpair(ptCloudOut,ptCloud);
hold on;
plot(groundPlane, 'Color', 'magenta');
plot(transformedPlane, 'Color', 'green');

Figure contains an axes. The axes contains 4 objects of type scatter, patch.

Входные параметры

свернуть все

Параметрическая модель плоскости, возвращенная planeModel.

Ссылка, заданный как вектор 1 на 3.

См. также

Функции

Объекты

Введенный в R2020b