Tôi muốn tạo một âm mưu của bề mặt 3D trải rộng trên tất cả các điểm từ một đám mây điểm [X,Y,Z]
. Ví dụ đây là một biểu đồ phân tán của đám mây điểm của tôi:Matlab Delaunay Triangulation của Cloud Point - Color Matrix
scatter3(X,Y,Z,5,C)
Như bạn có thể thấy mỗi điểm dữ liệu có giá trị cường độ C
.
bây giờ tôi thực hiện các tam giác
dt = DelaunayTri(X,Y,Z);
[tri Xb]= freeBoundary(dt);
Và tôi nhận được bề mặt tam giác
figure
trisurf(tri,Xb(:,1),Xb(:,2),Xb(:,3), 'FaceColor', 'cyan', 'faceAlpha', 0.8);
Tuy nhiên, khi tôi cố gắng để thiết lập màu sắc của bề mặt bằng cách sử dụng
trisurf(tri,Xb(:,1),Xb(:,2),Xb(:,3),C,'EdgeAlpha',0,'FaceColor','interp')
Tôi nhận được thông báo lỗi: "Cảnh báo: Dữ liệu màu không được đặt cho đổ bóng Interpolated", đó là do kích thước của C
không khớp với Xb
hoặc tri
.
Làm cách nào để đảm bảo tôi nhận được màu bề mặt nội suy chính xác?
Tuyệt vời, cảm ơn bạn rất nhiều vì câu trả lời của bạn. Điều này hoạt động đẹp! –
Xin lỗi, tôi không biết về điều đó –