Matlab中已知三角形质心值,如何用trisurf绘制三角曲面?
用Matlab的
trisurf绘制仅已知质心值的三角曲面 这确实是个挺棘手的场景——trisurf本质是依赖网格节点的数值来完成三角曲面的渲染,但如果咱们手里只有每个三角形质心处的数值,直接用肯定行不通,咱们来拆解下思路里的核心问题:
反推节点值的逻辑与困境
假设某个节点N₀被n个三角形共享,这些三角形的另外两个节点依次为N₁&N₂、N₂&N₃……Nₙ&N₁,每个三角形的质心记为Cᵢ(i=1,…,n)。根据线性插值的质心值定义,每个质心的数值满足:
f(C₁) = 1/3*(f₀ + f₁ + f₂)
f(C₂) = 1/3*(f₀ + f₂ + f₃)
...
f(Cₙ) = 1/3*(f₀ + fₙ + f₁)
这里的f₀是节点N₀的未知值,f₁到fₙ是周围其他节点的未知值,算下来一共有n+1个未知数,但对应的方程只有n个。这种情况下方程组是欠定的,不存在唯一解,所以咱们没法通过这套方程准确求解出所有需要的节点值。
内容的提问来源于stack exchange,提问作者george andrew
相关产品推荐
相关产品推荐

