「法線方向」という言葉は数学・物理学・工学・コンピュータグラフィックスなど、様々な分野で頻繁に登場します。
しかし「法線方向って結局どっちを向いているの?」「法線ベクトルとどう違うの?」と迷う方も少なくありません。
本記事では、法線方向の意味・定義・ベクトルとしての表し方・平面や曲面への応用・各分野での活用法まで、わかりやすく丁寧に解説していきます。
数学の基礎から応用まで幅広くカバーしていますので、ぜひ最後までお読みください。
法線方向とは何か?まずその意味と本質的な定義を押さえよう
それではまず、法線方向とはどのようなものかという意味と定義から解説していきます。
法線方向(ほうせんほうこう、Normal Direction)とは、ある曲線・平面・曲面に対して、その面または曲線に垂直な方向のことです。
「法線(Normal)」という言葉は、ラテン語の「normalis(直角の・規範の)」に由来し、英語でも「Normal」は「垂直な」という意味を持ちます。
つまり法線方向とはシンプルに言えば「垂直方向」であり、対象となる面や曲線に対してまっすぐ外を向く方向のことです。
法線方向を直感的に理解するための最良のイメージは「壁に刺さった画鋲の向き」です。
壁(平面)に対して画鋲はまっすぐ垂直に突き刺さっています。この画鋲の向いている方向が、まさに壁(平面)に対する法線方向です。
曲面の場合も同様に、その点での接平面に対して垂直な方向が法線方向であり、曲面が曲がるにつれて法線方向も変化していきます。
法線方向を決める基本:接線・接平面との関係
法線方向は常に接線(二次元)または接平面(三次元)に対して垂直な方向として定義されます。
| 対象 | 「接する」もの | 法線方向 |
|---|---|---|
| 平面内の曲線 | 接線(一本の直線) | 接線に垂直な方向(平面内) |
| 三次元空間内の平面 | 平面そのもの | 平面に垂直な方向(唯一の方向±) |
| 三次元空間内の曲面 | 接平面 | 接平面に垂直な方向(±の2方向) |
| 三次元空間内の曲線 | 接線(一本) | 接線に垂直な平面(法平面)内の任意方向 |
平面に対する法線方向は(向きを除けば)一意に決まりますが、三次元空間内の曲線の場合は接線に垂直な平面(法平面)の中に無数の法線方向が存在します。
そのため曲線の場合は特に重要な方向として主法線方向(曲率が最大になる方向)と副法線方向(主法線と接線の両方に垂直な方向)が定義されています。
法線方向の向き:内向き法線と外向き法線
ある面の法線方向には基本的に2方向(表と裏)があります。
閉じた曲面(球や楕円体など)の場合、面の外側を向く法線を「外向き法線(Outward Normal)」、内側を向く法線を「内向き法線(Inward Normal)」と呼びます。
物理学・工学では通常、特に断りがない限り「外向き法線」が標準的に使われます。
流体力学でのガウスの発散定理・電磁気学でのガウスの法則・コンピュータグラフィックスでの光照明計算などにおいて、外向き法線の向きを正しく設定することが正確な結果を得るための前提条件です。
法線方向の数学的な定義(勾配との関係)
数学的には、曲面 F(x,y,z)=0 の点 P における法線方向は、スカラー場 F の勾配ベクトル(グラジエント)∇F の方向と一致します。
法線方向の数学的定義
∇F=(∂F/∂x, ∂F/∂y, ∂F/∂z)
この勾配ベクトルが点 P での法線方向を与えます。
例:球面 x²+y²+z²=R²(F=x²+y²+z²−R²)
∇F=(2x, 2y, 2z) → 点 (x₀,y₀,z₀) での法線方向は (x₀,y₀,z₀) 方向(中心から外向き)
「勾配ベクトルは等位面(等高線)に常に垂直」という多変数解析の基本定理が、法線方向=勾配方向という関係の数学的根拠です。
法線ベクトルの求め方と表現方法を確認しよう
続いては、法線方向を具体的なベクトルとして求める方法と、その表現の仕方について確認していきます。
法線方向を実際の計算に使うためには、単位法線ベクトルの形で表すことが重要です。
単位法線ベクトルの求め方
法線方向を表すベクトルとして、大きさが1の単位法線ベクトル(Unit Normal Vector)が最もよく使われます。
単位法線ベクトルの求め方
手順1:法線ベクトル n を求める(上述の方法で)
手順2:n の大きさ |n|=√(nₓ²+nᵧ²+n_z²) を計算する
手順3:n̂=n÷|n|(各成分を大きさで割る)
例:法線ベクトル n=(3, 4, 0) の単位法線ベクトル
|n|=√(9+16+0)=5
n̂=(3/5, 4/5, 0)(大きさが1であることを確認:√(9/25+16/25)=1 ✓)
単位法線ベクトルを使うことで、ある方向成分の大きさを「内積」で正確に計算できるという利点が生まれます。
物理では力・圧力・電場などのベクトル量の法線方向成分を求めるときに内積 F·n̂ を使うことが基本です。
二次元曲線の法線ベクトルの求め方(回転による方法)
二次元平面において、方向ベクトル (a, b) に垂直な方向(法線方向)は (−b, a) または (b, −a) です。
これはベクトルを90度回転させることに相当します。
曲線 y=f(x) の点 (a, f(a)) では接線方向ベクトルが (1, f'(a)) であるため、法線方向ベクトルは (−f'(a), 1) または (f'(a), −1) となります。
| 接線方向ベクトル | 法線方向ベクトル(90°回転) | 単位法線ベクトル |
|---|---|---|
| (1, m)(傾き m の接線) | (−m, 1) または (m, −1) | (−m, 1)÷√(1+m²) |
| (cos θ, sin θ)(角度 θ の方向) | (−sin θ, cos θ) | そのまま単位ベクトル |
角度表現では、接線方向の角度が θ のとき法線方向の角度は θ+90° であるという関係が成り立ちます。
三次元空間の平面の法線ベクトル(外積を使う方法)
三次元空間内の平面にある2本の非平行ベクトル v₁、v₂ が与えられたとき、その平面の法線方向は外積 v₁×v₂ で求まります。
外積は以下の行列式形式で計算します。
外積の計算(法線ベクトルを求める)
v₁=(a₁, b₁, c₁)、v₂=(a₂, b₂, c₂) のとき
n=v₁×v₂=(b₁c₂−c₁b₂, c₁a₂−a₁c₂, a₁b₂−b₁a₂)
例:v₁=(1,0,0)、v₂=(0,1,0)(xy平面内の2ベクトル)
n=(0×0−0×1, 0×0−1×0, 1×1−0×0)=(0,0,1)
xy平面の法線は z 方向(鉛直方向)であることが確認できます。
外積は3DCGや物理シミュレーションで頂点データから面の法線方向を自動計算する際に必ず使われる基本演算です。
法線方向が登場する各分野での意味と活用を見ていこう
続いては、法線方向が実際にどのような分野でどのような意味を持ち、どう活用されているかを見ていきます。
数学の概念でありながら、非常に幅広い実用場面で法線方向は重要な役割を果たしています。
物理学における法線方向:力・圧力・電場
物理学では、法線方向への力・圧力・フラックス(流束)の計算に法線方向が欠かせません。
流体力学において面積要素 dA を通る流体の体積流量は v·n̂ dA(v:流速ベクトル、n̂:法線方向の単位ベクトル)で表されます。
電磁気学のガウスの法則では、閉曲面を通る電束(電場の面積分)が閉曲面の各面素での外向き法線方向への電場成分の積分として計算されます。
ガウスの法則(積分形)
∮ E·dA=Q_enc÷ε₀
dA=n̂ dA(外向き法線ベクトル × 面積要素)
E·n̂ が「電場の法線方向成分」であり、これが実際に面を通り抜ける電気力線の密度に対応します。
固体力学では物体表面に働く応力(ストレス)のうち、法線方向成分が「垂直応力(Normal Stress)」と呼ばれ、材料の引張・圧縮強度評価の基本量となります。
コンピュータグラフィックスにおける法線方向:光照明計算
3DCGにおいて法線方向は光源計算(照明モデル)の核心的な要素です。
物体表面の明るさは、表面の法線方向と光源方向のなす角(入射角)に依存するというランバート(Lambert)の余弦則がその基本です。
ランバートの余弦則による拡散反射光の輝度
I=I₀ × max(0, n̂·L̂)
n̂:表面の法線方向の単位ベクトル、L̂:光源方向の単位ベクトル、I₀:光源強度
法線と光源方向が平行(正面照射)なら最大輝度、垂直(斜め照射)なら輝度ゼロとなります。
この計算があるため、3DCGソフトウェアは各ポリゴン・各頂点に法線方向データを必ず保持しており、法線マップ(Normal Map)と呼ばれるテクスチャで高解像度な法線方向情報を低ポリゴンモデルに付与する技術が広く使われています。
微分幾何学における法線方向:ガウス曲率と平均曲率
微分幾何学において曲面の曲率を記述する際、法線方向は中心的な役割を持ちます。
曲面上の点でのガウス曲率 K は主曲率 κ₁、κ₂ の積(K=κ₁κ₂)として、平均曲率 H は主曲率の平均(H=(κ₁+κ₂)÷2)として定義されますが、いずれも法線方向を基準とした曲率の測定値です。
K>0 なら楕円点(ドーム型)、K<0 なら双曲点(サドル型)、K=0 なら放物点(円柱型)と曲面形状が分類され、シャボン玉(極小曲面)は平均曲率 H=0 の面として知られています。
法線方向に関連する重要な概念の整理と発展的理解
続いては、法線方向と密接に関連する重要な数学的概念を整理し、発展的な理解につなげていきます。
法線方向と接線方向の直交性の証明
法線方向が接線方向と垂直であることを、数学的に厳密に確認してみましょう。
曲線 r(t)=(x(t), y(t)) が与えられたとき、曲線上の任意の点での接線方向ベクトルは r'(t)=(x'(t), y'(t)) です。
法線ベクトルを n=(−y'(t), x'(t)) とすると、内積は r'(t)·n=x'(t)×(−y'(t))+y'(t)×x'(t)=0 となり、確かに直交しています。
この内積がゼロになること(=直交すること)が法線方向の厳密な数学的定義であり、高次元でも同様です。
法線方向の連続性と向きの整合性
滑らかな曲面では法線方向は連続的に変化します。
しかし曲面が鋭い稜線(エッジ)を持つ場合、その稜線上では法線方向が不連続になります。
3DCGではこの不連続性の扱いによって「ハードエッジ(シャープな輪郭)」と「スムーズシェーディング(滑らかな見た目)」の切り替えが実現されます。
また閉じた曲面に対して法線方向の向き(内向き・外向き)を曲面全体で一貫して定めることができる場合、その曲面を「向き付け可能(Orientable)」と言います。
メビウスの帯は有名な「向き付け不可能」な曲面の例であり、法線の向きを曲面全体で一貫して定めることができません。
離散的な多角形メッシュにおける法線方向の計算
3DCGや有限要素法(FEM)では、連続的な曲面の代わりに三角形や四角形のポリゴンメッシュを使います。
各三角形の法線方向は3頂点から2辺のベクトルを求めその外積を計算することで得られますが、実際には滑らかな見た目のために「頂点法線(Vertex Normal)」という概念が使われます。
頂点法線とは、その頂点を共有する隣接する複数の三角形の法線ベクトルを(面積や角度で重み付けして)平均したものであり、隣接する面の法線を滑らかにつなぐことで見た目の滑らかさを実現します。
| 法線の種類 | 計算方法 | 使用場面 |
|---|---|---|
| フェース法線 | 三角形の2辺の外積 | ハードエッジ・ファセット表示 |
| 頂点法線 | 隣接フェース法線の加重平均 | スムーズシェーディング |
| 法線マップからの法線 | テクスチャのRGBから変換 | 高精細な法線表現・ゲーム・映画 |
まとめ
本記事では、法線方向の意味(垂直方向)と定義から始まり、接線・接平面との関係・内向き外向き法線・勾配との関係・単位法線ベクトルの求め方・外積による三次元計算・物理学・CG・微分幾何学での応用・離散メッシュでの頂点法線まで幅広く解説しました。
法線方向とは「対象に垂直な方向」という一言に尽きる概念ですが、その単純な定義から驚くほど多くの数学・物理・工学・コンピュータ技術が展開されています。
日常的に接する現象(光の反射・物体の変形・コンピュータの映像表現)の背景に法線方向の概念が隠れていることを意識すると、学びの深さがさらに広がるでしょう。