图像漩涡特效,扭曲特效,Swirl算法思想

所谓的扭曲特效就是这样的:

在网上直接搜漩涡算法什么的,也没有搜到,可能是我不知道怎么搜索关键词吧,最后终于找到一个生效的代码,研究了一下之后,把简单算法原理总结在这。

其实这个算法挺仿生的,核心在于了解漩涡的特点是什么?

是流速,距离漩涡中心和边缘的旋转速度是不同的。之前考虑了各种什么二维坐标转一维坐标,再把一维坐标映射在螺旋线上。想复杂了,也不知道怎么实现,也不知道是否有用。

其实算法核心就是以漩涡为中心,对图片进行旋转,只不过旋转量不同。

你观察图片也发现,越靠近中心,扭曲(旋转)越大。

所以我们可以这么去做。以扭曲中心为圆心,向外取每个像素环。每个像素环上的像素到扭曲点的距离是相等的,为dr,然后只需要把这个圆上的像素点,都绕扭曲中心,旋转一定的角度就可以了。

具体旋转多少角度,可以自己调,反正只要保证,dr越小,旋转角度越大即可。

至于旋转像素点,跟实际实现的方式相关,可以是纹理采样的映射,也可能是实际旋转。但总体原理就是这样的。这样实现出来的效果就是扭曲了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值