码迷,mamicode.com
首页 > 编程语言 > 详细

网格测地线算法(Geodesics in Heat)

时间:2016-01-29 16:11:43      阅读:1164      评论:0      收藏:0      [点我收藏+]

标签:

       [Crane et al. 2013]提出了利用热运动方程来计算网格测地线的方法,具体算法过程如下图所示:

       第一步:热运动方程用来描述热的传播状态:

技术分享

  将热运动方程离散化并整理后得到:

技术分享

其中:id为单位矩阵,t为时间间隔,Δ为离散Laplacian算子,ut为t时刻的热状态,u0为初始时刻的热状态。

       第二步:第一步计算得到的热梯度方向与测地距离的梯度方向相同,由Eikonal方程知道测地距离的梯度为单位向量,于是通过归一化热梯度我们得到测地距离的梯度:

技术分享

  第三步:得到测地距离的梯度之后,测地线问题即变为求解以下式子:

技术分享

  根据变分法,上式最小化即求解泊松方程:

技术分享

其中:Φ即为网格上顶点距离源点的测地距离。

技术分享

效果:

技术分享 技术分享

技术分享 技术分享

欢迎大家一起探讨计算机图形学算法问题,邮箱:shushen@126.com

本文为原创,转载请注明出处: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.

网格测地线算法(Geodesics in Heat)

标签:

原文地址:http://www.cnblogs.com/shushen/p/5169099.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!