From b1e4a8b0be8282ddb127158655f09c485bc56729 Mon Sep 17 00:00:00 2001 From: chk <79915315+ChKendel@users.noreply.github.com> Date: Wed, 10 Jun 2026 16:13:34 +0200 Subject: [PATCH] weisse Kugeln --- public/boardViewer.html | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/public/boardViewer.html b/public/boardViewer.html index c8c9fd4..d0b95a5 100644 --- a/public/boardViewer.html +++ b/public/boardViewer.html @@ -73,8 +73,9 @@
Erkannt Nicht erkannt - Erkannt, nur 2D + Erkannt (nur 2D) Gemessen (3b) + Fremd (3b) Kamera
@@ -249,6 +250,7 @@ function buildScene(data) { // ── Gemessene Positionen von 3b (gelbe Punkte) ── let nTriangulated = 0; + let nUnknown = 0; // triangulierte Marker ohne Board-Eintrag const measuredById = {}; if (measuredMarkers?.markers?.length > 0) { @@ -275,6 +277,17 @@ function buildScene(data) { } } + // ── Blaue Kugeln: triangulierte Marker, die NICHT in boardMarkers stehen ── + // (unbekannte IDs oder andere Links – keine Modellposition vorhanden) + const unknownTriangulated = measuredMarkers.markers.filter(m => + !boardMarkers.some(bm => bm.id === m.marker_id) + ); + for (const m of unknownTriangulated) { + nUnknown++; + const mpos = r2vArr(m.position_mm); + gMeasured.add(makeSphere(mpos, 0.0055, 0x3b82f6)); + } + // Kamera-Frusta aus 3b if (measuredMarkers.cameras?.length > 0) { for (const c of measuredMarkers.cameras) { @@ -288,14 +301,14 @@ function buildScene(data) { } } - // ── Blaue Kugeln: Board-Marker erkannt, aber nicht trianguliert ── + // ── Helle Kugeln: Board-Marker erkannt, aber nicht trianguliert ── // (nur 1 Kamera sah den Marker, oder 3b lief nicht) let nDetectedNotTriangulated = 0; for (const m of boardMarkers) { if (detectedIds.has(m.id) && !Object.hasOwn(measuredById, m.id)) { nDetectedNotTriangulated++; const pos = r2vArr(m.position); - gMeasured.add(makeSphere(pos, 0.0055, 0x3b82f6)); + gMeasured.add(makeSphere(pos, 0.0055, 0xfde68a)); } } @@ -323,12 +336,11 @@ function buildScene(data) { const triInfo = measuredMarkers === null ? ' │ 3b: –' : ` │ 3b: ${nTriangulated}`; - const only2dInfo = nDetectedNotTriangulated > 0 - ? ` │ nur 2D: ${nDetectedNotTriangulated}` - : ''; + const only2dInfo = nDetectedNotTriangulated > 0 ? ` │ nur 2D: ${nDetectedNotTriangulated}` : ''; + const unknownInfo = nUnknown > 0 ? ` │ fremd: ${nUnknown}` : ''; document.getElementById('stats').textContent = - `Erkannt ${nDetected}/${boardMarkers.length}${triInfo}${only2dInfo}` + + `Erkannt ${nDetected}/${boardMarkers.length}${triInfo}${only2dInfo}${unknownInfo}` + (camInfo ? ` │ RMS: ${camInfo}` : ''); }