我想计算点云中某些点的平均值和高斯曲率。
我有x,y,z,它们是坐标并且是1d数组。我想使用下面的代码 src 但是在输入参数X,Y和Z是2d数组,我不知道是什么意思,以及我如何计算2d数组对应他们。
let b = 'es6'
let obj1 = {
[b]: 'asdasda',
}
console.log(obj1)
// [object Object] {
// es6: "asdasda"
// }
let a = undefined
let obj2 = {
[a] : 'asd',
}
console.log(obj2)
// [object Object] {
// undefined: "asd"
// }
答案 0 :(得分:0)
您可以将x,y,z数据转换为曲面矩阵/ 2D数组。方式取决于您的数据,方式和内容。
结构化网格数据:
(i)中。如果您的x,y,z对应于结构化网格,那么您可以直接获得x,y的唯一值,它给出 (nx,ny)的点数分别沿x和y轴 。使用此 (nx,ny) ,您需要将x,y,z数据分别重塑为矩阵X,Y,Z并使用您的函数。
(ii)中。如果你不能重塑,你可以得到 min 和 max 的x值,使用 meshgrid 制作你自己的网格并使用的GridData
非结构化网格数据:如果您的数据是非结构化/分散的,请获取 min 和 max ,使用 meshgrid 创建网格使用 griddata , scatteredInterpolant 进行插值。
另请参阅以下链接:
https://in.mathworks.com/matlabcentral/fileexchange/56533-xyz2grd
https://in.mathworks.com/matlabcentral/fileexchange/56414-xyz-file-functions