matlab - 由凸包创建的曲面上点值的插值

我有一些 3D 点,如 [x,y,z] 和它们的值,如 [Bx,By,Bz] 。这些点的凸包是由convhull生成的或 convexHull

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

最佳答案

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

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

https://stackoverflow.com/questions/64479287/

相关文章:

git - 无法推送到 bitbucket 403 "authentication failed"

reactjs - Stripe 参数_invalid_integer

python - 如何为带有输入的代码编写单元测试 (Python)

docker - 使用 .Net Core 3.1 api (docker) 运行 Heroku 时

reactjs - React craco tailwind postcss 集成

html - 输入类型 "email"在:focus state时变为 "text"

java - 修改 tomcat 上静态 Assets 的 header cookie 并使用 ap

java - 微服务之间的通信和使用 REST 的内聚

python-3.x - 一个FITS文件的坐标转换问题

authentication - Telegram 登录小部件因禁用跨站点 cookie 而损坏