CLUViz Geometric Algebra Animation Software

From Derek
Revision as of 17:12, 5 August 2013 by A1210435 (Talk | contribs)

Jump to: navigation, search

CLUViz Explanation

The main sphere of the 3D-Rotation Animation, demonstrating that the initial and final message vectors are equal when Alice's Rotation Axis crosses over with Bob's.

As a part of our project, we've developed a series of images and animations using CLUViz to visually demonstrate how an encryption system based on rotations in 3-dimensions works in accordance with the Double-Padlock Protocol. CLUViz is a freely available software tool for 3D visualizations and scientific calculations that was conceived and written by Dr. Christian Perwass. CLUCalc interprets a script language called ‘CLUScript’, which has been designed to make mathematical calculations and visualisations very intuitive.

Follow the link http://www.clucalc.info/ for more information regarding CLUCalc and http://www.raytrix.de/tl_files/downloads/CLUVizSetup.exe to download the software.

3D Rotations

The animation shows a 3-dimensional sphere in 3D Euclidean Space, with the associated based vectors e1, e2 and e3 outlined in white. As demonstrated by the analytical proof of commuting rotations in 3-dimensions in the Semester A Progress Report (Provide Link...), the initial and final message vectors m and m' will only be the same if Alice's Rotation Axis and Bob's Rotation Axis are parallel or either of their Rotation Angle's are equal to 0 degrees. As such, the animation displays the initial and final message vectors and all intermediate message vectors as a result of the rotations by both Alice and Bob.

Sliders

Sliders at the bottom of the visualisation allow the user to interact with the module and change various elements to gain a better understanding of how it works.

  • Two sliders are used to alter the e1 and e2 elements of the initial message vector m, with the e3 element being automatically set to the highest value that ensures that m isn't greater than a unit vector in length.
  • Two sliders are used to alter the rotation angle of Alice and Bob between 0 and 360 degrees. Naturally the initial rotation of each is considered to be a clockwise rotation, while the second is counter-clockwise.
  • The final slider is used to alter the rotation speed of Alice's Rotation Axis to 1 of 8 different speeds. An option is also provided to halt the animation at any stage, allowing the user to take a closer look.

As mentioned, the animation is conducted through the movement of a single element- that being Alice's Rotation Axis. This movement, allows the user to accurately determine how the difference between the initial and final message vectors alters with the difference between Alice's and Bob's Rotation Axis. As you can see, at the exact point where Alice's Rotation Axis crosses over with Bob's Rotation Axis, the initial message vector crosses over with the final message vector, hence indicating that the four rotations commute. This is further demonstrated via the support diagrams shown to the sides of the main animation.

Support Diagrams

Four support diagrams are used in order to assist those less familiar with the underlying concepts with understanding the process.

  • Two support diagrams are used to depict the user chosen rotation angle for both Alice and Bob as a disk.
  • Another support diagram is used to display the angle difference between Alice's and Bob's Rotation Axes on the plane in which they both reside.
  • Another support diagram is used to display the angle difference between the initial and final message vectors on the plane in which they both reside.

As mentioned previously there are three situations in which the initial message vector will equal the final message vector and each of these are successfully represented by these support diagrams. As such, each of these support diagrams complement each other in providing a clear visual depiction of the commuting rotations. In the case of one of the rotation angles being equal to 0 degrees, you will see the initial message vector m equal the final message vector m'. Also, when Alice's Rotation Axis crosses over with Bob's Rotation Axis and hence the angle between them equals 0 degrees, we will see from the other support diagram that the two message vectors m and m' are also equal.

These second two support diagrams complement each other in providing a clear visual depiction of the commuting rotations.

Current Code

The updated version of the code is included below: Media:3DAnimation.tex

(Comments: Wiki page won't allow the code as a .zip or as a .clu, might need to add to a file sharing website and then provide a link on the wiki and include some code segments on the page- e.g. declaring the rotation axis/rotors and how the rotations/arcs/arrows are done. Also, in regard to exporting the animation as a .gif, I used the screen capture software Camtasia Studio, and captured just the center sphere- the same as the image above- and then through the program exported the footage into a .gif, however this left artifacts over the image which I couldn't fix. Also tried exporting as .mp4 and then converting to .gif file, however this resulted in the .gif being ~60MB which is far to big.

Also - create instructions for the use of the program, so that if someone downloads CLUViz and my program from the link, they can run it and then use the sliders to operate it. In extensions, add what we discussed in the Friday 2/8/13 meeting in regards to 3D (mouse control etc.))

Possible Extensions

4D Rotations

Hypercube

As initially outlined in the project description, it would be handy to have some animations written for the pure purpose of helping viewers in visualising 4-dimensions. As such, through the use of http://eusebeia.dyndns.org/4d/vis/11-interp-2 and various other sources (listed in the References at the bottom of this page), a Hypercube has also been designed.


See also