How to? Rotate multiple shapes simultaneously on different axes
Good afternoon!

I am working on various ways to twist and squish a Seirpinski Tetrahedron.

[Image: bUAsrtz]

Background: 1st iteration of Sierpinski Tetrahedron, with four axes drawn from the center of the figure through the smaller tetrahedra. 

Foreground: Each tetrahedron has been rotated 50 degrees counter-clockwise on its axis, and then slid along that axis towards the center until they just touch.

I want to give a proper IFS treatment of this arrangement using different angles. The problem is, I don't want to have to tweak all four of the smaller holons separately every time I want to make a small change. Is there a way to adjust all four copies at once? That is, so that turning one turns them all on their own different axes. 

One way I am picturing it is to start with a tetrahedron constructor, then add a holon that scales it, moves it, and rotates it move and rotate it along the z axis. But then we want three more copies with the same rotation and distance from the center, each at a tetrahedral angle (~109 degrees) from the first one. 

But again, (here's the catch) how do we get the three copies to follow the first one when it's moved, so the whole arrangement is easy to tweak.

Is there a way to build such a thing?

Chris Jones
Eagle River, Alaska
Hi Chris,

as you want to work with a pure IFS, adding anything else would only complicate matters and not achieve what you want.
There is an easy way to do this, using animation.
In the Animation tab page, store the initial Sierpinski Tetrahedron in the first memory spot.
Make the large changes to each of the holons, to create what would be the final keyframe in the animation, and store that in the next spot. Then you can adjust the number of steps between the frames, and preview the animation to see how it changes, and adjust the time between frames to suit.
When you're happy with it, you can create the batch, which saves separate .xep files for each frame. You can then open them individually to play with them, or do a batch render.
Okay, I started with a Seripinski Tetrahedron with the following values for Position:

     Holon 1: 45, 45, 45

     Holon 2: 45, -45, -45

     Holon 3: -45, 45, -45

     Holon 4: -45, -45, 45

I figured that would make the rotation easier. 

I thought that for an angle R the rotation would then be:

     Holon 1: R/sqrt(3), R/sqrt(3), R/sqrt(3)

     Holon 2: R/sqrt(3), - R/sqrt(3), - R/sqrt(3)

     Holon 3: - R/sqrt(3), R/sqrt(3), - R/sqrt(3)

     Holon 4: - R/sqrt(3), - R/sqrt(3), R/sqrt(3)

But that was not right, apparently. Here's what I got when I tried R=60: 

[Image: f2ML2kt]

It looks like it's angling out of its axis in places where it should stay in line. I'm not sure where I went wrong. Here is the Xep:

.xep   Attempt 2.xep (Size: 3.35 KB / Downloads: 5)
It looks to me like you've actually got it right; it's just that the results are not what you might expect. You can see the symmetry from some angles that looks correct. I think the reason it appears squashed from some angles is that the positions aren't a purely equilateral tetrahedron, and that breaks tetrahedral symmetry. The other point to remember is that the origin doesn't matter when there are no rotations, but when there are, the result is not invariant for translation.

Also, the standard scale for the tetrahedron is 50 to avoid overlaps, but with rotations it needs to be increased. The ideal scale keeps it connected but minimizes overlapping.

Holon rotations use XYZ order, which as you know is not convenient for setting some angles, or for rotating about an arbitrary axis. In future I have in mind a tool to make this easier.

Forum Jump: