DirectionalLight[col,pt]
3D曲面の彩色に使用する,色が col の点 pt から境界ボックスの中心までの平行光源を指定する三次元グラフィックス指示子である.
DirectionalLight[col,{pt1,pt2}]
pt1から pt2までのベクトルに沿って平行光源を使う.
DirectionalLight
DirectionalLight[col,pt]
3D曲面の彩色に使用する,色が col の点 pt から境界ボックスの中心までの平行光源を指定する三次元グラフィックス指示子である.
DirectionalLight[col,{pt1,pt2}]
pt1から pt2までのベクトルに沿って平行光源を使う.
詳細
- DirectionalLightはフリー平行光源としても知られている.
- DirectionalLightは,通常,特定の方向から均等に光線を照射することで,オブジェクトにより明るいハイライトを当てたりより暗い陰影を付けたりするのに使われる.
- DirectionalLight[col,{pt1,pt2}]は,{pt1,pt2}で定義される方向ベクトルで色 col の平行のシミュレーション光として与えられる.
- 光源 col の色は,RGBColor,Hue,他の任意の色指定で定義できる.
- DirectionalLightの設定は3D曲面の拡散反射と鏡面反射に関連する色にしか影響しない.
- {dcol,Specularity[scol]}の形式の色指定 col がある光源は,事実上,拡散反射の目的では色 dcol を,鏡面反射の目的では色 scol を持つとみなされる.
- 拡散反射はランベルト(Lambert)の法則に従い,光が事実上曲面から全方向に均等に散乱しているものとする.
- 鏡面反射は,Specularityの関数ページで指定されているように,光が鏡面反射方向の近くだけで効果的に散乱しているとする.
- 光源の位置と照準点 ptiは以下のように指定できる.
-
{x,y,z} グラフィックスとともに動く明示的な座標 Scaled[{x,y,z}] グラフィックスとともに動くスケールされた座標 ImageScaled[{x,y,z}] 最終的な描画画像と相対的に固定された座標 - ImageScaled[{x,y,z}]の
と
は最終的な表示画像の境界ボックスの幅と高さの0から1までである.
座標はディスプレイの平面と直交し,3D領域の後ろでは0で前では1になる. - ScaledおよびImageScaledで指定された座標は,0から1までではないことがしばしばある.
例題
すべて開く すべて閉じる例 (3)
Graphics3D[{DirectionalLight[Orange, {1, 1, 1}], Sphere[], Cuboid[{1, 2, -1}, {2, 3, 1}], Cylinder[{{3, -1, 0}, {3, -1, 1}}]}, Lighting -> None]Plot3D[Sin[x + y ^ 2], {x, -3, 3}, {y, -2, 2}, PlotStyle -> DirectionalLight[RGBColor[1, 0.7, 0.1], {{5, 5, 4}, {5, 5, 0}}]]ListPlot3D[RandomReal[1, {9, 9}], InterpolationOrder -> 2, Mesh -> None, PlotStyle -> {Specularity[50], DirectionalLight[RGBColor[1, 0.7, 0.1], {{5, 5, 4}, {5, 5, 0}}]}]スコープ (5)
照明指定 (4)
平行光源は色と2つの点によって定義されたベクトルによって指定される:
Graphics3D[{DirectionalLight[Green, {{0, 0, 1}, {0, 0, 0}}], White, Sphere[]}, Lighting -> None]Table[Graphics3D[{DirectionalLight[c, {{0, 0, 1}, {0, 0, 0}}], White, Sphere[]}, Lighting -> None], {c, {Red, Yellow, Blue}}]Table[Graphics3D[{DirectionalLight[Orange, {p, {0, 0, 0}}], Sphere[]}, Lighting -> None], {p, {{1, 0, 0}, {0, -1, 0}, {1, -1, 0}, {0, 0, 1}}}]Table[Graphics3D[{DirectionalLight[Orange, {p, {0, 0, 0}}], Specularity[White, 50], Sphere[]}, Lighting -> None], {p, {{1, 0, 0}, {0, -1, 0}, {1, -1, 0}, {0, 0, 1}}}]照明位置 (1)
ImageScaledを使って視点座標系で照明の位置を指定する:
Graphics3D[{DirectionalLight[Red, ImageScaled[{2, 2, 2}]], DirectionalLight[Green, ImageScaled[{-2, 2, 2}]], DirectionalLight[Blue, ImageScaled[{-2, -2, 2}]], Sphere[]}, Lighting -> None]Table[Graphics3D[{DirectionalLight[Red, ImageScaled[{2, 2, 2}]], DirectionalLight[Green, ImageScaled[{-2, 2, 2}]], DirectionalLight[Blue, ImageScaled[{-2, -2, 2}]], Sphere[]}, Lighting -> None, ViewPoint -> v], {v, {{0, -2, 2}, {2, 0, 2}, {2, -2, 0}}}]一般化と拡張 (8)
Graphics3D[Sphere[], Lighting -> Automatic]Graphics3D[{Sphere[], AmbientLight[RGBColor[{0.4, 0.2, 0.2}]], DirectionalLight[RGBColor[{0., 0.18, 0.5}], ImageScaled[{2, 0, 2}]], DirectionalLight[RGBColor[{0.18, 0.5, 0.18}], ImageScaled[{2, 2, 3}]], DirectionalLight[RGBColor[{0.5, 0.18, 0.}], ImageScaled[{0, 2, 2}]], DirectionalLight[RGBColor[{0., 0., 0.18}], ImageScaled[{0, 0, 2}]]}]Graphics3D[{Sphere[]}, Lighting -> "Accent"]Graphics3D[{DirectionalLight[RGBColor[{1, 1, 1}], ImageScaled[{1, 1, 4}]], Sphere[]}, Lighting -> None]Graphics3D[{Sphere[]}, Lighting -> "Neutral"]Graphics3D[{AmbientLight[RGBColor[{.35, .35, .35}]], DirectionalLight[RGBColor[{.37, .37, .37}], ImageScaled[{2, 0, 2}]], DirectionalLight[RGBColor[{.37, .37, .37}], ImageScaled[{2, 2, 2}]], DirectionalLight[RGBColor[{.37, .37, .37}], ImageScaled[{0, 2, 2}]], Sphere[]}, Lighting -> None]Graphics3D[{Sphere[]}, Lighting -> "ThreePoint"]Graphics3D[{DirectionalLight[GrayLevel[.85], ImageScaled[{1, 1, 2}]], DirectionalLight[GrayLevel[.4], ImageScaled[{-1, -2, 2}]], DirectionalLight[GrayLevel[.1], ImageScaled[{.5, 2, -2}]], Sphere[]}, Lighting -> None]o1 = Style[{PointLight[Red, {0, 0, 2}], Sphere[]}];
o2 = Style[{SpotLight[Yellow, {{3, 0, 2}, {3, 0, 0}}, Pi / 8], Sphere[{3, 0, 0}]}];
o3 = Style[{DirectionalLight[Blue, {{0, 3, 2}, {0, 3, 0}}], Sphere[{0, 3, 0}]}];
o4 = Style[{PointLight[White, {3, 3, 2}], Sphere[{3, 3, 0}]}];Graphics3D[{o1, o2, o3, o4}, Lighting -> None]Graphics3D[{{PointLight[Red, {0, 0, 2}], Sphere[]}, {SpotLight[Yellow, {{3, 0, 2}, {3, 0, 0}}, Pi / 8], Sphere[{3, 0, 0}]}, {DirectionalLight[Blue, {{0, 3, 2}, {0, 3, 0}}], Sphere[{0, 3, 0}]}, {PointLight[White, {3, 3, 2}], Sphere[{3, 3, 0}]}}, Lighting -> None]ターゲットの方向は,指定されていなければオブジェクトの中心に向かって与えられる:
Graphics3D[{DirectionalLight[LightRed, {0, 0, 4}], Specularity[White, 50], Sphere[], Sphere[{3, 0, 0}], Sphere[{0, 3, 0}], Sphere[{3, 3, 0}]}, Lighting -> None]オブジェクトと照明の両方に,拡散反射光と鏡面反射光の色を別々に指定する:
Graphics3D[{DirectionalLight[{Red, Specularity[Yellow]}, {0, 0, 3}], Specularity[White, 20], Sphere[]}, Lighting -> None]アプリケーション (3)
obj = Graphics3D[{Specularity[White, 50], Sphere[], Sphere[{4, 0, 0}], Sphere[{0, 4, 0}], Sphere[{4, 4, 0}]}, Lighting -> None];
plane = ParametricPlot3D[{u, v, -1}, {u, -2, 6}, {v, -2, 6}, PlotPoints -> 40, MaxRecursion -> 0, Mesh -> None, PlotRange -> 1, Axes -> False];light = Graphics3D[{DirectionalLight[Yellow, {2, 2, 10}], Glow[Yellow], EdgeForm[Gray], Opacity[.2], Cuboid[{-2, -2, -1}, {6, 6, 3}]}];Show[light, obj, plane, Boxed -> False]lights = {PointSize[Large], Yellow, Point[Tuples[{-1, 1}, 3]]};Graphics3D[{DirectionalLight[Hue[RandomReal[]], #]& /@ Tuples[{-1, 1}, 3], lights, Sphere[]}]col = {Red, Green, Blue};
objs = Graphics3D[{Specularity[White, 2], EdgeForm[], Cylinder[{{2, 2, 0}, {2, 2, 4}}], Cylinder[{{6, 2, 0}, {6, 2, 4}}], Cylinder[{{10, 2, 0}, {10, 2, 4}}]}];
walls = ParametricPlot3D[{{u, v - 2, 0}, {u, 4, 2v}}, {u, -2, 14}, {v, 0, 6}, PlotPoints -> 15, MaxRecursion -> 0, PlotStyle -> Specularity[White, 2], Mesh -> None, Axes -> False];
srcs[pos_] := Graphics3D[MapThread[{DirectionalLight[#1, {{0, -1, 0}, {0, 0, 0}}], Sphere[{#2, 0, 8}, .3]}&, {col, pos}]];
lights[pos_] := Join[{AmbientLight[GrayLevel[.1]]}, Sequence@@MapThread[{SpotLight[#1, {{#2, 0, 8}, {#2, 3, 0}}, {Pi / 2, 20}], {PointLight[#1, {#2, 0, 8}, {0, 8, 0}]}}&, {col, pos}]];Animate[With[{rx = -6Cos[t] + 6, gx = 6Sin[t] + 6, bx = 6Cos[t] + 6}, Show[objs, walls, srcs[{rx, gx, bx}], Lighting -> lights[{rx, gx, bx}], Background -> Black, Boxed -> False, ImageSize -> 300]], {t, 0, 2Pi}, SaveDefinitions -> True, AnimationRunning -> False]特性と関係 (1)
関連するガイド
テキスト
Wolfram Research (2021), DirectionalLight, Wolfram言語関数, https://reference.wolfram.com/language/ref/DirectionalLight.html.
CMS
Wolfram Language. 2021. "DirectionalLight." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/DirectionalLight.html.
APA
Wolfram Language. (2021). DirectionalLight. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DirectionalLight.html
BibTeX
@misc{reference.wolfram_2026_directionallight, author="Wolfram Research", title="{DirectionalLight}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/DirectionalLight.html}", note=[Accessed: 12-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_directionallight, organization={Wolfram Research}, title={DirectionalLight}, year={2021}, url={https://reference.wolfram.com/language/ref/DirectionalLight.html}, note=[Accessed: 12-August-2026]}