粒子(点群)をZ軸方向に回転させる回転行列を使用して、点群データを内積したのち、2次元平面上の描画をすればよいと思います。
下記にサンプルコードを書きました。
ptCloud = pcread('teapot.ply'); %pcreadはComputerVisionToolboxが必要(サンプルデータ作成にのみ使用)
data = ptCloud.Location;
scatter3(data(:,1), data(:,2), data(:,3), 'Marker', '.');% 元データの描画
% Z軸に対し、反時計周りに22.5度回転させる回転行列の作成
cosVal = cos(deg2rad(22.5));
sinVal = sin(deg2rad(22.5));
M = eye(3);
M(1:2,1:2) = [cosVal, -sinVal; sinVal, cosVal];
% 回転行列の内積計算
zrotateData = (M * data')';
% 回転させたデータの描画
figure;
scatter3(zrotateData(:,1), zrotateData(:,2), zrotateData(:,3), 'Marker', '.');% 元画像の表示
% XY面の描画(上から見た図)
figure;
scatter(zrotateData(:,1), zrotateData(:,2), 'Marker', '.');