通过交互式网页学习相机成像原理

​

入门摄影这门艺术,你是否有以下这些问题?

焦距、光圈、CMOS是什么?为什么光圈越大,背景虚化效果越好?什么是过曝?...

今天我将分享一个简单的、可交互的相机成像模型,可供大家以可视化的方式深入学习和理解这些术语。

1. Ray Optics Simulation 光学模拟平台

使用者可以交互式的方式,利用该平台提供的光源、镜子、透光物、遮光物等工具创建和模拟 2D 几何光学场景,并与其互动。此外,该平台还提供画廊,使用者可将自己创建的光学场景上传,供其他用户使用与学习。

以下是几个比较有意思的画廊作品,分别构建了日食、变焦镜头、菲涅尔透镜的光学模型。有兴趣的小伙伴也可以自己做一些有意思的模型。

2. 相机成像原理模型的使用

在这里,我通过简单修改该画廊 Camera obscura - Ray Optics Simulation 作品,实现相机成像原理模型的创建。大家可通过如下方式使用:

2.1 创建一个 json文件

这里我创建一个名为 The principle of camera imaging.json 的文件,内容如下:

json 复制代码
{
  "version": 5,
  "name": "The principle of camera imaging",
  "objs": [
    {
      "type": "Blocker",
      "p1": {
        "x": 1060,
        "y": 680
      },
      "p2": {
        "x": 760,
        "y": 680
      }
    },
    {
      "type": "Blocker",
      "p1": {
        "x": 1060,
        "y": 400
      },
      "p2": {
        "x": 760,
        "y": 400
      }
    },
    {
      "type": "Ruler",
      "p1": {
        "x": 1063.0130526315788,
        "y": 698.7886315789475
      },
      "p2": {
        "x": -141.88572433595814,
        "y": 694.8105495423805
      }
    },
    {
      "type": "Aperture",
      "p1": {
        "x": 760,
        "y": 400
      },
      "p2": {
        "x": 760,
        "y": 680
      },
      "p3": {
        "x": 760,
        "y": 504.62570743711734
      },
      "p4": {
        "x": 760,
        "y": 575.3742925628826
      }
    },
    {
      "type": "TextLabel",
      "x": 199.55899596667035,
      "y": 367.9691032858637,
      "text": "Objects outside",
      "alignment": "right"
    },
    {
      "type": "TextLabel",
      "x": 913.5043956043952,
      "y": 392.9062845651083,
      "text": "Camera",
      "alignment": "center"
    },
    {
      "type": "CropBox",
      "p1": {
        "x": -139.83866396761127,
        "y": 326.32154443423786
      },
      "p4": {
        "x": 1133.424493927126,
        "y": 779.921544434238
      }
    },
    {
      "type": "CropBox",
      "p1": {
        "x": 704.0034412955467,
        "y": 362.3215444342379
      },
      "p4": {
        "x": 1086.74028340081,
        "y": 745.058386434238
      }
    },
    {
      "type": "IdealLens",
      "p1": {
        "x": 786.0224861903579,
        "y": 405.29349691080154
      },
      "p2": {
        "x": 786.3857418161693,
        "y": 675.2470299262627
      },
      "focalLength": 155
    },
    {
      "type": "PointSource",
      "x": 432.30290724298936,
      "y": 470.70739164764365,
      "brightness": 0.43,
      "wavelength": 434
    },
    {
      "type": "PointSource",
      "x": -191.5518295991161,
      "y": 572.4623390160647,
      "brightness": 0.68,
      "wavelength": 669
    },
    {
      "type": "Detector",
      "p1": {
        "x": 1059.5017824181016,
        "y": 397.5102132692092
      },
      "p2": {
        "x": 1059.5017824181016,
        "y": 679.7590553744725
      },
      "irradMap": true
    },
    {
      "type": "TextLabel",
      "x": 1066.2885915124061,
      "y": 423.45358025984,
      "text": "CMOS"
    }
  ],
  "width": 1500,
  "height": 800,
  "rayModeDensity": 1.224337645235499,
  "origin": {
    "x": 286.1284655189088,
    "y": -55.57492358816593
  },
  "scale": 0.8255126868265552,
  "simulateColors": true
}

2.2 打开平台导入并使用

打开网站 https://phydemo.app/ray-optics/simulator/ , 左上角文件 -- 打开 -- 选择刚刚创建的json文件,就可以使用啦!

3 交互式相机模拟器网站

交互式相机模拟器,允许用户调整光圈、快门速度、ISO 等设置,模拟不同场景下的拍摄效果。这个网站直观地展示了不同设置如何影响曝光和照片质量,非常适合理解相机的基本原理。

https://www.camerasim.com/

摄影曝光三要素,光圈、快门、ISO 如何平衡

相关推荐
Swilderrr35 分钟前
论文精读:《Directory-Aware Query and Maintenance in Vector Databases》
笔记·学习
kkkkkkkkkk_Z37 分钟前
新手自学嵌入式 | 学习日记:LCD显示原理、PWM控制、电容触摸屏(GT9147)驱动开发与项目实战
驱动开发·学习
昂好的day1 小时前
VisionMaster(VM) 标定工具详解(上):为什么必须标定 + 九点标定手眼标定
开发语言·数码相机·c#
LXT7122 小时前
每日英语一读|为什么夏天的雷雨,总爱在傍晚出现?
深度学习·学习
知识分享小能手2 小时前
C学习教程,从入门到精通,C语言文件 — 完整知识点详解(14)
c语言·网络·学习
羊羊一洋2 小时前
ROM&RAM
c语言·stm32·学习
LittroInno2 小时前
运动平台上的巡检相机:曝光时间与快门该怎样选?
数码相机·机器视觉·曝光时间·运动模糊·滚动快门·巡检相机
优化Henry3 小时前
LTE小区光路降质告警排查与处理实录
运维·网络·学习·5g·tdd
暖馒3 小时前
运动控制框架相关知识
学习
stereohomology4 小时前
我对DeepSeek4.1flash能力变化的感觉和第三方评估相当
人工智能·学习·llm