[Crane et al. 2013]提出了利用热运动方程来计算网格测地线的方法,具体算法过程如下图所示:
第一步:热运动方程用来描述热的传播状态:
将热运动方程离散化并整理后得到:
其中:id为单位矩阵,t为时间间隔,Δ为离散Laplacian算子,ut为t时刻的热状态,u0为初始时刻的热状态。
第二步:第一步计算得到的热梯度方向与测地距离的梯度方向相同,由Eikonal方程知道测地距离的梯度为单位向量,于是通过归一化热梯度我们得到测地距离的梯度:
第三步:得到测地距离的梯度之后,测地线问题即变为求解以下式子:
根据变分法,上式最小化即求解泊松方程:
其中:Φ即为网格上顶点距离源点的测地距离。
效果:
欢迎大家一起探讨计算机图形学算法问题,邮箱:[email protected]
本文为原创,转载请注明出处:http://www.cnblogs.com/shushen。
参考文献:
[1] Keenan Crane, Clarisse Weischedel, and Max Wardetzky. 2013. Geodesics in heat: A new approach to computing distance based on heat flow. ACM Trans. Graph. 32, 5, Article 152 (October 2013), 11 pages.
时间: 2024-10-16 15:01:05