Files
2nd/10_Wiki/Topic_Programming/AI_and_ML/Lighting and Composition.md
T
Antigravity Agent 9148c358d0 docs(10_Wiki): 위키 전체 재구성 — Topic_* 폴더를 4개 카테고리로 통합 + 대규모 중복 제거
Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를
Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류.

- 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로
  자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거,
  동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거.
- 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming,
  Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business,
  Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로,
  나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는
  title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백).
  원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지.
- 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서.
- 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는
  지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지.
- Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경.
- 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
2026-07-05 00:33:48 +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 추가