Initial Comming
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
# Building a Newbury Crest (marker ID 0)
|
||||
|
||||
A "Newbury Crest" is the physical anchor marker. It has two parts:
|
||||
|
||||
1. **Detector core** — a 6×6 grid of flat black & white tiles. This is the part the camera reads.
|
||||
It is an ArUco 4×4 marker (1-cell black border + 4×4 data), so it must be **exact**.
|
||||
2. **Colour-wheel ring** — a decorative 1-tile-wide border of Red / Yellow / Blue around the core.
|
||||
Purely cosmetic (Hidden Side theme); the detector ignores it.
|
||||
|
||||
See `crest-01_buildplan.svg` for the full picture and `crest-01_buildmap.json` for the raw grid.
|
||||
|
||||
## The detector core (6×6) — ID 0
|
||||
|
||||
`#` = **black** tile, `.` = **white** tile. Build it in this exact orientation; the single
|
||||
yellow corner dot in the app shows which corner is the reference (top-left here).
|
||||
|
||||
```
|
||||
# # # # # #
|
||||
# . # . . #
|
||||
# # . # . #
|
||||
# # # . . #
|
||||
# # # . # #
|
||||
# # # # # #
|
||||
```
|
||||
|
||||
- Outer ring is **all black** (the ArUco quiet border) — do not substitute colours here.
|
||||
- Use **flat tiles**, not plates with exposed studs — studs cast shadows that hurt detection.
|
||||
- Suggested scale: one **2×2 tile per cell** = 16 mm cells → **96 × 96 mm** core.
|
||||
(For a crisper read at distance, go 2×2 *studs* per cell using four 1×1 tiles — finer edges.)
|
||||
|
||||
## The colour-wheel ring
|
||||
|
||||
Wrap one tile-row of Red/Yellow/Blue around the 96 mm core, cycling R→Y→B. Keep it **outside**
|
||||
the black border (it can touch the black border directly — black separates it from the data).
|
||||
|
||||
- Red `#F65151` · Yellow `#FFF35D` · Blue `#529EFF`
|
||||
- These are the exact Hidden Side ghost-lure gradient tops, so it reads as the colour wheel.
|
||||
|
||||
## Mounting
|
||||
|
||||
- Mount flat on a black baseplate, flush and rigid (no warping — a curved marker breaks pose).
|
||||
- Matte tiles beat glossy if you have the choice; glare is the main real-world enemy.
|
||||
- Place at "street level" where a phone naturally frames it as part of the scene.
|
||||
|
||||
## Test before you commit
|
||||
|
||||
1. Print `crest-01_aruco0.svg` at ~100 mm and tape it down.
|
||||
2. Open `ar-test.html` on your phone (over HTTPS), point at it.
|
||||
3. HUD should show **id: 0** and a blue wisp should hover above it.
|
||||
4. Try angles, distance, and your real exhibition lighting. If it holds lock well, build the
|
||||
LEGO version with confidence; if glare is an issue, matte it down.
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect width="100" height="100" fill="#ffffff"/><rect x="20" y="20" width="10" height="10" fill="#000000"/><rect x="30" y="20" width="10" height="10" fill="#000000"/><rect x="40" y="20" width="10" height="10" fill="#000000"/><rect x="50" y="20" width="10" height="10" fill="#000000"/><rect x="60" y="20" width="10" height="10" fill="#000000"/><rect x="70" y="20" width="10" height="10" fill="#000000"/><rect x="20" y="30" width="10" height="10" fill="#000000"/><rect x="30" y="30" width="10" height="10" fill="#ffffff"/><rect x="40" y="30" width="10" height="10" fill="#000000"/><rect x="50" y="30" width="10" height="10" fill="#ffffff"/><rect x="60" y="30" width="10" height="10" fill="#ffffff"/><rect x="70" y="30" width="10" height="10" fill="#000000"/><rect x="20" y="40" width="10" height="10" fill="#000000"/><rect x="30" y="40" width="10" height="10" fill="#000000"/><rect x="40" y="40" width="10" height="10" fill="#ffffff"/><rect x="50" y="40" width="10" height="10" fill="#000000"/><rect x="60" y="40" width="10" height="10" fill="#ffffff"/><rect x="70" y="40" width="10" height="10" fill="#000000"/><rect x="20" y="50" width="10" height="10" fill="#000000"/><rect x="30" y="50" width="10" height="10" fill="#000000"/><rect x="40" y="50" width="10" height="10" fill="#000000"/><rect x="50" y="50" width="10" height="10" fill="#ffffff"/><rect x="60" y="50" width="10" height="10" fill="#ffffff"/><rect x="70" y="50" width="10" height="10" fill="#000000"/><rect x="20" y="60" width="10" height="10" fill="#000000"/><rect x="30" y="60" width="10" height="10" fill="#000000"/><rect x="40" y="60" width="10" height="10" fill="#000000"/><rect x="50" y="60" width="10" height="10" fill="#ffffff"/><rect x="60" y="60" width="10" height="10" fill="#000000"/><rect x="70" y="60" width="10" height="10" fill="#000000"/><rect x="20" y="70" width="10" height="10" fill="#000000"/><rect x="30" y="70" width="10" height="10" fill="#000000"/><rect x="40" y="70" width="10" height="10" fill="#000000"/><rect x="50" y="70" width="10" height="10" fill="#000000"/><rect x="60" y="70" width="10" height="10" fill="#000000"/><rect x="70" y="70" width="10" height="10" fill="#000000"/><text x="50" y="96" font-family="monospace" font-size="7" text-anchor="middle" fill="#000">ArUco4x4 id 0</text></svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"anchorName": "crest-01",
|
||||
"ward": "North-West Ward",
|
||||
"arucoId": 0,
|
||||
"dictionary": "ARUCO_4X4_1000",
|
||||
"detectorCore": {
|
||||
"gridSize": 6,
|
||||
"note": "1-cell black quiet border + 4x4 data. Use FLAT TILES. 0=Black, 1=White.",
|
||||
"cells": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
]
|
||||
},
|
||||
"colourWheelFrame": {
|
||||
"note": "Decorative Hidden Side border, 1 tile-row wide around the 6x6 core. Cycle R/Y/B. Detector ignores this zone but it must sit OUTSIDE the white quiet margin OR be separated by a black/white gap so it does not bleed into detection.",
|
||||
"palette": {
|
||||
"Red": "#F65151",
|
||||
"Yellow": "#FFF35D",
|
||||
"Blue": "#529EFF"
|
||||
},
|
||||
"cycle": [
|
||||
"Red",
|
||||
"Yellow",
|
||||
"Blue"
|
||||
]
|
||||
},
|
||||
"physical": {
|
||||
"cellMm": 16,
|
||||
"coreMm": 96,
|
||||
"recommendedPart": "2x2 tile per cell (or 1x1 tiles 4-up for finer)",
|
||||
"mountNote": "Flat on a black baseplate. Keep flush, no studs proud of tile surface."
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 7.2 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect width="100" height="100" fill="#ffffff"/><rect x="20" y="20" width="10" height="10" fill="#000000"/><rect x="30" y="20" width="10" height="10" fill="#000000"/><rect x="40" y="20" width="10" height="10" fill="#000000"/><rect x="50" y="20" width="10" height="10" fill="#000000"/><rect x="60" y="20" width="10" height="10" fill="#000000"/><rect x="70" y="20" width="10" height="10" fill="#000000"/><rect x="20" y="30" width="10" height="10" fill="#000000"/><rect x="30" y="30" width="10" height="10" fill="#000000"/><rect x="40" y="30" width="10" height="10" fill="#000000"/><rect x="50" y="30" width="10" height="10" fill="#000000"/><rect x="60" y="30" width="10" height="10" fill="#000000"/><rect x="70" y="30" width="10" height="10" fill="#000000"/><rect x="20" y="40" width="10" height="10" fill="#000000"/><rect x="30" y="40" width="10" height="10" fill="#ffffff"/><rect x="40" y="40" width="10" height="10" fill="#ffffff"/><rect x="50" y="40" width="10" height="10" fill="#ffffff"/><rect x="60" y="40" width="10" height="10" fill="#ffffff"/><rect x="70" y="40" width="10" height="10" fill="#000000"/><rect x="20" y="50" width="10" height="10" fill="#000000"/><rect x="30" y="50" width="10" height="10" fill="#ffffff"/><rect x="40" y="50" width="10" height="10" fill="#000000"/><rect x="50" y="50" width="10" height="10" fill="#000000"/><rect x="60" y="50" width="10" height="10" fill="#ffffff"/><rect x="70" y="50" width="10" height="10" fill="#000000"/><rect x="20" y="60" width="10" height="10" fill="#000000"/><rect x="30" y="60" width="10" height="10" fill="#ffffff"/><rect x="40" y="60" width="10" height="10" fill="#000000"/><rect x="50" y="60" width="10" height="10" fill="#ffffff"/><rect x="60" y="60" width="10" height="10" fill="#000000"/><rect x="70" y="60" width="10" height="10" fill="#000000"/><rect x="20" y="70" width="10" height="10" fill="#000000"/><rect x="30" y="70" width="10" height="10" fill="#000000"/><rect x="40" y="70" width="10" height="10" fill="#000000"/><rect x="50" y="70" width="10" height="10" fill="#000000"/><rect x="60" y="70" width="10" height="10" fill="#000000"/><rect x="70" y="70" width="10" height="10" fill="#000000"/><text x="50" y="96" font-family="monospace" font-size="7" text-anchor="middle" fill="#000">ArUco4x4 id 1</text></svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"anchorName": "crest-02",
|
||||
"ward": "North-East Ward",
|
||||
"arucoId": 1,
|
||||
"dictionary": "ARUCO_4X4_1000",
|
||||
"detectorCore": {
|
||||
"gridSize": 6,
|
||||
"note": "1-cell black quiet border + 4x4 data. Use FLAT TILES. 0=Black, 1=White.",
|
||||
"cells": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
]
|
||||
},
|
||||
"colourWheelFrame": {
|
||||
"note": "Decorative Hidden Side border, 1 tile-row wide around the 6x6 core. Cycle R/Y/B. Detector ignores this zone but it must sit OUTSIDE the white quiet margin OR be separated by a black/white gap so it does not bleed into detection.",
|
||||
"palette": {
|
||||
"Red": "#F65151",
|
||||
"Yellow": "#FFF35D",
|
||||
"Blue": "#529EFF"
|
||||
},
|
||||
"cycle": [
|
||||
"Red",
|
||||
"Yellow",
|
||||
"Blue"
|
||||
]
|
||||
},
|
||||
"physical": {
|
||||
"cellMm": 16,
|
||||
"coreMm": 96,
|
||||
"recommendedPart": "2x2 tile per cell (or 1x1 tiles 4-up for finer)",
|
||||
"mountNote": "Flat on a black baseplate. Keep flush, no studs proud of tile surface."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect width="100" height="100" fill="#ffffff"/><rect x="20" y="20" width="10" height="10" fill="#000000"/><rect x="30" y="20" width="10" height="10" fill="#000000"/><rect x="40" y="20" width="10" height="10" fill="#000000"/><rect x="50" y="20" width="10" height="10" fill="#000000"/><rect x="60" y="20" width="10" height="10" fill="#000000"/><rect x="70" y="20" width="10" height="10" fill="#000000"/><rect x="20" y="30" width="10" height="10" fill="#000000"/><rect x="30" y="30" width="10" height="10" fill="#000000"/><rect x="40" y="30" width="10" height="10" fill="#000000"/><rect x="50" y="30" width="10" height="10" fill="#ffffff"/><rect x="60" y="30" width="10" height="10" fill="#ffffff"/><rect x="70" y="30" width="10" height="10" fill="#000000"/><rect x="20" y="40" width="10" height="10" fill="#000000"/><rect x="30" y="40" width="10" height="10" fill="#000000"/><rect x="40" y="40" width="10" height="10" fill="#000000"/><rect x="50" y="40" width="10" height="10" fill="#ffffff"/><rect x="60" y="40" width="10" height="10" fill="#ffffff"/><rect x="70" y="40" width="10" height="10" fill="#000000"/><rect x="20" y="50" width="10" height="10" fill="#000000"/><rect x="30" y="50" width="10" height="10" fill="#000000"/><rect x="40" y="50" width="10" height="10" fill="#000000"/><rect x="50" y="50" width="10" height="10" fill="#ffffff"/><rect x="60" y="50" width="10" height="10" fill="#000000"/><rect x="70" y="50" width="10" height="10" fill="#000000"/><rect x="20" y="60" width="10" height="10" fill="#000000"/><rect x="30" y="60" width="10" height="10" fill="#ffffff"/><rect x="40" y="60" width="10" height="10" fill="#ffffff"/><rect x="50" y="60" width="10" height="10" fill="#000000"/><rect x="60" y="60" width="10" height="10" fill="#ffffff"/><rect x="70" y="60" width="10" height="10" fill="#000000"/><rect x="20" y="70" width="10" height="10" fill="#000000"/><rect x="30" y="70" width="10" height="10" fill="#000000"/><rect x="40" y="70" width="10" height="10" fill="#000000"/><rect x="50" y="70" width="10" height="10" fill="#000000"/><rect x="60" y="70" width="10" height="10" fill="#000000"/><rect x="70" y="70" width="10" height="10" fill="#000000"/><text x="50" y="96" font-family="monospace" font-size="7" text-anchor="middle" fill="#000">ArUco4x4 id 2</text></svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"anchorName": "crest-03",
|
||||
"ward": "Town Square Ward",
|
||||
"arucoId": 2,
|
||||
"dictionary": "ARUCO_4X4_1000",
|
||||
"detectorCore": {
|
||||
"gridSize": 6,
|
||||
"note": "1-cell black quiet border + 4x4 data. Use FLAT TILES. 0=Black, 1=White.",
|
||||
"cells": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
]
|
||||
},
|
||||
"colourWheelFrame": {
|
||||
"note": "Decorative Hidden Side border, 1 tile-row wide around the 6x6 core. Cycle R/Y/B. Detector ignores this zone but it must sit OUTSIDE the white quiet margin OR be separated by a black/white gap so it does not bleed into detection.",
|
||||
"palette": {
|
||||
"Red": "#F65151",
|
||||
"Yellow": "#FFF35D",
|
||||
"Blue": "#529EFF"
|
||||
},
|
||||
"cycle": [
|
||||
"Red",
|
||||
"Yellow",
|
||||
"Blue"
|
||||
]
|
||||
},
|
||||
"physical": {
|
||||
"cellMm": 16,
|
||||
"coreMm": 96,
|
||||
"recommendedPart": "2x2 tile per cell (or 1x1 tiles 4-up for finer)",
|
||||
"mountNote": "Flat on a black baseplate. Keep flush, no studs proud of tile surface."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect width="100" height="100" fill="#ffffff"/><rect x="20" y="20" width="10" height="10" fill="#000000"/><rect x="30" y="20" width="10" height="10" fill="#000000"/><rect x="40" y="20" width="10" height="10" fill="#000000"/><rect x="50" y="20" width="10" height="10" fill="#000000"/><rect x="60" y="20" width="10" height="10" fill="#000000"/><rect x="70" y="20" width="10" height="10" fill="#000000"/><rect x="20" y="30" width="10" height="10" fill="#000000"/><rect x="30" y="30" width="10" height="10" fill="#ffffff"/><rect x="40" y="30" width="10" height="10" fill="#000000"/><rect x="50" y="30" width="10" height="10" fill="#000000"/><rect x="60" y="30" width="10" height="10" fill="#ffffff"/><rect x="70" y="30" width="10" height="10" fill="#000000"/><rect x="20" y="40" width="10" height="10" fill="#000000"/><rect x="30" y="40" width="10" height="10" fill="#ffffff"/><rect x="40" y="40" width="10" height="10" fill="#000000"/><rect x="50" y="40" width="10" height="10" fill="#000000"/><rect x="60" y="40" width="10" height="10" fill="#ffffff"/><rect x="70" y="40" width="10" height="10" fill="#000000"/><rect x="20" y="50" width="10" height="10" fill="#000000"/><rect x="30" y="50" width="10" height="10" fill="#000000"/><rect x="40" y="50" width="10" height="10" fill="#ffffff"/><rect x="50" y="50" width="10" height="10" fill="#000000"/><rect x="60" y="50" width="10" height="10" fill="#000000"/><rect x="70" y="50" width="10" height="10" fill="#000000"/><rect x="20" y="60" width="10" height="10" fill="#000000"/><rect x="30" y="60" width="10" height="10" fill="#000000"/><rect x="40" y="60" width="10" height="10" fill="#ffffff"/><rect x="50" y="60" width="10" height="10" fill="#ffffff"/><rect x="60" y="60" width="10" height="10" fill="#000000"/><rect x="70" y="60" width="10" height="10" fill="#000000"/><rect x="20" y="70" width="10" height="10" fill="#000000"/><rect x="30" y="70" width="10" height="10" fill="#000000"/><rect x="40" y="70" width="10" height="10" fill="#000000"/><rect x="50" y="70" width="10" height="10" fill="#000000"/><rect x="60" y="70" width="10" height="10" fill="#000000"/><rect x="70" y="70" width="10" height="10" fill="#000000"/><text x="50" y="96" font-family="monospace" font-size="7" text-anchor="middle" fill="#000">ArUco4x4 id 3</text></svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"anchorName": "crest-04",
|
||||
"ward": "South-West Ward",
|
||||
"arucoId": 3,
|
||||
"dictionary": "ARUCO_4X4_1000",
|
||||
"detectorCore": {
|
||||
"gridSize": 6,
|
||||
"note": "1-cell black quiet border + 4x4 data. Use FLAT TILES. 0=Black, 1=White.",
|
||||
"cells": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
]
|
||||
},
|
||||
"colourWheelFrame": {
|
||||
"note": "Decorative Hidden Side border, 1 tile-row wide around the 6x6 core. Cycle R/Y/B. Detector ignores this zone but it must sit OUTSIDE the white quiet margin OR be separated by a black/white gap so it does not bleed into detection.",
|
||||
"palette": {
|
||||
"Red": "#F65151",
|
||||
"Yellow": "#FFF35D",
|
||||
"Blue": "#529EFF"
|
||||
},
|
||||
"cycle": [
|
||||
"Red",
|
||||
"Yellow",
|
||||
"Blue"
|
||||
]
|
||||
},
|
||||
"physical": {
|
||||
"cellMm": 16,
|
||||
"coreMm": 96,
|
||||
"recommendedPart": "2x2 tile per cell (or 1x1 tiles 4-up for finer)",
|
||||
"mountNote": "Flat on a black baseplate. Keep flush, no studs proud of tile surface."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect width="100" height="100" fill="#ffffff"/><rect x="20" y="20" width="10" height="10" fill="#000000"/><rect x="30" y="20" width="10" height="10" fill="#000000"/><rect x="40" y="20" width="10" height="10" fill="#000000"/><rect x="50" y="20" width="10" height="10" fill="#000000"/><rect x="60" y="20" width="10" height="10" fill="#000000"/><rect x="70" y="20" width="10" height="10" fill="#000000"/><rect x="20" y="30" width="10" height="10" fill="#000000"/><rect x="30" y="30" width="10" height="10" fill="#000000"/><rect x="40" y="30" width="10" height="10" fill="#ffffff"/><rect x="50" y="30" width="10" height="10" fill="#000000"/><rect x="60" y="30" width="10" height="10" fill="#ffffff"/><rect x="70" y="30" width="10" height="10" fill="#000000"/><rect x="20" y="40" width="10" height="10" fill="#000000"/><rect x="30" y="40" width="10" height="10" fill="#000000"/><rect x="40" y="40" width="10" height="10" fill="#ffffff"/><rect x="50" y="40" width="10" height="10" fill="#000000"/><rect x="60" y="40" width="10" height="10" fill="#000000"/><rect x="70" y="40" width="10" height="10" fill="#000000"/><rect x="20" y="50" width="10" height="10" fill="#000000"/><rect x="30" y="50" width="10" height="10" fill="#ffffff"/><rect x="40" y="50" width="10" height="10" fill="#000000"/><rect x="50" y="50" width="10" height="10" fill="#000000"/><rect x="60" y="50" width="10" height="10" fill="#ffffff"/><rect x="70" y="50" width="10" height="10" fill="#000000"/><rect x="20" y="60" width="10" height="10" fill="#000000"/><rect x="30" y="60" width="10" height="10" fill="#ffffff"/><rect x="40" y="60" width="10" height="10" fill="#ffffff"/><rect x="50" y="60" width="10" height="10" fill="#ffffff"/><rect x="60" y="60" width="10" height="10" fill="#000000"/><rect x="70" y="60" width="10" height="10" fill="#000000"/><rect x="20" y="70" width="10" height="10" fill="#000000"/><rect x="30" y="70" width="10" height="10" fill="#000000"/><rect x="40" y="70" width="10" height="10" fill="#000000"/><rect x="50" y="70" width="10" height="10" fill="#000000"/><rect x="60" y="70" width="10" height="10" fill="#000000"/><rect x="70" y="70" width="10" height="10" fill="#000000"/><text x="50" y="96" font-family="monospace" font-size="7" text-anchor="middle" fill="#000">ArUco4x4 id 4</text></svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"anchorName": "crest-05",
|
||||
"ward": "South-East Ward",
|
||||
"arucoId": 4,
|
||||
"dictionary": "ARUCO_4X4_1000",
|
||||
"detectorCore": {
|
||||
"gridSize": 6,
|
||||
"note": "1-cell black quiet border + 4x4 data. Use FLAT TILES. 0=Black, 1=White.",
|
||||
"cells": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
]
|
||||
},
|
||||
"colourWheelFrame": {
|
||||
"note": "Decorative Hidden Side border, 1 tile-row wide around the 6x6 core. Cycle R/Y/B. Detector ignores this zone but it must sit OUTSIDE the white quiet margin OR be separated by a black/white gap so it does not bleed into detection.",
|
||||
"palette": {
|
||||
"Red": "#F65151",
|
||||
"Yellow": "#FFF35D",
|
||||
"Blue": "#529EFF"
|
||||
},
|
||||
"cycle": [
|
||||
"Red",
|
||||
"Yellow",
|
||||
"Blue"
|
||||
]
|
||||
},
|
||||
"physical": {
|
||||
"cellMm": 16,
|
||||
"coreMm": 96,
|
||||
"recommendedPart": "2x2 tile per cell (or 1x1 tiles 4-up for finer)",
|
||||
"mountNote": "Flat on a black baseplate. Keep flush, no studs proud of tile surface."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"dictionary": "ARUCO_4X4_1000",
|
||||
"note": "Maps physical ArUco marker IDs to scene.json anchors. fiducialId in scene.json must match arucoId here.",
|
||||
"markers": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "crest-01",
|
||||
"ward": "North-West Ward"
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "crest-02",
|
||||
"ward": "North-East Ward"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "crest-03",
|
||||
"ward": "Town Square Ward"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "crest-04",
|
||||
"ward": "South-West Ward"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "crest-05",
|
||||
"ward": "South-East Ward"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user