Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Lens Tracing
Search
yumcyawiz
May 17, 2020
Science
0
120
Lens Tracing
LT slide for OSK May LT
yumcyawiz
May 17, 2020
Tweet
Share
More Decks by yumcyawiz
See All by yumcyawiz
rtcamp 10 (vk-illuminati)
yumcyawiz
1
310
ReSTIRの数理と実装 (rtcamp10)
yumcyawiz
1
880
fredholm(rtcamp9)
yumcyawiz
0
110
フォトンマッピングをパス空間から考える
yumcyawiz
0
390
fredholm
yumcyawiz
0
260
Introduction to volume rendering
yumcyawiz
0
2.1k
OSK#p-ray2020年度講義: 古典的レイトレーサーの実装
yumcyawiz
0
260
Ray Tracing: Overview
yumcyawiz
7
1.2k
GLSLでパストレーシングしてコーネルボックスを出す
yumcyawiz
0
480
Other Decks in Science
See All in Science
Factorized Diffusion: Perceptual Illusions by Noise Decomposition
tomoaki0705
0
310
LIMEを用いた判断根拠の可視化
kentaitakura
0
430
ガウス過程回帰とベイズ最適化
nearme_tech
PRO
1
170
Cross-Media Information Spaces and Architectures (CISA)
signer
PRO
3
30k
化学におけるAI・シミュレーション活用のトレンドと 汎用原子レベルシミュレーター: Matlantisを使った素材開発
matlantis
0
430
サイゼミ用因果推論
lw
1
2.7k
04_石井クンツ昌子_お茶の水女子大学理事_副学長_D_I社会実現へ向けて.pdf
sip3ristex
0
120
As We May Interact: Challenges and Opportunities for Next-Generation Human-Information Interaction
signer
PRO
0
370
Analysis-Ready Cloud-Optimized Data for your community and the entire world with Pangeo-Forge
jbusecke
0
130
02_西村訓弘_プログラムディレクター_人口減少を機にひらく未来社会.pdf
sip3ristex
0
120
白金鉱業Meetup Vol.16_【初学者向け発表】 数理最適化のはじめの一歩 〜身近な問題で学ぶ最適化の面白さ〜
brainpadpr
10
1.9k
白金鉱業Meetup Vol.16_数理最適化案件のはじめかた・すすめかた
brainpadpr
3
1.4k
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Building Your Own Lightsaber
phodgson
104
6.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Practical Orchestrator
shlominoach
186
10k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Building Adaptive Systems
keathley
40
2.4k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Transcript
Lens Tracing レイトレで写真レンズを使う @yumcyawiz
Table of contents 1. Introduction 2. 幾何光学の基礎 3. 収差 4.
レンズトレーシング 5. フォーカシング 6. レイのサンプリング 7. レンダリング結果 1
Introduction
レンズトレーシング 複数枚のレンズで構成される光学系をレイトレすること Figure 1: 光路図 2
メリット 写真レンズで撮ったものとほぼ同じ描写が得られる Figure 2: レンダリング結果 3
幾何光学の基礎
薄レンズモデル 非常に薄い単レンズのモデル 収差は 0(現実にはあり得ない) p: 主点 f: 物側焦点 f′: 像側焦点
z y p f f′ 4
薄レンズモデル 焦点距離 l = f′ − p, 物面までの距離 a, 像面までの距離
b レンズの式 1 a + 1 b = 1 l z y a b p f f′ 5
厚レンズモデル 厚みを持った単レンズのモデル p: 物側主点, p′: 像側主点 H: 物側主平面, H′: 像側主平面
z y H H′ p p′ f f′ 6
厚レンズモデル レンズの式が同様に成り立つ 焦点距離 l = f′ − p′ z: 物平面位置,
z′: 像平面位置として 1 z − p − 1 z′ − p′ = 1 l z y H H′ p p′ f f′ 7
レンズ系 複数枚のレンズ系でも入射面、射出面のみに注目して p, f, p′, f′ が同 様に定義される z y
· · · p p′ f f′ 8
近軸近似 上記の議論はレンズを平面として見て行っていた。 レンズが球面の場合、これは z 軸 (光軸) に近い光線のみについて成 り立つので近軸近似と呼ばれる。 z y
9
収差
収差 収差とは結像のずれのことで、収差が存在するとピントを合わせて もボケた状態になる。 現実のレンズでは収差が必ず存在する。 z y 像面 横収差 縦収差 10
ザイデルの 5 収差 収差にはザイデルの 5 収差と呼ばれる次の 5 つがある。 • 球面収差
• コマ収差 • 非点収差 • 像面湾曲 • 歪曲収差 また、光の分散による色収差も存在する。 11
球面収差 レンズが球面であるために発生する収差 z y 像面 12
コマ収差 軸外から来る光が一点に収束しない収差 彗星の尾のような形に見えるためそう呼ばれる z y 像面 13
非点収差 軸外から来る光に対し、X 方向と Y 方向で焦点距離にずれがあること で起こる収差 14
像面湾曲 像面が平面とならず、湾曲してしまっていること z y 像面 15
歪曲収差 撮影した物体が歪んだ形になってしまうこと 16
色収差 波長による屈折率の違いから発生する収差 z y 像面 17
レンズトレーシング
レンズの種類 レンズには以下の 2 種類がある • 球面レンズ • 非球面レンズ ここでは球面レンズのみについて考える 以下では特定の波長ごとにレンズトレーシングすることを考える
18
レンズの表現 r: 曲率半径 (curvature radius) h: 開口半径 (aperture radius) d:
次の要素までの距離 (thickness) z y 像面 第 1 面 第 2 面 r1 c1 h1 d1 r2 c2 h2 d2 19
レンズ系の表現 レンズ系は次のような表形式データとして表現できる Index r h ior d 0 29.475 25.2
1.67 3.76 1 84.83 25.2 1 0.12 2 19.275 23 1.67 4.025 . . . . . . . . . . . . . . . Table 1: レンズ系の表現 r = 0 のときは絞りとする 20
レンズ系の表現 Figure 3: ダブルガウス型レンズ 21
レンズトレーシング レンズトレーシングは次のような処理を繰り返すことで行われる 1. レンズとの衝突位置を計算 2. 衝突位置が範囲外なら終了 3. フレネル反射率を計算し、ロシアンルーレットで反射か屈折か 決める 4.
反射なら反射方向を計算し, 次のレイを生成 5. 屈折なら屈折方向を計算し, 次のレイを生成 (全反射なら反射さ せる) 22
レンズとの衝突位置の計算 球面とレイの衝突計算を行えばよい. ∥⃗ o + t⃗ d −⃗ c∥2 =
r2 を t について解く. 得られた t で衝突位置 ⃗ p = ⃗ o + t⃗ d を計算する. p2 x + p2 y ≤ h2 であればレンズ面上に衝突点がある. 23
波長ごとの屈折率の計算 Sellmeier の式を用いて計算できる n2 = 1 + ∑ i Biλ2
λ2 − Ci ある光学ガラスに対応する係数 Bi, Ci の値 がhttps://refractiveindex.info/にたくさんある 24
フレネル反射率の計算 Schlick の近似式を計算 F(θ) = F0 + (1 − F0)(1
− cos θ)5 F0 = ( n1 − n2 n1 + n2 )2 25
屈折方向の計算 お馴染みだと思うので省略 実装する上では前面の ior を何らかの方法で覚えておく必要がある 26
フォーカシング
フォーカシング レンズ系を z = zf にピント合わせすることを考える. ピント合わせはレンズ系全体を δ だけ動かすことで行う. 27
フォーカシング 厚レンズ近似で考えると, レンズの式で z = zf , z′ = 0
として 1 zf − p + δ + 1 −p′ + δ = 1 l これを解いて δ = 1 2(p − zf + p′ − √ (p − zf − p′ )(p − zf − 4l − p′ ) 28
主要点の計算 p, f, p′ , f′ は微小な y で光軸に平行な光線を入射し、レンズトレーシ ングを行って得られる出射光線から計算できる
29
レイのサンプリング
レイのサンプリング レイトレでレンズ系を使うために、像面から物空間に出ていくレイ をサンプリングする方法について考える 30
射出瞳 像面から見た絞りの像を射出瞳という z y 像面 射出瞳 31
射出瞳の計算 最後尾にあるレンズ面全体をグリッド分割して、各グリッドに飛ば したレイがレンズ系を通過できるかどうか調べればよい. これは計算量が多いので事前計算しておく. z y 像面 32
射出瞳の計算 射出瞳の形は厳密に求める必要はなく, Bounding Box で覆えれば十 分 33
射出瞳の計算 射出瞳は像面上の点一つ一つについて形が変わる. しかしレンズ系が軸対称なので全部を計算する必要はない. 対角線上の射出瞳のみを計算しておけば, 他のものはそこから選んで くることができる. 34
レイのサンプリング 次のような手順でレイをサンプリングする 1. 像面上の位置に対応する射出瞳の Bounding Box を選ぶ 2. Bounding Box
から点をサンプリングする 3. サンプリングした点に向ってレイを飛ばす 35
p.d.f. の計算 面積 A のバウンディングボックスから一様にサンプリングすると, 面 積に関する p.d.f. は pA
= 1 A 像面からサンプリング点までの距離を r, 生成したレイと z 軸のなす 角を θ とすると, 立体角に関する p.d.f. は p σ = r2 cos θ pA 36
像面への寄与の計算 像面は放射束を測定しているので, サンプリングしたレイが持つ放射 輝度を L とすると, 加算する寄与 C は C
= L cos θ p σ = L cos θ r2 cos θ 1 A = LA cos2 θ r2 37
レンダリング結果
レンズ 焦点距離 22mm の広角レンズを使用 Figure 4: 22mm 広角レンズ 38
レンダリング結果 レンズフレア, 色収差あり Figure 5: レンダリング結果 39
色収差の比較 (a) 色収差なし (b) 色収差あり 40
レンズフレアの比較 (c) レンズフレアなし (d) レンズフレアあり 41
50mm ダブルガウス 焦点距離 50mm のダウブルガウス型レンズ Figure 6: 50mm ダブルガウス型レンズ 42
レンダリング結果 色収差あり, レンズフレアなし Figure 7: レンダリング結果 43
10mm 魚眼 焦点距離 10mm の魚眼レンズ Figure 8: 10mm 魚眼レンズ 44
レンダリング結果 色収差あり, レンズフレアなし Figure 9: レンダリング結果 45
Reference References LTD CYBERNET SYSTEMS CO. 光学総合サイト. url: https://www.cybernet.co.jp/optical/. Wenzel
Jakob Matt Pharr and Greg Humphreys. Physically Based Rendering: From Theory To Implementation. url: http://www.pbr-book.org/. 松居 吉哉. レンズ設計法. 共立出版, 2018. isbn: 978-4-320-03607-9. 46
The End Thank you for listening. 47