为表面曲率计算提供正确的输入

时间:2017-05-27 05:16:12

标签: matlab matrix vector gaussian point-clouds

我想计算点云中某些点的平均值和高斯曲率。

我有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"
// }

1 个答案:

答案 0 :(得分:0)

您可以将x,y,z数据转换为曲面矩阵/ 2D数组。方式取决于您的数据,方式和内容。

  1. 结构化网格数据:

    (i)中。如果您的x,y,z对应于结构化网格,那么您可以直接获得x,y的唯一值,它给出 (nx,ny)的点数分别沿x和y轴 。使用此 (nx,ny) ,您需要将x,y,z数据分别重塑为矩阵X,Y,Z并使用您的函数。

    (ii)中。如果你不能重塑,你可以得到 min max 的x值,使用 meshgrid 制作你自己的网格并使用的GridData

  2. 非结构化网格数据:如果您的数据是非结构化/分散的,请获取 min max ,使用 meshgrid 创建网格使用 griddata scatteredInterpolant 进行插值。

  3. 另请参阅以下链接:

    https://in.mathworks.com/matlabcentral/fileexchange/56533-xyz2grd

    https://in.mathworks.com/matlabcentral/fileexchange/56414-xyz-file-functions