radius

bar

A'

Initial position (right prism)

Tense

B'

C'

This is one of the simpler tensegrities.
Part of a right prism whose bases 
are equilateral triangles.

In its lateral edges we place 
bars and in the rest cables.

When tensioning the cables, tensegrity 
is reached when one of the bases 
rotates exactly 150º with respect to the other.

n = 10 (slider from 10 to 10^(6))
radio = 3 (slider from 1 to 5, step 0.1)
O: (0, 0, 0)
c = Circle(O, radio, zAxis)
A = Point(c)
B = Rotate(A, 120°, O)
C = Rotate(A, -120°, O)
barra = 8 (slider from 1 to 15, step 0.1)
b, d, e = Cylinder(c, 30)
A' = PointIn(e)
B' = Rotate(A', 120°, zAxis)
C' = Rotate(A', -120°, zAxis)
tendonesTriángulos: {Segment[A, B], Segment[B, C], Segment[C, A], Segment[A', B'], Segment[B', C'], Segment[C', A']}
ajustaBarra: Vector[A', A] - (barra * UnitVector[Vector[A', A]])
anima = 47.1 (slider from 0 to 100, step 0.1)
tendonesLaterales: {Segment[A, C'], Segment[B, A'], Segment[C, B']}
k: 1 / n
barras: {Segment[A, A'], Segment[B, B'], Segment[C, C']}
A'': (x(A'), y(A'), 0)
α = Angle(A, O, A'')
l1: {Segment[O, A''], Segment[O, A]}
B'': (x(B'), y(B'), 0)
C'': (x(C'), y(C'), 0)
l2: {Segment[A, A''], Segment[B, B''], Segment[C, C'']}
vA': Vector[A', B] / 3
vB': Vector[B', C] / 3
vC': Vector[C', A] / 3
l3: {Segment[A'', B''], Segment[B'', C''], Segment[C'', A'']}