3D 点群のメッシュを生成する必要があります。そこで、delaunay
関数を使用してポイントの三角形分割を実行しました。LIDAR データは、人間の頭部をスキャンした結果です。
dt = delaunay(X,Y);
trisurf(dt,X,Y,Z);
2つの入力で使用delaunay
すると、出力が得られますが、完全ではありません。だから私は3つの入力を使用しました(X,Y,Z
)
dt = delaunay(X,Y,Z);
trisurf(dt,X,Y,Z);
しかし今、結果は悪化しています。何が問題なのかわからない?
これは私が書いた完全なコードです:
load Head_cloud_point.txt;
data = Head_cloud_point;
for i = 1 : 3
X = data(:, 1);
end
for i = 1 : 3
Y = data(:, 2);
end
for i = 1 : 3
Z = data(:, 3);
end
[m n] = size(X);
[o p] = size(Y);
[r s] = size(Z);
[XI,YI]= meshgrid(X(m,n),Y(o,p));
ZI = interp2(X,Y,Z,XI,YI);
% dt = delaunay(X,Y);
% trisurf(dt,X,Y,ZI);
Head_cloud_point
X、Y、Z座標を持つファイルです。これらの座標を使用してメッシュを生成する必要があります。