ランバート反射のソースを表示
←
ランバート反射
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
'''ランバート反射'''(ランバートはんしゃ、{{lang-en-short|Lambertian reflectance}})とは、[[拡散反射]]表面を理想的に扱った反射モデルである。ランバート反射表面の輝度は、どの角度から見ても一定である。 技術的には、表面の[[輝度 (光学)|輝度]]が[[等方的]]であり、[[光度 (光学)|光度]]が[[ランベルトの余弦則]]に従う。 '''ランバート反射'''は1760年に自著<ref>Lambert, J.H. (1760): [http://imgbase-scd-ulp.u-strasbg.fr/displayimage.php?album=53&pos=1 ''Photometria sive de mensura et gradibus luminis, colorum et umbrae''] (Augsburg ("Augusta Vindelicorum"), Germany: Eberhardt Klett).{{リンク切れ|date=2024-06}}</ref>で完全な拡散反射の概念を導入した[[ヨハン・ハインリヒ・ランベルト]]の名前から名づけられた。 ==例== たとえば、荒削りのごつごつした木の表面はランバート反射で近似できるが、つやあり[[ポリウレタン]]塗料で塗られた木材はランバート反射とはいえない(見る角度によって[[鏡面ハイライト]]が見える)。ごつごつした面がすべて完全なランバート反射をするわけではないが、面の特性が分からないときにはしばしばよい近似になる。 [[:en:Spectralon|Spectralon]]は、ほぼ完全なLambert反射を実現できるように設計された材料である。 ==コンピュータグラフィックスにおける応用== [[コンピュータグラフィックス]]では、ランバート反射は[[拡散反射]]のモデルとしてよく使われる。この反射は、面の正規化[[法線ベクトル]]<math>\boldsymbol{N}</math>と面から光源を指す正規化ベクトル<math>\boldsymbol{L}</math>の[[内積]]([[ドット積]])を使って計算される。そして、この値に面の色と面を照らす光の輝度を乗算する。 <!-- ベクトルは太字立体ではなく太字斜体にする。そのため mathbf ではなく boldsymbol を使う。 行列と区別しやすいよう、ベクトルは基本的に大文字ではなく小文字にすべきだが、大文字でも間違いではない。 数式では乗算記号に"*"を使うべきではない。上付きの"*"は共役行列または随伴行列を表すので紛らわしい。 "・"はドット積、"×"はクロス積で使われるため、これらもうかつに使うべきではない。 https://ja.wikisource.org/wiki/Wikisource:%E6%95%B0%E5%BC%8F%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9 http://www.wave.ie.niigata-u.ac.jp/yamaguchi/education/vector/vector_analysis_basic.pdf --> :<math>I_{D}=(\boldsymbol{L}\cdot\boldsymbol{N})C I_{L}</math> ここで、<math>I_{D}</math>は拡散反射光の輝度(表面の明るさ)で、<math>C</math>は面の色(拡散反射率)、<math>I_{L}</math>は入射光の輝度である。正規化ベクトルの大きさは1であることから、内積は以下となる。 :<math>\boldsymbol{L}\cdot\boldsymbol{N}=|\boldsymbol{L}||\boldsymbol{N}|\cos{\alpha}=\cos{\alpha}</math> ここで、<math>\alpha</math>は2つのベクトル間の角度である。光線ベクトルと面上の点における法線ベクトルとの方向がまったく同じであれば、光の輝度は最大となる。このとき<math>\cos{(0)}=1</math>、つまり面は光の方向に垂直である。そして法線ベクトルが光線ベクトルに対して垂直であれば、光の輝度は最小となる。このとき<math>\cos{(\pi/2)}=0</math>、つまり面と光の方向が平行である。 光沢のある表面では、ランバート反射とともに[[鏡面反射]]も見られる。この場合には、表面の輝度はちょうど鏡面反射光が来る角度に観察者がいるときに最大となる。この現象は、コンピュータグラフィックスでは[[Phongの反射モデル]]などといった[[鏡面ハイライト]]を考慮したモデルを用いてシミュレーションできる。補間技法である[[フォンシェーディング|Phongシェーディング]]と併せて、高速かつ簡易的な局所照明の実装によく使われている。 === ハーフ・ランバート照明 === ハーフ・ランバート照明({{lang-en-short|Half Lambert lighting}})はランバート反射をなだらかに改変したライティング方式である。以下の式で表される。 :<math>I_{D}=(0.5\cos{\alpha}+0.5)^2 C I_{L}</math> ランバート反射モデルでは照明の背面(法線と光源が90°以上の角度を持つ領域)は黒1色にライティングされる。シーンが少数の直接光で構成されていたり解像度の低い[[大域照明]]で照らされていたりする場合、このライティング特性から背面部の形状が識別できなくなったり平面的に見えすぎてしまったりする<ref>{{Cite web|quote=Half Lambert lighting is a technique designed to prevent the rear of an object losing its shape and looking too flat.|url=https://developer.valvesoftware.com/wiki/Half_Lambert|title=Half Lambert - Valve Developer Community|date=2024-01-07|accessdate=2024-06-20}}</ref>。[[Valve Corporation|Valve Software]]はゲーム「[[ハーフライフ (ゲーム)|ハーフライフ]]」のために、この欠点を改良したハーフ・ランバート照明を開発した。ランバート反射で0にクランプされていた領域が正の値を持つように<math>\cos\alpha</math>を変更し、正面部分の形状をある程度保つために二乗する。これにより背面部にもライティングとその濃淡が与えられ、(物理学的な正当性は無いが)視覚上現実的で自然に見えるライティングが可能になる。分類としてはリアルタイム処理系向けの疑似[[ラジオシティ]]手法にあたる<ref>[https://news.mynavi.jp/article/graphics-57/ 3Dグラフィックス・マニアックス(57) 表面下散乱によるスキンシェーダ(1)~ハーフライフ2で採用の疑似ラジオシティライティング(1) | マイナビニュース]</ref><ref>[https://web.archive.org/web/20150402095939/http://news.mynavi.jp/articles/2007/01/01/hl22/ 進化するHalf-Life 2エンジン(後編) (1) 動的キャラクターのライティング | マイナビニュース], [[Internet Archive]]</ref>。 ==その他の波== 通常、ランバート反射は、物体による光の反射に対して用いられるが、光以外のどのような波についても用いることができる。 例えば、[[超音波検査]]では、「粗い」組織はランバート反射を示すと言われる。 == 脚注 == {{脚注ヘルプ}} <references /> ==関連項目== * [[ランベルトの余弦則]] * [[オーレン・ネイヤー反射]] * [[鏡面反射]] * [[拡散反射]] {{DEFAULTSORT:らんはあとはんしや}} [[Category:光学]] [[Category:コンピュータグラフィックス]] [[Category:ヨハン・ハインリヒ・ランベルト]] [[Category:物理学のエポニム]]
このページで使用されているテンプレート:
テンプレート:Cite web
(
ソースを閲覧
)
テンプレート:Lang-en-short
(
ソースを閲覧
)
テンプレート:リンク切れ
(
ソースを閲覧
)
テンプレート:脚注ヘルプ
(
ソースを閲覧
)
ランバート反射
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報