我有 3D 点云。我需要将它们绘制为曲面。我尝试了使用 meshdrid、griddata、scatteredInterpolant、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 文件可以在这里下载。
如果它很重要 - 我获得这些点的坐标作为随机贝塞尔曲线的旋转。
如果上面的数据太大,我会生成另一个点数较少的集合:
坐标在这里。
你从哪里得到这些数据?它表示为向量,但如果将其重塑为矩阵,则可以使用该surf
函数。试试这个代码:
z=reshape(z,100,100);
y=reshape(y,100,100);
x=reshape(x,100,100);
surf(x,y,z)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句