Skip to content

elastic-interval/tensegrity-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,253 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tensegrity Lab

Tensegrity Lab is for efficiently exploring spatial structures based on pure pairwise push and pull forces using the Rust stack.

To get a quick idea of what kind of things can be designed and experimented with, take a moment to view this movie made from a screen recording:

tommy

Play the video!

This is a continuation of the PretensT Project about building both software and real-world tensegrity structures.

The goals of this project are:

  • have a fast implementation of Elastic Interval Geometry, both native and web
  • design tensegrity by melting tensegrity modules or "bricks" together, using a Rust-embedded DSL (previously Tenscript)
  • facilitate the building of designed structures with real materials
  • construct a Darwinian evolution of competing tensegrities with arbitrary fitness function

Two Versions

There are two different versions which are maintained in parallel, the web version and the native version.

  1. The native version is minimal, specifically made for designing tensegrities using the Rust DSL. Structures are defined programmatically in Rust and compiled directly into the binary. This provides type safety and better tooling than the older script-based approach.
  2. The web version allows for selecting from the existing designs and is intended to facilitate building the physical tensegrity structures. When you click on the structure, you select a joint, and then you can select one of its adjacent intervals. The details about the interval appear above so you can construct a real world tensegrity. Scale can be calibrated easily.

None of this is really documented well enough yet that it is easy for beginners. You kind of have to want to dig in.

If you want to know more, please contact pretenst@gmail.com.

Running Tensegrity Lab

First you will need Rust installed, and your copy of the source code.

  1. install rust
  2. clone the repository
  3. move into the tensegrity-lab directory

To run the web version:

  1. install trunk

  2. command:

    trunk serve

To run the native version:

  1. command:

    cargo run -- --fabric "Halo by Crane"

To prepare a distribution for in a subdirectory /lab/

  1. command:

    trunk build --release --public-url /lab

About

Tensegrity Lab is for efficiently exploring spatial structures based on pure pairwise push and pull forces using Rust Language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors