Skip to content

Add reference STL models for canonical tensegrity structures + Edison literature surveys (initial + design-gaps follow-up) - #22

Open
sgbaird with Copilot wants to merge 14 commits into
mainfrom
copilot/fetch-designs-for-tensegrity-structures
Open

Add reference STL models for canonical tensegrity structures + Edison literature surveys (initial + design-gaps follow-up)#22
sgbaird with Copilot wants to merge 14 commits into
mainfrom
copilot/fetch-designs-for-tensegrity-structures

Conversation

Copilot AI commented May 8, 2026

Copy link
Copy Markdown
Contributor
  • Verify which DOI links in /home/runner/work/tensegrity-optimization/tensegrity-optimization/models/README.md fail to resolve
  • Replace incorrect DOI links with validated DOI/direct publisher links
  • Keep the requested figures/tables list unchanged while fixing only citation links
  • Commit and push the README corrections

Copilot AI changed the title [WIP] Fetch actual designs and models for tensegrity structures Add reference STL models for canonical tensegrity structures May 8, 2026
Copilot AI requested a review from sgbaird May 8, 2026 17:08
Copilot finished work on behalf of sgbaird May 8, 2026 17:08
@sgbaird-alt

Copy link
Copy Markdown
Collaborator

@me-madsen maybe we could try printing the other two T4 and icosahedron similar to #35

@copilot noting also that we might want to make the "strings" thicker, since they're not actually strings, but would eventually be TPU.

Copilot AI commented May 8, 2026

Copy link
Copy Markdown
Contributor Author

@me-madsen maybe we could try printing the other two T4 and icosahedron similar to #35

![](https://github.com/vertical-cloud-lab/tensegrity-optimization/blob/3ffd5e6d158223a4818c60abc0b91ee7c6d8bb...

Bumped the cable diameter from 1.0 mm Ø to 2.4 mm Ø (the same value used for TPU cables in cad/t3-prism/ from #35) and regenerated all three STLs + the preview in 7cc4533. Updated --cable-radius default and the README accordingly.

tensegrity preview with thicker TPU cables

The T4 + icosahedron print prep (Bambu H2D .gcode.3mf / project .3mf à la #35) is left for @me-madsen as you requested.

@sgbaird-yolo

Copy link
Copy Markdown
Collaborator

@copilot what other tensegrity designs (canonical or not) exist, including especially those in the literature? Use an Edison scientific high effort literature search. Download all artifacts from the Edison query ; wait and fetch the results for this one in same session.

Similar to before, include at least one image of each new type that you found, in case we need to use it later.

Copilot AI and others added 2 commits May 9, 2026 04:44

Copilot AI commented May 9, 2026

Copy link
Copy Markdown
Contributor Author

@copilot what other tensegrity designs (canonical or not) exist, including especially those in the literature? Use an Edison scientific high effort literature search. Download all arti...

Submitted Edison LITERATURE_HIGH task fad054b3-fef3-4249-a7d3-151d170efe19 and waited for it in-session (~30 min). Full survey (~60 KB, ~280 lines, 50 cited sources) committed alongside the structured references and full task JSON in df60ac4:

Coverage: Snelson n-prisms (T3/T4/T6/stacked masts), polyhedral & spherical (Jessen's icosahedron, expanded octahedron, truncated tetrahedron, Rimoli/Pajunen truncated-octahedron, Liu et al. cuboctahedron tessellation), Skelton class-k (T-bar / D-bar / class-2 columns), Geiger/Levy cable-domes (Seoul Olympic Hall, Georgia Dome), bio-tensegrity (Levin/Ingber), tensegrity robots (NASA SUPERball v1/v2, Berkeley ULTRA-Spine, TT-3), deployable masts and patents (US 6,441,801; US 6,542,132; US 8,616,328), bistable double-prism (Intrigila 2022), Sabouni-Zawadzka simplex lattices, and topology-generation methods (Tibert/Pellegrino, GA + DNN form-finding 2022/2024).

For the BYU PETG+TPU/H2D project, the survey recommends (top 8): truncated-octahedron cell #1, T3 #2, 4-strut simplex #3, expanded octahedron #4, bistable double-prism #5, cuboctahedron tessellation #6, stacked prismatic column #7, T-bar lattice #8.

Per "include at least one image of each new type", I extended models/generate_stl.py with three new buildable design families (the easiest-to-fabricate of the survey's recommendations) and regenerated the preview as a 6-panel render in df60ac4:

  • T6 prism (n=6, twist 60°) — models/stl/6bar_prism.stl
  • Stacked T3 column (3-bay Snelson Needle Tower analog with alternating chirality) — models/stl/stacked_t3_column.stl
  • Truncated-octahedron tensegrity (Rimoli/Pajunen, 24 nodes / 12 struts / 36 cables — the survey's Get started on this repo #1 energy-absorption pick) — models/stl/truncated_octahedron.stl

6-panel tensegrity preview including T6, stacked T3 column, and truncated-octahedron cell

The remaining survey designs (cable-domes, biotensegrity, robots, deployable masts, patents, bistable / cuboctahedron metamaterials) are documented in the Edison md with citations to original-paper figures rather than re-rendered, since they require either non-class-1 geometry or external CAD that would need source-paper attribution.

Copilot AI changed the title Add reference STL models for canonical tensegrity structures Add reference STL models for canonical tensegrity structures + Edison literature survey May 9, 2026
Copilot AI requested a review from sgbaird-yolo May 9, 2026 04:46
@sgbaird-alt

Copy link
Copy Markdown
Collaborator

@copilot pursue these

cable-domes, biotensegrity, robots, deployable masts, patents, bistable / cuboctahedron metamaterials

You can download whatever software tools you need, CAD or otherwise. If the specifications are unclear, let me know which journal articles you would need to see are or who I could contact about it

…y, robots, masts, patents, bistable, cuboctahedron) as parametric STL + extended preview

Agent-Logs-Url: https://github.com/vertical-cloud-lab/tensegrity-optimization/sessions/057d95ea-ad1a-4afe-a869-f8c8e31a7849

Co-authored-by: sgbaird-alt <71569943+sgbaird-alt@users.noreply.github.com>
@sgbaird-alt

Copy link
Copy Markdown
Collaborator

@me-madsen @achris0520 @ctrhjk could one of you try to get the missing papers mentioned in https://github.com/vertical-cloud-lab/tensegrity-optimization/blob/copilot/fetch-designs-for-tensegrity-structures/models/README.md#source-materials-needed-for-the-remaining-gap-followup-families ? Don't worry if you don't get all of them (e.g., bad link provided, BYU doesn't have access, etc.). You can send to me via slack (can upload to tensegrity channel)

…Barbarigos companion, Hanaor, suspen-dome)

Agent-Logs-Url: https://github.com/vertical-cloud-lab/tensegrity-optimization/sessions/53b1444c-11ac-4244-be28-7d59d201e8c5

Co-authored-by: sgbaird-alt <71569943+sgbaird-alt@users.noreply.github.com>
Copilot AI added a commit that referenced this pull request May 12, 2026
@ctrhjk

ctrhjk commented May 12, 2026

Copy link
Copy Markdown
Collaborator

Found the following references/resources:

  • "Floating fabric over Georgia Dome", Civ. Eng. ASCE 61(11):34-37, 1991
    -> BYU Library has a copy, and I requested a PDF scan of the paper.

  • Kim, K., Agogino, A. K., Toghyan, A., Moon, D., Taneja, L., Agogino, A. M., "Robust learning of tensegrity robot control for locomotion through form-finding", IROS 2015
    DOI: https://doi.org/10.1109/IROS.2015.7354204

@me-madsen

Copy link
Copy Markdown
Collaborator

@me-madsen maybe we could try printing the other two T4 and icosahedron similar to #35

A test print for the T4 is underway (PLA) with the same file for which a TPU + PLA test print is underway. See vertical-cloud-lab/byu-vcl#82 (comment)

Waiting until after to try the icosahedron as I would like to try and optimize the supports. Automatic supports for it looked far too messy.

@ctrhjk

ctrhjk commented May 13, 2026

Copy link
Copy Markdown
Collaborator

"Floating fabric over Georgia Dome", Civ. Eng. ASCE 61(11):34-37, 1991
This is the link that contains the PDF of this article

https://verticalcloudlabbyu.slack.com/archives/C0B2MFR5V3L/p1778691467813409

@sgbaird

sgbaird commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

@claude I need a version of this that has better shading, No text embedded, and just that #22 (comment)

@claude

claude Bot commented Aug 20, 2026

Copy link
Copy Markdown

Claude finished @sgbaird's task in 4m 51s —— View job


Done. Re-rendered the 7 extended-preview families from the referenced comment as Lambert-shaded solid tubes with no titles or embedded text, committed in 52ce670:

Same seven models and parameters as the original flat-gray panel figure (top row: Geiger cable-dome, biotensegrity spine, NASA SUPERball + payload, Tibert/Pellegrino mast; bottom row: Knight et al. patent antenna, bistable double-prism, cuboctahedron tessellation). Red = struts, blue = cables, matching the convention in the gap-followup preview. The cylinders are shaded per-face with a key light from upper front-left, so the tubes read as 3D instead of flat fills.

  • Identify which image the referenced comment contains (extended preview, 7 families)
  • Inspect the existing render code (the fd32935 figure was rendered ad hoc; no script was committed, and no shaded render exists on any other branch, checked via a blobless mirror of all branches)
  • Re-render with improved shading and no text/titles
  • Commit, push, and embed the new image here

Files added in 52ce670:

The original figures/tensegrity_models_extended_preview.png is untouched, so existing links keep working. If you'd like different colors (e.g., all-gray like the original, or PETG/TPU-matched colors), different camera angles, or a transparent background, say the word and I'll tweak the script.
| Branch

…ilies

Requested in PR #22: same seven design families as
figures/tensegrity_models_extended_preview.png, re-rendered as
Lambert-shaded solid tubes (red struts, blue cables) with no titles
or embedded text.

Co-authored-by: Sterling G. Baird <45469701+sgbaird@users.noreply.github.com>
@sgbaird

sgbaird commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

@claude what's up with that one on the bottom right with strands?

@claude

claude Bot commented Aug 21, 2026

Copy link
Copy Markdown

Claude encountered an error after 1s —— View job


I'll analyze this and get back to you.

@sgbaird

sgbaird commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

@claude try again #22 (comment)

@claude

claude Bot commented Aug 21, 2026

Copy link
Copy Markdown

Claude finished @sgbaird's task in 3m 7s —— View job


The bottom-right panel is cuboctahedron_tessellation(), and it's geometrically broken

Short answer: it isn't a tensegrity. All 6 struts are body diagonals of the cuboctahedron, so they all pass through the origin and fuse into a solid asterisk, and 12 of the 36 "cables" are radial spokes from a hub node at that same origin, which means each one is buried co-axially inside the inner half of a strut. The strands you're seeing are that pile-up plus the z-fighting it causes.

Here's the panel decomposed (as generated | struts only | rim cables only):

What the code actually does

models/generate_stl.py:876-927 builds 12 cuboctahedron vertices at the permutations of (±1, ±1, 0)·scale, then classifies every vertex pair by distance:

  • d == √2·scale (24 pairs) → cables. These are the cuboctahedron's real edges, and they're fine (right-hand panel above).
  • d == 2√2·scale (6 pairs) → struts. But at that distance the only pairs are the 6 antipodal ones, so every strut is a diameter. I verified all six midpoints numerically:
strut 0-9   midpoint (0.0, 0.0, 0.0)   len 50.912
strut 1-10  midpoint (0.0, 0.0, 0.0)   len 50.912
strut 2-11  midpoint (0.0, 0.0, 0.0)   len 50.912
strut 3-6   midpoint (0.0, 0.0, 0.0)   len 50.912
strut 4-7   midpoint (0.0, 0.0, 0.0)   len 50.912
strut 5-8   midpoint (0.0, 0.0, 0.0)   len 50.912

Then lines 922-926 add a hub node at exactly (0, 0, 0) and 12 more cables from it to each vertex. Since the hub sits on all six struts, each hub cable (r = 1.2 mm) lies entirely inside a strut (r = 2.5 mm). Blue speckle bleeds through the red wherever the painter's-algorithm depth sort (zsort="average" in render_extended_preview_shaded.py:81) picks the wrong face, which is most of the middle of the panel.

Three consequences

  1. Not a class-1 tensegrity. The defining property is that struts don't touch each other; here all six intersect at one point.
  2. Not printable as-is. models/stl/cuboctahedron_tessellation.stl comes from the same generator, so the six rods merge into one solid lump at the center. Nothing to pretension.
  3. 12 of the 36 cables are dead geometry (zero visible surface, no distinct load path).

This is not new breakage from the shading pass. The same model is in the original figures/tensegrity_models_extended_preview.png from fd32935; the flat-gray fill just hid it. The docstring does already hedge it as a "simplified single-block representation" of Liu et al. 2019, and the source-materials list flags that the real 13-strut / 96-cable form-finding needs the paper's supplementary material. But "simplified" understates it: the simplification removed the tensegrity.

What I'd do about it

The clean fix, without needing the Liu et al. supplement, is that the correct 12-node / 6-strut tensegrity on this vertex set is the expanded octahedron, where the struts are 6 mutually non-touching edges rather than 6 diameters. That model is already correct in this repo as six_strut_icosahedron() (models/stl/icosahedron.stl), so the honest move is probably one of:

  • (a) drop cuboctahedron_tessellation() and its STL, and note in models/README.md that the family is blocked on the Liu et al. 2019 supplementary material (already on the needed-materials list);
  • (b) keep the name but rebuild it as an actual 2x2x2 tessellation of expanded-octahedron cells with shared boundary nodes, which is a defensible approximation of the paper's tessellation idea and is a real tensegrity; or
  • (c) leave it and relabel it in the README and docstring as a cuboctahedral cable-frame diagram, not a tensegrity unit cell, so nobody prints it.

Say which and I'll implement it. My preference is (b), with (a) as the low-risk option.


  • Identify which model is bottom-right in the shaded preview
  • Read cuboctahedron_tessellation() and determine the cause
  • Verify numerically (all 6 struts concurrent at origin; hub node coincident)
  • Commit a reproducible diagnostic render
  • Fix the model (waiting on your pick of a/b/c)

Added in 52137cf: figures/cuboctahedron_tessellation_diagnostic.png and models/render_cuboctahedron_diagnostic.py. No existing model, STL, or figure was changed.
| Branch

The bottom-right panel of the shaded extended preview reads as a tangle
because all 6 struts are body diagonals that intersect at the origin,
and 12 of the 36 cables run from a hub node at the origin to each
vertex -- i.e. they are buried co-axially inside the inner half of each
strut. The 3-panel diagnostic decomposes this.

Co-authored-by: Sterling G. Baird <45469701+sgbaird@users.noreply.github.com>
@sgbaird

sgbaird commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

Liu et al. 2019, and the source-materials list flags that the real 13-strut / 96-cable form-finding needs the paper's supplementary material. But "simplified" understates it: the simplification removed the tensegrity.

@claude you should be able to access that supplementary information, if not directly, then by using the raspberry Pi that you have access to

@claude

claude Bot commented Aug 22, 2026

Copy link
Copy Markdown

Claude finished @sgbaird's task in 13m 3s —— View job


Got the supplementary data, and the model is fixed

You were right that it was reachable. No Pi needed either: the Elsevier supplement is mirrored green-OA in CaltechAUTHORS record afqa1-33315 as 1-s2.0-S0022509619300432-mmc2.zip, whose single member is Cuboctahedron tensegrity tessellation block data_V3.xls. It contains exactly what was missing: 40 nodes, 109 members (13 struts + 96 cables), the prestress force of every member, and the primitive vectors. The accepted manuscript came from the Internet Archive's capture of the Paulino group's old Princeton URL (the group moved to paulino.scholar.princeton.edu and the old paths 404 now).

Committed in a374107.

The corrected block

Left three panels are the old model, its struts, and its rim cables (same diagnostic as before). Right panel is the replacement. It matches the "Tessellation Block" thumbnail in the paper's own Table A1, and it is now a real Class-1 tensegrity: no strut touches another, and the design domain's spherical restriction zone (R_rz = 0.75) keeps the middle of the block empty, which is precisely what the old all-body-diagonals version got wrong.

The bottom-right panel of the shaded preview, which is what you asked about originally:

Checks run against the data

models/verify_liu2019_cuboctahedron.py reproduces these:

Property Table A1 Measured
Nodes N_V 40 40
Members N_B 109 109
Struts N_S 13 13
Class 1 1 (max 1 strut per periodic node group under a = 2I)
Self-balanced prestress yes max nodal residual 8.9e-14
Restriction zone R_rz 0.75 nearest member passes 1.086 from the centroid

Two things worth knowing before anyone prints it

  1. It is tight. In the paper's units the closest strut-to-strut centreline approach is 0.0516 and the closest strut-to-cable approach is 0.0392, in a cell that is only 2 units across. The paper's collision constraint forbids centrelines from crossing, not from passing near, which is fine for a continuum-mechanics study and not fine for a print. So this file gets its own radii: at scale=60 (a 120 mm cubic unit cell) it prints with 2.2 mm struts and 1.8 mm cables via a new RADIUS_OVERRIDES table, instead of the repo-wide 5 mm / 2.4 mm. Printing it at full 5 mm struts means printing it at a 194 mm cell, since the clearance scales linearly. Worth deciding deliberately rather than by default.
  2. The prestress is normalised, not physical. Every strut carries -1, so converting to TPU pre-strain still needs a cross-section and modulus choice. The numbers are exposed as cuboctahedron_tessellation_prestress() if you want to drive that.

Bonus find

While pulling the Liu record I hit scb9y-ppa15, which is the full publisher PDF of Pajunen et al. 2019, "Design and impact response of 3D-printable tensegrity-inspired structures", Mater. Design 182:107966 plus its supplementary video. That was item #2 on the needed-materials list that @me-madsen / @achris0520 / @ctrhjk were asked to chase. It is open access, so nobody needs to request it. I have not read the figures out of it, so the corresponding STL is still to do. Same trick is worth trying on the rest of the list.


  • Locate an openly accessible copy of the paper and its supplementary material
  • Extract the real tessellation geometry (nodes, connectivity, prestress)
  • Rebuild cuboctahedron_tessellation() from that data and regenerate the STL and previews
  • Add a verification script and record provenance
  • Update models/README.md (removed from the needed-materials list)
  • Commit and push

Files in a374107:

Only cuboctahedron_tessellation.stl changed; every other STL regenerates byte-identical. The raw .xls and the article PDF are not committed, only the numeric table transcribed from the spreadsheet, with attribution.
| Branch

…ed block

The old cuboctahedron_tessellation() built all 6 struts as body diagonals of
the cuboctahedron, so they met at the origin, and then added a hub node at
that same origin whose 12 cables were buried co-axially inside the struts.
It was not a tensegrity and was not printable.

Fetched the real geometry instead: the article's supplementary dataset
(1-s2.0-S0022509619300432-mmc2.zip, one .xls) is mirrored green-OA in
CaltechAUTHORS record afqa1-33315, alongside the accepted manuscript. It
contains the full Class-1 tessellation block -- 40 nodes, 13 struts, 96
cables, per-member prestress, primitive vectors 2I.

- models/data/liu2019_cuboctahedron_{nodes,members}.csv: the transcribed
  data, with provenance and licensing in models/data/README.md
- generate_stl.py: cuboctahedron_tessellation() now reads that data;
  cuboctahedron_tessellation_prestress() exposes the forces
- verify_liu2019_cuboctahedron.py: re-checks against Table A1 (counts,
  self-balance residual 8.9e-14, one strut per periodic node group,
  restriction zone clear) and measures member clearances
- RADIUS_OVERRIDES: the block's members run within 0.0392 units of each
  other, so it prints at scale 60 with 2.2 mm struts / 1.8 mm cables
- render_cuboctahedron_diagnostic.py: now a 4-panel before/after
- re-rendered the shaded extended preview (bottom-right panel)

Also noted in models/README.md that Pajunen et al. 2019 (Mater. Design
182:107966), another item on the needed-materials list, turned out to be
open access in CaltechAUTHORS record scb9y-ppa15.

Co-authored-by: Sterling G. Baird <45469701+sgbaird@users.noreply.github.com>
@sgbaird

sgbaird commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

@claude do that follow up with the other design. Make a new slide on the deck without removing other slides (and mark it as hidden) with the new figure, reusing the title and also matching the slide sizing for things as well. I guess we'll also need credits in gray font. Use et al. Journal abbrev (YYYY) or if for a patent or something else, something similar

@claude

claude Bot commented Aug 22, 2026

Copy link
Copy Markdown

Claude finished @sgbaird's task in 50m 43s —— View job


Both halves are done: the Pajunen et al. (2019) follow-up model is committed in e05d443, and the deck now has a new hidden slide 15 with the new figure, verified against the re-downloaded stored file.

1. The model: Pajunen et al. (2019) "Geometry #3" spherically-jointed impact cell

Built from the open-access publisher PDF + supplement in CaltechAUTHORS record scb9y-ppa15 (the bonus find from the cuboctahedron session). The paper gives the design rules but not coordinates, so the coordinates are form-found here and checked against every number the paper does state:

  • Topology settled by exhaustive enumeration. The 12 struts are interior chords of the truncated octahedron, and the only symmetric perfect matching that is class-1 is the sqrt(12)-chord orbit of the chiral tetrahedral rotation group (the full octahedral group admits no such matching at all, which is exactly why the paper says tessellating the cell needs "certain reflections"). The sqrt(18) alternative form-finds to struts longer than the cell (L/H = 1.04 vs the published 44.2/48.3 = 0.92) and the square-face-diagonal choice always crosses at face centers.
  • Force-density form-finding with the two cable orbits given independent densities, solved so all 36 cables come out one length, which the paper states for the printed part ("all the cables and all the struts are the same length"). Checks: strut L/H = 0.946 vs published 0.915 (3% reconstruction gap from their unspecified elastic form-finding); the sphere diameter implied by the paper's "cable lengths are maintained" rule comes out 8.95 mm vs the published 8.72 mm; Geometry Restructure MRG proposal to match grant format with Edison Scientific-informed revisions #2 member masses evaluate to 5.8 g vs the published 5.75 g.
  • Printable as published: 8.72 mm ball joints, 2.6 mm struts, 1.8 mm cables at the 72.45 mm cell height, closest strut-strut approach 10.8 mm. Unlike the Liu block, no thinned members needed; that is the point of the paper.

Files in e05d443: models/stl/pajunen_spherically_jointed.stl, models/formfind_pajunen2019.py (derivation + verification, re-checks the table embedded in models/generate_stl.py), models/render_pajunen_cell.py, and models/README.md (needed-materials entry marked resolved, new section with the validation table). All 18 pre-existing STLs regenerate byte-identical. One caveat now documented in the README: the older truncated_octahedron.stl reconstruction uses square-face diagonals as struts, which cross at face centers, so it is a topology sketch; this new file is the corrected, published-geometry member of that family and the one to print.

2. The deck slide

Added as a new slide 15, right after the existing hidden extended-preview slide, and verified by re-downloading the stored file twice (1.5+ min after each save):

  • Hidden (show="0"), confirmed in the stored XML; every other slide's hidden state untouched.
  • Title reused: duplicated from hidden slide 14, so it carries the exact "Traditional structures can be much more complex, / difficult to simulate, with many tunable geometry parameters" title, sizing and layout.
  • Figure sized to match: the render is composed on a white 16:9 canvas at the same height and position as the old figure box, inserted full-bleed and sent behind the title (the web editor has no numeric position fields, so the canvas does the exact placement).
  • Credit in gray: "Pajunen et al. Mater. Des. (2019)" at 16 pt, 50% gray (#7F7F7F), journal italic, matching the format of the existing "Pajunen et al. Extreme Mech. Lett. (2021)" credit on slide 12.
  • Speaker notes credit the figure with the full citation and DOI, per the style guide.
  • Final integrity check: 65 slides, and a shape/text/media/notes/hidden-state fingerprint of every slide matches the pre-edit deck exactly, with the one new slide inserted at position 15.

Two bumps worth disclosing, both caught by the verify-by-re-download discipline and fixed: a clipboard copy of the credit box briefly pasted a full duplicate of slide 12 (deleted after an identity check; the fingerprint diff above confirms nothing else moved), and the font-color split button first applied red before the gray landed (re-verified as #7F7F7F in the stored file).

  • Gather context (paper record, existing model code, deck-access recipe)
  • Read Pajunen et al. 2019 geometry (main PDF + supplementary)
  • Build the faithful impact-cell model + STL (form-found, class-1 verified)
  • Render a new figure in the shaded no-text style
  • Update models/README.md and commit/push (e05d443)
  • Plan pass on the deck (read-only download + slide inventory)
  • Add the new hidden slide: reused title, matched sizing, new figure, gray credit
  • Verify persistence by re-downloading the stored deck (twice)
    | Branch

Form-found from the open-access paper (CaltechAUTHORS scb9y-ppa15):
24 nodes / 12 struts / 36 cables, class-1, with the published 8.72 mm
ball joints, 2.6 mm struts, 1.8 mm cables at the 72.45 mm cell height.
Strut topology established by exhaustive symmetric-matching enumeration
(unique class-1 orbit under the chiral tetrahedral group); coordinates
derived by force-density form-finding with all 36 cables equalized to
one length, as the paper states for the printed design. Derivation and
verification in models/formfind_pajunen2019.py; shaded render added.

Co-authored-by: Sterling G. Baird <45469701+sgbaird@users.noreply.github.com>

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fetch actual designs/models for various existing tensegrity structures

6 participants