실시간 현황
범례 (Legend)
시뮬레이션 상태
알고리즘 상세 (Algorithm Details)
본 시뮬레이션은 크루즈선 화재 발생 시 승객 대피 과정을 모사합니다. 9가지 수리 모델과 물리 기반 화재/연기 확산, 군중 역학이 통합 적용되어 있습니다.
🧭 A* 동적 위험 회피 경로탐색
각 승객 에이전트는 A* 알고리즘 변형을 사용하여 가장 가까운 안전한 출구까지의 최적 경로를 탐색합니다. 화재 및 연기 구역에 높은 비용(cost penalty)을 부여하여 위험 지역을 동적으로 회피합니다.
f(n) = g(n) + h(n) + R(n)R(n) = w_fire · D_fire(n) + w_smoke · D_smoke(n)
여기서 R(n)은 위험 가중치 함수이며, 화재 거리와 연기 밀도에 따라 노드별 추가 비용을 산정합니다. 경로는 화재 확산에 따라 실시간으로 재계산됩니다. Binary MinHeap 우선순위 큐를 사용하여 O(n log n) → O(n log n) 최적 시간복잡도로 탐색합니다.
🧑🤝🧑 Social Force Model (Eq. 1)
Helbing & Molnár 사회적 힘 모델을 적용하여 승객 간 자연스러운 충돌 회피와 군중 역학을 모사합니다. 각 에이전트에 작용하는 힘은 목표 방향력, 사회적 반발력, 벽면 반발력으로 구성됩니다.
F_i = F_desire + Σ F_social + Σ F_wall + F_randomF_social = A · exp(-d_ij / B), A=2.0, B=15px
가까운 승객 간 지수 감소 반발력이 작용하여 병목 구간에서의 자연스러운 분산 효과를 구현합니다.
🔥 화재 확산 + 이류-확산 모델 (Eq. 5-7)
화재는 발화 지점으로부터 비선형 확산됩니다. 연기는 Navier-Stokes 기반 이류-확산(Advection-Diffusion) 방정식으로 바람 방향에 따라 비대칭 확산됩니다.
r_fire(t) = r_0 + α · t^1.3∂C/∂t + u·∇C = D·∇²C + S
연기 중심 이동: x_s += u_wind · cos(θ) · dt
해상 바람의 풍향/풍속이 연기 확산 방향과 형태(타원 비율)에 영향을 줍니다. 풍하 방향으로 연기가 더 넓게 확산됩니다.
🕶️ Beer-Lambert 가시성 모델 (Eq. 10)
연기 농도에 따른 가시 거리를 Beer-Lambert 법칙으로 산출합니다. 가시성 저하는 승객 이동 속도에 직접 영향을 줍니다.
V(C) = K / C, K = 8 (발광 표지판 기준)v_smoke = v_base · max(0.1, V/30)
맑은 공기(30m 가시거리)에서 완전 속도, 농연(1m 이하)에서 최대 90% 속도 감소. 통계 패널에서 실시간 평균 가시성을 모니터링할 수 있습니다.
🗺️ 다중 위험 동적 리스크 맵 (Eq. 11)
화재, 연기, 구조 손상, 군중 밀도를 가중 합산한 종합 위험도 지도를 실시간으로 생성합니다. "위험지도" 버튼으로 히트맵 오버레이를 활성화할 수 있습니다.
R(x,y,t) = w_F·F + w_S·S + w_D·D + w_C·Cw_F=0.35, w_S=0.30, w_D=0.20, w_C=0.15
녹색(안전) → 황색(주의) → 적색(위험) 컬러맵으로 시각화되며, A* 경로탐색의 비용 함수에도 반영됩니다.
⚕️ 건강 상태 인지 대피 (Eq. 20-22)
승객을 6가지 유형(건강한 성인, 고령자, 어린이, 휠체어, 임산부, 부상자)으로 분류하고 개인별 이동능력계수(μ_i)에 따라 속도를 조절합니다.
μ_i ∼ U[μ_min, μ_max] (유형별 범위)v_i = μ_i · v_base · f(age, condition)
Priority = (1 - μ_i) · w_health + d_fire / d_max · w_prox
이동능력이 낮은 승객에게 높은 대피 우선순위가 부여되며, 시각적으로 각 유형별 고유 색상으로 구분됩니다.
👥 Greenshields 군중 밀집도 모델 (Eq. 4)
교통류 이론의 Greenshields 기본 다이어그램을 군중 보행에 적용합니다. 좁은 복도나 출구 근처에서 병목이 발생하면 속도가 비선형적으로 감소합니다.
v(ρ) = v_max · (1 - ρ/ρ_max)^γγ = 1.4 (밀집도 감도 계수)
개인별 건강 상태에 따른 v_max와 결합하여 실질 이동 속도가 결정됩니다. 출구 근처 집중 시 자동 분산 로직이 적용됩니다.
🚪 객실 출입구 및 이동 경로
각 객실에는 복도 방향으로 1개의 출입구(노란색 표시)가 있습니다. 승객은 반드시 출입구를 통해 복도로 나온 후 출구 또는 계단을 향해 이동합니다. 계단에 도달한 승객은 다른 층으로 이동하여 안전하게 대피한 것으로 간주됩니다. 레스토랑은 4방향(상/하/좌/우) 출입구가 있어 다양한 경로로 대피 가능합니다.
이동 경로: 객실 내부 → 출입구(doorway) → 복도(corridor) → 계단(stairway)/출구(exit) → 대피 완료🧯 소화기 사용 시스템 (Fire Extinguisher)
복도 벽면, 계단 근처, 주요 교차점에 소화기(빨간 십자 표시)가 배치되어 있습니다. 화재로 모든 대피 경로가 차단된 승객은 다음 절차를 실행합니다:
- 가장 가까운 소화기 위치로 이동 (주황색 표시)
- 소화기를 들고 화재 근처로 접근
- 3초간 진압 활동 수행 (깜박임 표시)
- 화재 반경 60% 감소 → 통로 확보 후 대피 재개
소화기 1개당 1회 사용 (사용 후 회색 표시)