• 曲率Curvature,变形,level set


    1 preface:

    最近在看Level Set Methods and Dynamic Implicit Surface一书(见文章末),该书详细讲了level set methods,一类最近应用非常广泛的解决动态交互面计算的方法(这个方法我以后有时间慢慢展开讨论)。其中,曲率在图形变形、运动中经常用到。在Level Set Method中有应用曲率进行变形的实例,曲率经过一定函数映射可以与速度场进行联系(很多人通过曲率来计算速度场初值)。事实上,mean curvature flow本来就是有物理意义的,肥皂泡的形态演变,油滴到水面后的变形都遵循这个原理。

    300px-Girl_blowing_bubbles

    2 Introducation

    对于曲线上的一点,曲率定义的形式是 角度改变/长度改变,(不牵涉符号,恒非负)也就是说沿着曲线的走势,在单位长度上角度改变的越多,该点的曲率越大。

    在三维曲面中,经过曲面上一点有无数条的曲线(其实曲率对于三维而言,是个外来的非本质extrinsic概念),曲率怎么定义呢?或者说我们怎么求一个平均曲率呢?有一种取mean curvature的方法就是找到两条曲线,对应该点的最大k1和最小的曲率k2,相加除以2。Gauss curvature 是把k1和k2相乘。

    在Level Set Method中,(三维)曲率定义为该点法线量的散度。展开后,x,y,z对称但总共有9项之多。

    curvature

    直接计算是很navie的事情。这里面再次有数值方法上场,当繁琐的数理公式要在计算机上跑,数值方法就是梦想照进现实而不至于失真太多。Level Set Method的精髓在于定义signed distance function, 并且使得:

    la

    这样简化之后,计算量少多了。并且更加容易编程。但是有一个问题,就是计算的过程中*式可能会不等于1,这就需要有一个重新初始化的工作。(我还在研究中。。)

    下面是一个小例子,应用mean curvature变形,从t=0时刻开始演变。

    20091221195906500 

    先写到这里,不断学习中。

    0387954821_01_LZZZZZZZ

    Author:

    Stanley Osher : 数学家,相当牛,UCLA

    Ronald Fedkiw : Stanford的计算机系搞图形的,很强大很强大,各种膜拜

  • 相关阅读:
    雪花降落CADisplayLink
    图片分离--分成两片
    判断是否输入表情符号
    字符串过滤
    UICollectionView Layout自定义 Layout布局
    本地化 NSLocal
    CAAnimation动画--(旋转/缩放/移动/闪烁)
    摇一摇
    监听键盘升降
    ❄️ 雪花降落
  • 原文地址:https://www.cnblogs.com/antai/p/1629257.html
Copyright © 2020-2023  润新知