2

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_pointX、Y、Z座標を持つファイルです。これらの座標を使用してメッシュを生成する必要があります。

4

2 に答える 2