【问题标题】:What algorithms can be used to simulate a lens that is physically accurate?可以使用哪些算法来模拟物理上准确的镜头?
【发布时间】:2013-11-30 12:57:38
【问题描述】:

我从未真正做过任何光学方面的工作。目前正在阅读 Hecht 的 Optics 以更深入地了解光学。我需要创建一个软件,它可以拍摄图像(简单的图像,例如白色背景上的红色圆圈)并执行操作,以输出具有远视(远视)的人会看到的图像,当他们的眼睛(或眼睛)位于圆的中心。为此,我可以使用哪些算法来建模镜头?对书籍、研究论文、图书馆的任何参考表示赞赏。

【问题讨论】:

  • 模拟远视的最简单方法是模糊图像。模糊的程度与实际焦点与理想焦点的距离成正比,因此取决于距离。由于您只有 2D 图像,因此您必须将其嵌入到 3D 场景中(或者至少通过添加诸如“物体和镜头之间的距离”之类的参数来模拟它)。如果您想要更精确的物理效果,您可以使用光线投射来模拟成熟的镜头。
  • “基于物理的渲染”一书的第 6 章介绍了光线追踪中的相机模型。 These slides来自this rendering course总结章节内容。它涵盖(除其他外)“景深”、“焦距”和“混乱圆”、“焦平面”和“图像平面”的作用。这对你有帮助吗?

标签: algorithm simulation physics


【解决方案1】:

[我删除了这篇文章,因为我认为它的细节太少了,但由于没有其他人回复我已经取消删除以防万一。最近我发现有一个科学计算s.o。这可能是一个更好的地方问 - http://scicomp.stackexchange.com/]

这真的取决于你想做什么。

对于像模拟有远见的人在查看(附近)平面图像时会看到的东西这样简单的事情,模糊(如 Domi 在 cmets 中所建议的那样)可能没问题。

在以下情况下事情会变得越来越复杂:

  • 正在成像的内容包含不同距离的组件(简单来说,每个组件的模糊程度都会不同)

  • 您想要包含几何像差的确切影响(例如镜头上的色差)

  • 您想要包含波状效果(如衍射)

对于一般经典像差,您必须进行物理上精确的光线追踪。在实践中,您可能会发现可以提供足够好的结果以换取速度的近似值(例如,模糊是一种极端近似值)。对于类似波浪的效果,我不确定——我猜你用路径长度来扩展光线追踪。

我的 hecht 很旧,但在几何光学部分有一个关于光线追踪的部分,整章都涵盖了理论。

请记住,即使模糊效果足够好,您仍然需要从案例的确切细节以及所涉及的几何形状中计算出模糊程度(基本上,您需要系统的点扩散函数;那么您可能用高斯近似)。

【讨论】:

    猜你喜欢
    • 2011-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 2017-08-26
    相关资源
    最近更新 更多