Matlab 凸包创建的曲面上点的值的插值

Matlab 凸包创建的曲面上点的值的插值,matlab,interpolation,convex-hull,Matlab,Interpolation,Convex Hull,我有一些像[x,y,z]这样的三维点,它们的值像[Bx,By,Bz]。这些点的凸包由或生成 现在我想为凸包上的N个新点插值三角形顶点的值。有什么方法可以做到这一点呢?假设一个给定的点是p=(x,y,z),你发现它位于一个三角形p1=(x1,y1,z1),p2=(x2,y2,z2),和p3=(x3,y3,z3)(在凸面外壳上)。现在如果我理解正确,我们要计算三个非负实值a,b,和c,这样a*p1+b*p2+c*p3=p和a+b+c=1(三角形顶点的线性组合)。它可以由类似于M=[p1;p2;p3

我有一些像[x,y,z]这样的三维点,它们的值像[Bx,By,Bz]。这些点的凸包由或生成


现在我想为凸包上的N个新点插值三角形顶点的值。有什么方法可以做到这一点呢?

假设一个给定的点是
p=(x,y,z)
,你发现它位于一个三角形
p1=(x1,y1,z1)
p2=(x2,y2,z2)
,和
p3=(x3,y3,z3)
(在凸面外壳上)。现在如果我理解正确,我们要计算三个非负实值
a
b
,和
c
,这样
a*p1+b*p2+c*p3=p
a+b+c=1
(三角形顶点的线性组合)。它可以由类似于
M=[p1;p2;p3]
的矩阵和类似于
[abc]*M=p
的等式来定义。因此,
[abc]=p*inv(M)
。您可以为所有其他点执行此操作


请注意,如果
p
不在三角形内,则求解的
[a b c]
将不满足非负性或
a+b+c=1

插值三角顶点的值是什么意思?是的,每个顶点都有一个值。必须对生成的凸包上的新点进行插值。右。例如,如果您使用
convhull
,它将返回三角剖分。您只需要知道如何获取三维三角形中的值,这非常容易(提示:它只是曲面上的值,有一些限制)放置新点的位置?凸面外壳的内部、外部或表面?您希望使用哪种插值方法?插值方法应该只使用3个顶点、4个顶点还是凸包的所有顶点?新点必须位于凸包的曲面上。插值必须应用于每个三角形(凸包的每个三角形的3个顶点)。