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}` : '');
}