当前位置:网站首页>GTK实现水波纹效果
GTK实现水波纹效果
2022-08-02 23:53:00 【百口可乐__】
参考网络上msvc实现水波纹
水波有如下几个特性:
- 扩散:当你投一块石头到水中,你会看到一个以石头入水点为圆心所形成的一圈圈的水波,这里,你可能会被这个现象所误导,以为水波上的每一点都是以石头入水点为中心向外扩散的,这是错误的。实际上,水波上的任何一点在任何时候都是以自己为圆心向四周扩散的,之所以会形成一个环状的水波,是因为水波的内部因为扩散的对称而相互抵消了。
- 衰减:因为水是有阻尼的,否则,当你在水池中投入石头,水波就会永不停止的震荡下去。
- 水的折射:因为水波上不同地点的倾斜角度不同,所以,因为水的折射,我们从观察点垂直往下看到的水底并不是在观察点的正下方,而有一定的偏移。如果不考虑水面上部的光线反射,这就是我们能感觉到水波形状的原因。
- 反射:水波遇到障碍物会反射。
- 衍射:忽然又想到这一点,但是在程序里却看不到,如果能在水池中央放上一块礁石,或放一个中间有缝的隔板,那么就能看到水波的衍射现象了。
对于水波纹我理解的主要是两个地方
波形计算
有这样的一个公式
X0’=(X1+X2+X3+X4)/ 2- X0
已知某一时刻水面上任意一点的波幅,那么,在下一时刻,任意一点的波幅就等于与该点紧邻的前、后、左、右四点的波幅的和除以2、再减去该点的波幅。
// 计算出下一个时刻所有
边栏推荐
- minio 单机版安装
- 【Leetcode】305.岛屿数量II(困难)
- js基础知识整理之 —— Date和定时器
- 【QT】自定义工程封装成DLL并如何调用(带ui界面的)
- 一文读懂 Web 3.0 应用架构
- 脂溶性胆固醇-聚乙二醇-叠氮,Cholesterol-PEG-Azide,CLS-PEG-N3
- What is the matter that programmers often say "the left hand is knuckled and the right hand is hot"?
- VMware workstation program starts slowly
- IDEA多线程调试
- 高数---二重积分
猜你喜欢
随机推荐
pytest-常用运行参数
js基础知识整理之 —— 全局作用域
vue3的keepAlive缓存组件
我为什么又能面试一次就拿到offer
关于地图GIS开发事项的一次实践整理(上)
【软考 系统架构设计师】软件架构设计① 软件架构的概念
Find My技术|智能防丢还得看苹果Find My技术
记一次sql优化Using temporary; Using filesort
@GetMapping、@PostMapping、@PutMapping、@DeleteMapping的区别
【Autosar RTM】
Rasa 3.x 学习系列- Rasa - Issues 4792 socket debug logs clog up debug feed学习笔记
令人心动的AI综述(1)
VMware workstation program starts slowly
NLP常用Backbone模型小抄(1)
flutter 时间戳转日期
【问题征集】向 iPod 之父、iPhone 联合设计者、Google Nest 创始人 Tony Fadell 提问啦
Auto.js special positioning control method cannot perform blocking operations on the ui thread, please use setTimeout instead
停止使用 Storyboards 和 Interface Builder
Nuxt 所有页面都设置上SEO相关标签
程序员常说的“左手锟斤拷,右手烫烫烫”是怎么回事?