【发布时间】:2017-12-12 19:23:58
【问题描述】:
我有 3D 点云。我需要将它们绘制为表面。我尝试了使用 meshdrid、griddata、scatterInterpolant、trisurf-delaunay 的变体。没有任何效果。我知道这个问题被讨论了很多,但似乎我不明白一些重要的细节。我现在拥有的代码:
load('coords.mat')
figure()
subplot(1,2,1)
plot3(x,y,z,'.')
axis off
view(3)
subplot(1,2,2)
C=gray(numel(x)); % unsuccessful attempt
[~,idx]=sort(z); % to have
C=C(idx,:); % illumination
scatter3(x,y,z,50,C,'filled')
axis off
view(3)
你能帮帮我吗:
1) 想办法用表面函数绘制它。
因为表面内可能有一些点(可能是我的问题)
2) 如何去除“隐形”点?
我需要针对不同情况的解决方案,图片和数据只是一个例子。
mat文件可以下载here.
附言
以防万一——我将这些点的坐标作为随机贝塞尔曲线的旋转获得。
更新
如果上面的数据太大,我会生成另一个点数较少的集合:
坐标是here。
【问题讨论】: