Files
2nd/10_Wiki/Topics/AI_and_ML/Lighting and Composition.md
Antigravity Agent f8b21af4be Wiki cleanup: error-doc removal, dedup merge, link normalization
10_Wiki/Topics 대규모 정리:
- 오류 캡처/미완성 stub 문서 227개 제거
- 교차폴더 중복 43클러스터 병합 (63파일 → redirect)
- 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건
- 카테고리 MOC 6개 신규 생성
- Graph 섹션 미해결 related-keyword 링크 10,058건 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 23:52:15 +09:00

5.9 KiB

id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id title category status canonical_id aliases duplicate_of source_trust_level confidence_score verification_status tags raw_sources last_reinforced github_commit tech_stack
wiki-2026-0508-lighting-and-composition Lighting and Composition 10_Wiki/Topics verified self
Lighting
Composition
Photography Lighting
Three-Point Lighting
none A 0.9 applied
photography
3d
ai-image
lighting
composition
art
2026-05-10 pending
language framework
prompt 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

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

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 (디자인 검증)

.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

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

🤖 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 추가