--- id: wiki-2026-0508-lighting-and-composition title: Lighting and Composition category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Lighting, Composition, Photography Lighting, Three-Point Lighting] duplicate_of: none source_trust_level: A confidence_score: 0.9 verification_status: applied tags: [photography, 3d, ai-image, lighting, composition, art] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: prompt framework: midjourney/stable-diffusion/blender --- # Lighting and Composition ## 매 한 줄 > **"매 좋은 이미지는 광원과 frame이 결정한다 — subject가 아니라"**. 사진/3D/AI image generation 모두에서 lighting (방향·강도·색)과 composition (frame 안의 시선 유도)이 quality를 좌우한다. AI 시대에는 prompt에 이 어휘를 넣어야 결과가 달라진다. ## 매 핵심 ### 매 Lighting 3원칙 (Three-point) - **Key light**: 주광원, 가장 강함, subject 한쪽에서 45도. - **Fill light**: 그림자 부드럽게 — key 반대편, 1/2~1/4 강도. - **Back/Rim light**: subject 뒤에서 — 윤곽선 분리, 깊이감. ### 매 Lighting 종류 - **Soft light**: 큰 광원, 부드러운 그림자 (구름 낀 날, softbox). - **Hard light**: 작은 광원, 선명한 그림자 (정오 햇빛, bare bulb). - **Golden hour**: 일출·일몰, 따뜻한 색온도 (3000K). - **Blue hour**: 일몰 후 30분, 차가운 톤. - **Rembrandt**: 코 옆 삼각형 highlight — 영화적. - **Split**: 얼굴 절반만 — 드라마틱. ### 매 Composition 법칙 - **Rule of thirds**: 화면 9분할, 교차점에 subject. - **Leading lines**: 길/난간/시선이 subject로 향함. - **Symmetry**: 좌우/상하 대칭 — 안정. - **Negative space**: 빈 공간 — minimalism, 호흡. - **Framing**: 창문/문/나뭇가지로 subject 둘러싸기. - **Golden ratio (1.618)**: 황금나선 spiral 따라 배치. - **Foreground / midground / background**: 깊이 3단. ### 매 응용 1. 인물 사진 → Rembrandt + rule of thirds. 2. 풍경 → leading lines + foreground anchor. 3. 제품 → soft key + reflector fill (그림자 제거). 4. 영화 → motivated lighting (창·램프 등 화면 내 광원). 5. AI image → prompt에 lighting term 명시. ## 💻 패턴 ### Midjourney prompt — cinematic portrait ``` portrait of a samurai, rembrandt lighting, side key light from left, shallow depth of field, 85mm lens, rule of thirds composition, shadow on right side of face, --ar 4:5 --style raw ``` ### Stable Diffusion (SDXL) — 풍경 ``` mountain valley at golden hour, leading lines from river to peak, foreground wildflowers, low angle, warm tones (3000K), volumetric god rays, rim light on ridge, ultra detailed Negative: flat lighting, noon, harsh shadow, centered, no depth ``` ### Blender Python — 3-point setup ```python import bpy def add_light(name, loc, energy, color=(1,1,1,1)): bpy.ops.object.light_add(type='AREA', location=loc) light = bpy.context.object light.name = name light.data.energy = energy light.data.color = color[:3] # Key (45도, 강함) add_light("Key", (4, -4, 5), 1000) # Fill (반대편, 1/3) add_light("Fill", (-3, -3, 3), 300) # Rim (뒤쪽, 차가운 톤) add_light("Rim", (0, 4, 4), 800, (0.7, 0.85, 1, 1)) ``` ### Three.js — 시네마틱 lighting ```js import * as THREE from 'three'; const scene = new THREE.Scene(); const key = new THREE.DirectionalLight(0xfff0d0, 2.5); key.position.set(5, 8, 5); key.castShadow = true; scene.add(key); const fill = new THREE.DirectionalLight(0xa0c0ff, 0.6); fill.position.set(-5, 3, 3); scene.add(fill); const rim = new THREE.SpotLight(0xffffff, 4, 30, Math.PI/8, 0.5); rim.position.set(0, 5, -8); scene.add(rim); scene.add(new THREE.AmbientLight(0x404040, 0.3)); ``` ### CSS — rule of thirds grid overlay (디자인 검증) ```css .thirds-overlay { position: relative; } .thirds-overlay::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right, transparent 33.33%, rgba(255,0,0,.4) 33.33% 33.5%, transparent 33.5% 66.66%, rgba(255,0,0,.4) 66.66% 66.83%, transparent 66.83%), linear-gradient(to bottom, transparent 33.33%, rgba(255,0,0,.4) 33.33% 33.5%, transparent 33.5% 66.66%, rgba(255,0,0,.4) 66.66% 66.83%, transparent 66.83%); pointer-events: none; } ``` ### Lightroom-style — exposure 검증 Python ```python import numpy as np from PIL import Image img = np.asarray(Image.open("photo.jpg").convert("L")) # zone system: 0-255 → 11 zones hist, _ = np.histogram(img, bins=11, range=(0, 256)) print("Shadow %:", hist[:3].sum() / img.size * 100) print("Mid %:", hist[3:8].sum() / img.size * 100) print("Highlight %:", hist[8:].sum() / img.size * 100) # 일반: 20/60/20 근처가 균형 ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | 인물, 부드럽게 | soft key + fill, golden hour | | 인물, 드라마 | hard key, Rembrandt/split, no fill | | 제품 | softbox key + reflector fill + rim | | 풍경 | golden/blue hour + leading lines | | AI prompt | lighting term + 광원 방향 + 색온도 | **기본값**: 3-point lighting + rule of thirds + foreground anchor. ## 🔗 Graph - 부모: [[Cinematography]] - Adjacent: [[Post-Processing]] ## 🤖 LLM 활용 **언제**: prompt에 lighting/composition vocabulary 추가, 이미지 분석해 lighting 약점 지적, 영화 reference 매칭. **언제 X**: 실제 촬영 장비 selection — 물리적 spec은 manual 확인. ## ❌ 안티패턴 - **Flat lighting**: key=fill — depth 없음. - **Centered subject 항상**: 정적, 시선 고정 안 됨. - **너무 많은 광원**: 그림자 충돌, 비현실적. - **Negative space 0**: 답답함. - **Lighting term 없는 AI prompt**: 평범한 결과. ## 🧪 검증 / 중복 - Verified (cinematography textbooks, Adobe Lightroom 2026). - 신뢰도 A. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — Blender/Three.js 코드, AI prompt 추가 |