如何对三维散点进行插值,网格化为曲面

如何对散点数据进行插值,使其网格化成为曲面

有如下散点数据,在Julia中如何对其进行插值,使其能够网格化成为曲面

散点数据

image

用matlab网格化后的曲面

image

附上散点原始数据:散点数据(此处下载)

对于Julia三维的数据插值,自己查询了一些文档,还是搞不定! :sob:望有经验的大佬分享一下!

额,你绘图的代码能贴一下吗

贴出来的图是matlab画的,现在如何用Julia实现三维散点的插值不太会
matlab相关的实现代码如下:

%data=readmatrix('data.csv');%读取数据
figure
plot3(data(:,1),data(:,2),data(:,3),'.')
grid on
r=150;%网格数
[X,Y,Z]=griddata(data(:,1),data(:,2),data(:,3),...
       linspace(min(data(:,1)),max(data(:,1)),r)',...
       linspace(min(data(:,2)),max(data(:,2)),r),'v4');
figure
mesh(X,Y,Z)

纵坐标z是怎么生成的,能说一下吗
ps: 画面的话试试surface,后端用plotly

matlab里面直接使用griddata对散点数据(x,y,z)进行网格化,网格化后的(X,Y,Z)就能直接绘制曲面了,其中网格化的操作其实就是散点的插值操作

稍等吧,我去slack问问

问到一个可能有griddata函数的仓库

你试试用surface(x, y, z)看看,后端用plotly()
ps: 这个matlab的代码完全看不懂,所以我的理解可能有偏差

嗯,我去试一试 :blush:

我看GR有点难看而且方位角受限制,用pyplot比较好。按slack的 Argel Ramirez Reyes的代码加点调整:

using DelimitedFiles
using Plots

data = readdlm("data.csv", ',')
pyplot()
surface(data[:,1], data[:,2], data[:,3], c=:viridis, fmt=:png, camera=(-30, 40))

image