当前位置:网站首页>GTK实现水波纹效果
GTK实现水波纹效果
2022-08-02 23:53:00 【百口可乐__】
参考网络上msvc实现水波纹
水波有如下几个特性:
- 扩散:当你投一块石头到水中,你会看到一个以石头入水点为圆心所形成的一圈圈的水波,这里,你可能会被这个现象所误导,以为水波上的每一点都是以石头入水点为中心向外扩散的,这是错误的。实际上,水波上的任何一点在任何时候都是以自己为圆心向四周扩散的,之所以会形成一个环状的水波,是因为水波的内部因为扩散的对称而相互抵消了。
- 衰减:因为水是有阻尼的,否则,当你在水池中投入石头,水波就会永不停止的震荡下去。
- 水的折射:因为水波上不同地点的倾斜角度不同,所以,因为水的折射,我们从观察点垂直往下看到的水底并不是在观察点的正下方,而有一定的偏移。如果不考虑水面上部的光线反射,这就是我们能感觉到水波形状的原因。
- 反射:水波遇到障碍物会反射。
- 衍射:忽然又想到这一点,但是在程序里却看不到,如果能在水池中央放上一块礁石,或放一个中间有缝的隔板,那么就能看到水波的衍射现象了。
对于水波纹我理解的主要是两个地方
波形计算
有这样的一个公式
X0’=(X1+X2+X3+X4)/ 2- X0
已知某一时刻水面上任意一点的波幅,那么,在下一时刻,任意一点的波幅就等于与该点紧邻的前、后、左、右四点的波幅的和除以2、再减去该点的波幅。
// 计算出下一个时刻所有
边栏推荐
猜你喜欢
随机推荐
定了!8月起,网易将为本号粉丝提供数据分析培训,费用全免!
别再到处乱放配置文件了!我司使用 7 年的这套解决方案,稳的一秕
UE5 官方案例Lyra 全特性详解 8.如何用配置表初始化角色数据
【TypeScript笔记】01 - TS初体验 && TS常用类型
Test | ali internship 90 days in life: from the perspective of interns, talk about personal growth
流程控制for和while循环语句
【系统架构设计师】第三章 数据库系统
scala 集合通用方法
js基础知识整理之 —— 变量和数据类型
2022中国眼博会,山东眼健康展,视力矫正仪器展,护眼产品展
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
机电设备制造企业,如何借助ERP系统做好客供料管理?
dataBinding的import导入
谷歌 Chrome 浏览器 104 正式版发布:加快网页加载,蓝牙 API 改进
【问题征集】向 iPod 之父、iPhone 联合设计者、Google Nest 创始人 Tony Fadell 提问啦
【多线程】Thread类的基本用法
Carefully organize 16 MySQL usage specifications to reduce problems by 80% and recommend sharing with the team
Connect the Snowflake of CKAN tutorial CKAN to release to open data portal
程序员常说的“左手锟斤拷,右手烫烫烫”是怎么回事?
Find My技术|智能防丢还得看苹果Find My技术