質問のリンク先例題について、pcplayerをscatter3に置き換えました(plot3だと点群が線で結ばれてしまう為)
私の古いMATLAB環境では動かせず、アニメーションの動作確認はできていませんが、多分動くと思います。
veloReader = velodyneFileReader('lidarData_ConstructionRoad.pcap','HDL32E');
veloReader.CurrentTime = veloReader.StartTime + seconds(0.3);
figure; set(gcf,'color','k');
while(hasFrame(veloReader) && (veloReader.CurrentTime < veloReader.StartTime + seconds(10)))
ptCloudObj = readFrame(veloReader);
xx = ptCloudObj.Location(:,:,1);
yy = ptCloudObj.Location(:,:,2);
zz = ptCloudObj.Location(:,:,3);
scatter3(xx(:), yy(:), zz(:), 3, 'b', 'filled');
問題は点群の見た目が全く違う事です。
何でもlidarのストリーミングデータは、クルクル回っているセンサの座標系で構成されているそうです。
なので、回転角度に応じた座標系変換をしないと正しく表示されないのだそうです。
とりあえずlidarのストリーミングデータをpcplayerではなく、plot3(scatter3)を用いたアニメーションで表現しましたが、座標変換については追って調べて、出来そうだったら追記します。(なんか難しそう...)