当前位置:网站首页>GTK实现水波纹效果
GTK实现水波纹效果
2022-08-02 23:53:00 【百口可乐__】
参考网络上msvc实现水波纹
水波有如下几个特性:
- 扩散:当你投一块石头到水中,你会看到一个以石头入水点为圆心所形成的一圈圈的水波,这里,你可能会被这个现象所误导,以为水波上的每一点都是以石头入水点为中心向外扩散的,这是错误的。实际上,水波上的任何一点在任何时候都是以自己为圆心向四周扩散的,之所以会形成一个环状的水波,是因为水波的内部因为扩散的对称而相互抵消了。
- 衰减:因为水是有阻尼的,否则,当你在水池中投入石头,水波就会永不停止的震荡下去。
- 水的折射:因为水波上不同地点的倾斜角度不同,所以,因为水的折射,我们从观察点垂直往下看到的水底并不是在观察点的正下方,而有一定的偏移。如果不考虑水面上部的光线反射,这就是我们能感觉到水波形状的原因。
- 反射:水波遇到障碍物会反射。
- 衍射:忽然又想到这一点,但是在程序里却看不到,如果能在水池中央放上一块礁石,或放一个中间有缝的隔板,那么就能看到水波的衍射现象了。
对于水波纹我理解的主要是两个地方
波形计算
有这样的一个公式
X0’=(X1+X2+X3+X4)/ 2- X0
已知某一时刻水面上任意一点的波幅,那么,在下一时刻,任意一点的波幅就等于与该点紧邻的前、后、左、右四点的波幅的和除以2、再减去该点的波幅。
// 计算出下一个时刻所有边栏推荐
猜你喜欢
随机推荐
程序员的七夕浪漫时刻
DownMusic总结记录
2022 China Eye Expo, Shandong Eye Health Exhibition, Vision Correction Instrument Exhibition, Eye Care Products Exhibition
matplotlib中的3D绘图警告解决:MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure
【软考 系统架构设计师】软件架构设计① 软件架构的概念
Servlet——请求(request)与响应(response)
UE5 官方案例Lyra 全特性详解 8.如何用配置表初始化角色数据
用了这么多年的LinkedList,作者说自己从来不用它?为什么?
fifa将采用半自动越位技术计算进球
【系统架构设计师】第三章 数据库系统
年近30 ,4月无情被辞,想给划水的兄弟提个醒...
用了TCP协议,就一定不会丢包吗?
C语言:链表
解决错误:Optional int parameter ‘pageSize‘ is present but cannot be translated into a null value due to
【多线程】线程与进程、以及线程进程的调度
NVM和NRM
@GetMapping、@PostMapping、@PutMapping、@DeleteMapping的区别
scala 集合通用方法
js显示隐藏手机号
典型相关分析CCA计算过程









