US Hawks 3D Viewer
JSON Line Segments
Format for each segment: [ x1,y1,z1, x2,y2,z2, thickness, "RRGGBB" ]
Examples:
General Examples (Details)
Simple Pyramid
[
[ -5, -5, -5, 5, -5, -5, 1, "44ff44" ], // Base -X to +X
[ 5, -5, -5, 5, 5, -5, 1, "44ff44" ], // Base -Y to +Y
[ 5, 5, -5, -5, 5, -5, 1, "44ff44" ], // Base +X to -X
[ -5, 5, -5, -5, -5, -5, 1, "44ff44" ], // Base +Y to -Y
[ -5, -5, -5, 0, 0, 5, 1, "44ff44" ], // Base -X -Y to Top
[ 5, -5, -5, 0, 0, 5, 1, "44ff44" ], // Base +X -Y to Top
[ 5, 5, -5, 0, 0, 5, 1, "44ff44" ], // Base +X +Y to Top
[ -5, 5, -5, 0, 0, 5, 1, "44ff44" ], // Base -X +Y to Top
]
[
[ 0, 0, 0, 5, 0, 0, 1, "ff0000" ], // Line from origin to (5,0,0)
[ 0, 0, 0, 0, 5, 0, 1, "00ff00" ], // Line from origin to (0,5,0)
[ 0, 0, 0, 0, 0, 5, 1, "0000ff" ], // Line from origin to (0,0,5)
]
Simple Half Pyramid (experiment with Toggle Mirror button)
[
[ 5, -5, -5, 5, 5, -5, 1, "ff4444" ], // Base +X,-Y to +X,+Y
[ 5, -5, -5, 0, -5, -5, 1, "ff4444" ], // Base +X,-Y to 0X,-Y
[ 5, 5, -5, 0, 5, -5, 1, "ff4444" ], // Base +X,+Y to 0X,+Y
[ 5, -5, -5, 0, 0, 5, 1, "ff4444" ], // Base +X -Y to Top
[ 5, 5, -5, 0, 0, 5, 1, "ff4444" ], // Base +X +Y to Top
]
Simple Cube
[
[ 5, 5, 5, -5, 5, 5, 1, "4444ff" ], // Positive Corner to -X
[ 5, 5, 5, 5, -5, 5, 1, "4444ff" ], // Positive Corner to -Y
[ 5, 5, 5, 5, 5, -5, 1, "4444ff" ], // Positive Corner to -Z
[ -5, -5, -5, 5, -5, -5, 1, "4444ff" ], // Negative Corner to +X
[ -5, -5, -5, -5, 5, -5, 1, "4444ff" ], // Negative Corner to +Y
[ -5, -5, -5, -5, -5, 5, 1, "4444ff" ], // Negative Corner to +Z
[ -5, 5, 5, -5, -5, 5, 1, "4444ff" ], // Top -X Line
[ 5, -5, 5, -5, -5, 5, 1, "4444ff" ], // Top -Y Line
[ 5, 5, -5, 5, -5, -5, 1, "4444ff" ], // Bottom +X Line
[ 5, 5, -5, -5, 5, -5, 1, "4444ff" ], // Bottom +Y Line
[ 5, -5, 5, 5, -5, -5, 1, "4444ff" ], // Side +X -Y Line
[ -5, 5, 5, -5, 5, -5, 1, "4444ff" ], // Side -X +Y Line
]
Four Sticks
[
[ -1, -2, -2, -1, 2, 2, 8, "ff0000" ],
[ -2, 1, -2, 2, 1, 2, 8, "00ff00" ],
[ 1, 2, -2, 1, -2, 2, 8, "0000ff" ],
[ 2, -1, -2, -2, -1, 2, 8, "ff00ff" ],
]
Segmented Line
[
// Draw the full line first to avoid any gaps
[ 0, 0, 0, 5, 0, 0, 8, "ff0000" ], // The full line
// Re-draw as segments (presumably from back to front)
[ 0, 0, 0, 1, 0, 0, 8, "ff0000" ], // Segment 1
[ 1, 0, 0, 2, 0, 0, 8, "ff0000" ], // Segment 2
[ 2, 0, 0, 3, 0, 0, 8, "ff0000" ], // Segment 3
[ 3, 0, 0, 4, 0, 0, 8, "ff0000" ], // Segment 4
[ 4, 0, 0, 5, 0, 0, 8, "ff0000" ], // Segment 5
]
Build a Glider Examples (Details)
Start with nothing (experiment with "Toggle Axes" button)
[
]
Add a Keel
[
[ 0, 5, 0, 0, -5, 0, 4, "ff00ff" ], // Keel
]
Add a Leading Edge (toggle mirror to hide/show mirrored side)
[
[ 0, 5, 0, 0, -5, 0, 4, "ff00ff" ], // Keel
[ 0, 5, 0, 15, -3, 0.2, 4, "ffff00" ], // Leading Edge
]
Add a CrossBar
[
[ 0, 5, 0, 0, -5, 0, 4, "ff00ff" ], // Keel
[ 0, 5, 0, 15, -3, 0.2, 4, "ffff00" ], // Leading Edge
[ 0, 1.6, 0, 9, 0.2, 0.1, 6, "00ffff" ], // Crossbar
]
Add a Kingpost
[
[ 0, 5, 0, 0, -5, 0, 4, "ff00ff" ], // Keel
[ 0, 5, 0, 15, -3, 0.2, 4, "ffff00" ], // Leading Edge
[ 0, 1.6, 0, 9, 0.2, 0.1, 6, "00ffff" ], // Crossbar
[ 0, 1, 0, 0, 0.9, 3, 6, "0000ff" ], // Kingpost
]
Add a Downtube (will be mirrored)
[
[ 0, 5, 0, 0, -5, 0, 4, "ff00ff" ], // Keel
[ 0, 5, 0, 15, -3, 0.2, 4, "ffff00" ], // Leading Edge
[ 0, 1.6, 0, 9, 0.2, 0.1, 6, "00ffff" ], // Crossbar
[ 0, 1, 0, 0, 0.9, 3, 6, "0000ff" ], // Kingpost
[ 0, 1, 0, 1.6, 2, -3.5, 4, "ff0000" ], // Downtubes
]
Add the Basetube (will be mirrored)
[
[ 0, 5, 0, 0, -5, 0, 4, "ff00ff" ], // Keel
[ 0, 5, 0, 15, -3, 0.2, 4, "ffff00" ], // Leading Edge
[ 0, 1.6, 0, 9, 0.2, 0.1, 6, "00ffff" ], // Crossbar
[ 0, 1, 0, 0, 0.9, 3, 6, "0000ff" ], // Kingpost
[ 0, 1, 0, 1.6, 2, -3.5, 4, "ff0000" ], // Downtubes
[ 0, 2, -3.5, 1.6, 2, -3.5, 4, "ff0000" ], // Basetube (right half)
]
Add the Wires (will be mirrored)
[
[ 0, 5, 0, 0, -5, 0, 4, "ff00ff" ], // Keel
[ 0, 1, 0, 0, 0.9, 3, 6, "0000ff" ], // Kingpost
[ 0, 1, 0, 1.6, 2, -3.5, 4, "ff0000" ], // Downtubes
[ 0, 5, 0, 15, -3, 0.2, 4, "ffff00" ], // Leading Edge
[ 0, 1.6, 0, 9, 0.2, 0.1, 6, "00ffff" ], // Crossbar
[ 0, 2, -3.5, 1.6, 2, -3.5, 4, "ff0000" ], // Basetube (right half)
[ 0, 5, 0, 1.6, 2, -3.5, 1, "888888" ], // Nose Wire to BT
[ 0, -3, 0, 1.6, 2, -3.5, 1, "888888" ], // Rear Wire to BT
[ 9, 0.2, 0.1, 1.6, 2, -3.5, 1, "888888" ], // Side Wire to BT
[ 9, 0.2, 0.1, 0, 0.9, 3, 1, "888888" ], // Side Wire to KP
[ 0, 5, 0, 0, 0.9, 3, 1, "888888" ], // Nose Wire to KP
[ 0, -3, 0, 0, 0.9, 3, 1, "888888" ], // Rear Wire to KP
]