【问题标题】:What kind of cool graphics algorithms can I implement?我可以实现哪些很酷的图形算法?
【发布时间】:2010-12-27 11:34:21
【问题描述】:

我将为我正在开发的应用程序编写一个精美的(动画)about-box。因为这是程序员经常被允许发光和玩代码的地方,所以我很想知道社区已经实现了什么样的酷算法。

算法可以是动画分形、正弦斑点、火焰、烟雾、粒子系统等。

但是,我想到了一些自然限制:应该可以用几乎任何语言来实现该算法。因此,不应发布使用大多数语言无法访问的库的高级 Directx 代码或 XNA 代码。 3D 是最受欢迎的,但它不应该依赖大量的额外安装。

如果您可以将图像与代码效果一起发布,那就太棒了。

下面是一个很酷的 about 框示例,其中包含动画 3D 图形和标题栏上的一些动画正弦斑点:

这是 Winamp 中使用的 about 框的图像,带有 3D 动画:

【问题讨论】:

  • 真的,如果你有时间和意愿花在这个上,你的应用可能还不够亮眼。
  • 完全不同意。一件事是必须在应用程序中的编程功能。玩你的编码热情是完全不同的事情。有无数的应用程序在它们的关于框里有很酷的效果,回到 Winamp 和 Fast Tracker 等等。这也关乎创造力和学习。
  • 听起来你想创建一个演示:en.wikipedia.org/wiki/Demoscene
  • 出于同样的原因,有些人编写闪存程序,而另一些人则更喜欢处理数字。不同的兴趣。就我个人而言,我一直很喜欢图形(计算数字),所以我不介意在业余时间做我真正喜欢的事情。
  • 如果你想制作一些视觉上很酷的东西,让应用程序在视觉上很酷,不要把时间浪费在 90% 的用户永远不会打开的东西上(你最后一次打开网络浏览器是什么时候“关于盒子”)

标签: algorithm math graphics visualization effects


【解决方案1】:

我非常喜欢 Julia 4D 四元分形。


(来源:macromedia.com

视频:Julia 4D animation in F#

【讨论】:

  • 这很酷。可以在没有 DX、OGL 或 XNA 的情况下实时完成吗?
  • 抱歉,我不这么认为。或者,如果您可以在 asm (SSE) 中手动优化它并保持低分辨率(可能是 160x120 像素)。
【解决方案2】:

一种叫做 Wolfram Worm 的东西似乎是一个很棒的尝试项目。通过使用沿着两条连接的贝塞尔曲线的移动来计算随机平滑移动很容易。可以在此页面上找到大量精彩的演示:

http://levitated.net/daily/index.html


(来源:levitated.net

【讨论】:

    【解决方案3】:

    Metaballs 是另一种可能很有趣的方法。它们在一个斑点周围定义了一个能量场,当它们足够接近时,它们会将两个形状融合在一起。文章链接可以在here找到。

    【讨论】:

      【解决方案4】:

      我在this 页面上测试并运行了代码。它产生老式的 2D 火焰效果。即使我在 N270 上以高清全屏模式运行它,它似乎也能正常工作,没有任何延迟。代码和所有来源都发布在给定的网页上。

      【讨论】:

      • 它当然应该运行没有延迟,使用相同的算法在带有 ISA 图形的 386DX33 上完美流畅地运行!
      • 酷!就像我写的那样,我在托管代码中对其进行了测试,它既流畅又漂亮。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      相关资源
      最近更新 更多