星空屏保方程式

本文关键字:方程式 星空 | 更新日期: 2023-09-27 17:55:57

对于那些不记得旧Windows Starfield屏幕保护程序是什么样子的人,这里有一个YouTube视频:http://www.youtube.com/watch?v=r5AoFiVs2ME

现在,我可以在一定半径内生成随机粒子("恒星")。 我遇到麻烦的是找出实现上述链接视频中看到的受影响的最佳方法。

问题:鉴于我有随机生成的粒子的坐标(向量)。 给它们一个方向(矢量)的最佳方法和/或方程式是什么,以便它们以与旧屏幕保护程序中看到的方式非常相似的方式在屏幕上移动?

谢谢!

星空屏保方程式

他们似乎远离了中心。您可以尝试计算从屏幕中心点到生成的粒子位置的矢量吗?然后使用相同的方向移动粒子并加速粒子,直到它位于屏幕之外。

一种基本算法:

  1. 在随机位置生成星星,具有 3-D 高斯分布(最有可能在屏幕中间,当您离屏幕越远时不太可能)。请注意,恒星的运动矢量是由这个起点决定的......运动将有效地沿着原点和起始位置形成的线向外行进。

  2. 为每颗新生成的星星分配一个距离。请注意,距离与起始位置无关。

  3. 指数级增加的速度沿直线移动恒星,同时减少它的距离。您必须自己调整这些参数。

  4. 无论速度如何,星星在通过屏幕边界时都应该消失。