---
id: wiki-2026-0508-biomedical-engineering
title: Biomedical Engineering
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [BME, biomedical-eng]
duplicate_of: none
source_trust_level: A
confidence_score: 0.85
verification_status: applied
tags: [biomedical, engineering, healthcare, simulation, game-design]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: simulation
  framework: medical-game-system
---

# Biomedical Engineering

## 매 한 줄
> **"매 engineering principles 의 biology / medicine 의 적용"**. 매 prosthetics, imaging, drug-delivery, biomechanics, neural interfaces 의 매 cross-discipline. 매 game-design context 에서는 매 simulation realism + 매 character ability tree 의 source of truth.

## 매 핵심

### 매 분야
- **Biomechanics**: 매 forces on tissue, gait, joint loading.
- **Bioinstrumentation**: 매 ECG, EEG, EMG sensors.
- **Biomaterials**: 매 implants, scaffolds.
- **Tissue eng**: 매 organ regen, 3D bioprinting.
- **Imaging**: 매 MRI, CT, ultrasound, PET.
- **Neural eng**: 매 BCI, deep-brain stimulation.

### 매 game-design 의 응용
- **Injury simulation**: 매 realistic damage model — 매 organ-level wound.
- **Prosthetic abilities**: 매 cybernetic upgrade tree.
- **Diagnostic minigame**: 매 imaging puzzle, sensor reading.
- **Medic class**: 매 skill rotation 의 biological grounding.

### 매 핵심 개념
1. 매 stress / strain (mechanical).
2. 매 signal-to-noise (instrumentation).
3. 매 biocompatibility (materials).
4. 매 perfusion / hypoxia (tissue).

## 💻 패턴

### Hit-zone damage model (biomechanics-grounded)
```typescript
type HitZone = "head" | "torso" | "limb" | "joint";

const ZONE_PROFILE = {
  head:  { mult: 3.0, bleed: 0.8, fracture: 0.6 },
  torso: { mult: 1.5, bleed: 0.4, fracture: 0.2 },
  limb:  { mult: 0.7, bleed: 0.3, fracture: 0.5 },
  joint: { mult: 1.0, bleed: 0.2, fracture: 0.7 },
};

function applyDamage(actor: Actor, zone: HitZone, base: number) {
  const p = ZONE_PROFILE[zone];
  actor.hp -= base * p.mult;
  if (Math.random() < p.bleed) actor.statuses.add("bleeding");
  if (Math.random() < p.fracture * 0.3) actor.statuses.add("fractured");
}
```

### EEG-style brain-state minigame
```typescript
function generateEEGSignal(state: "calm" | "focused" | "stressed", t: number) {
  // alpha (8-12Hz), beta (12-30Hz), gamma (30-100Hz)
  const bands = {
    calm:     { alpha: 0.7, beta: 0.2, gamma: 0.1 },
    focused:  { alpha: 0.3, beta: 0.5, gamma: 0.2 },
    stressed: { alpha: 0.1, beta: 0.4, gamma: 0.5 },
  }[state];
  return bands.alpha * Math.sin(2*Math.PI*10*t)
       + bands.beta  * Math.sin(2*Math.PI*20*t)
       + bands.gamma * Math.sin(2*Math.PI*50*t)
       + (Math.random() - 0.5) * 0.1;
}
```

### Prosthetic ability tree
```typescript
interface Prosthetic {
  slot: "arm" | "leg" | "eye" | "spine";
  tiers: AbilityTier[];
  power_cost: number;
  biocompatibility: number; // 0-1, body-rejection risk
}

function installProsthetic(player: Player, p: Prosthetic) {
  if (player.power_capacity < p.power_cost) throw new Error("insufficient power");
  if (Math.random() > p.biocompatibility) {
    player.statuses.add("rejection");  // requires immunosuppressant
  }
  player.prosthetics[p.slot] = p;
  player.power_capacity -= p.power_cost;
}
```

### Imaging-puzzle (segment tumor)
```typescript
function segmentLesion(imageGrid: number[][], threshold: number) {
  const visited = new Set<string>();
  const lesions: Cluster[] = [];
  for (let y = 0; y < imageGrid.length; y++) {
    for (let x = 0; x < imageGrid[0].length; x++) {
      if (imageGrid[y][x] > threshold && !visited.has(`${x},${y}`)) {
        lesions.push(floodFill(imageGrid, x, y, threshold, visited));
      }
    }
  }
  return lesions.filter(c => c.size > 5); // ignore noise
}
```

### Drug-delivery cooldown (pharmacokinetics)
```typescript
function plasmaConcentration(dose: number, t_hours: number, k_elim: number) {
  // first-order elimination
  return dose * Math.exp(-k_elim * t_hours);
}

function effectiveAtT(player: Player, drug: Drug, t: number) {
  const c = plasmaConcentration(drug.dose, t - drug.taken_at, drug.k_elim);
  return c > drug.min_effective_conc;
}
```

## 매 결정 기준
| 상황 | Approach |
|---|---|
| 매 realistic medic gameplay | hit-zone + bleed + fracture model |
| 매 cyberpunk RPG | prosthetic + biocompatibility tree |
| 매 puzzle-medical | imaging + diagnosis minigame |
| 매 arcade | abstract HP — biomedical 의 X |

**기본값**: 매 zone-based damage + 매 limited cybernetic slot.

## 🔗 Graph
- 부모: [[Engineering]] · [[Medicine]]
- 변형: [[Biomechanics-of-Injury]] · [[Gait-Analysis-Laboratory]]
- 응용: [[Damage-Resistance-Platforms]] · [[Combat_Balance_Buff]]
- Adjacent: [[Elite-Athletic-Development]]

## 🤖 LLM 활용
**언제**: 매 simulation grounding, medic-class design, cyberpunk lore.
**언제 X**: 매 abstract arcade — 매 over-engineering.

## ❌ 안티패턴
- **Realism over fun**: 매 100% sim — 매 onboarding 실패.
- **Magical healing**: 매 lore inconsistency — 매 sim claim 시.
- **No body part 의 의미**: 매 zone 의 무의미한 implementation.

## 🧪 검증 / 중복
- Verified (BME textbooks: Saltzman, Enderle; clinical biomechanics).
- 신뢰도 A.

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — biomedical engineering principles + game-design application. |
