feat: add axis-aligned 3d camera views

This commit is contained in:
2026-08-30 11:40:21 +09:00
parent 51c7bbd859
commit 2a2e192196
12 changed files with 619 additions and 61 deletions
+28 -1
View File
@@ -58,6 +58,19 @@
<button class="tool-button is-active" id="array-view-2d-button" type="button" aria-pressed="true">2D 편집</button>
<button class="tool-button" id="array-view-3d-button" type="button" aria-pressed="false">3D 검사</button>
</div>
<label class="axis-view-control" id="array-axis-view-control" hidden>
<span>3D 시점</span>
<select id="array-axis-view" aria-label="배열 3D 시점, 선택한 축에서 원점 보기">
<option value="iso">등각</option>
<option value="+x">+X에서 보기</option>
<option value="-x">−X에서 보기</option>
<option value="+y">+Y에서 보기</option>
<option value="-y">−Y에서 보기</option>
<option value="+z">+Z FRONT에서 보기</option>
<option value="-z">−Z BACK에서 보기</option>
<option value="custom" disabled>자유 회전</option>
</select>
</label>
<div class="toolbar-group" aria-label="실행 취소와 다시 실행">
<button class="tool-button" id="undo-button" type="button" aria-keyshortcuts="Control+Z" disabled>실행 취소</button>
<button class="tool-button" id="redo-button" type="button" aria-keyshortcuts="Control+Shift+Z" disabled>다시 실행</button>
@@ -190,6 +203,20 @@
<option value="2.5">2.5° · 144×73</option>
</select>
</label>
<label class="field" data-beam-mode="surface" hidden>
<span>3D 표시 시점</span>
<select id="beam-pattern-axis-view" aria-label="빔 패턴 3D 시점, 선택한 축에서 원점 보기">
<option value="iso">등각</option>
<option value="+x">+X에서 보기</option>
<option value="-x">−X에서 보기</option>
<option value="+y">+Y에서 보기</option>
<option value="-y">−Y에서 보기</option>
<option value="+z">+Z FRONT에서 보기</option>
<option value="-z">−Z BACK에서 보기</option>
<option value="custom" disabled>자유 회전</option>
</select>
<small>카메라만 변경 · 조향 방향과 응답 계산은 유지</small>
</label>
<label class="field">
<span>표시 하한 (dB)</span>
<select id="beam-pattern-floor">
@@ -240,7 +267,7 @@
</div>
<figure class="beam-pattern-surface-figure" id="beam-pattern-surface-view" hidden>
<div class="beam-pattern-figure-heading"><strong>3D 구면 응답</strong><span>drag하여 회전 · +Z FRONT</span></div>
<div class="beam-pattern-figure-heading"><strong>3D 구면 응답</strong><span>축 시점 선택 또는 drag 회전 · +Z FRONT</span></div>
<canvas id="beam-pattern-surface" tabindex="0" role="img" aria-label="3D 수신 빔 패턴 표면" aria-describedby="beam-pattern-status beam-pattern-model-note beam-pattern-surface-caption"></canvas>
<figcaption id="beam-pattern-surface-caption">3D 표면을 준비하고 있습니다.</figcaption>
</figure>