For this project I wanted to use three 3-dimentional vectors, which represent the three corners of a triangle in 3D space. I wanted to be able to transform these vectors on the Basys3 using matrix multiplication and speed things up a lot by doing those operations in parallel. The transformations I chose to apply to these vectors were scaling, translation in the X direction, translation in the Y direction, and translation in the Z direction. With more time, more transformations could have been added such as rotation, shearing, and reflection.

Here is an idea of how these transformations are done:


S is the number that the vectors will be scaled by.


X, Y, and Z are the amount the vectors will be translated in each direction.


[A D G]T, [B E H]T, and [C F I]T are the three vectors to be transformed.


The matrix on the right hand side of the equals sign is the translated matrix that results after the multiplication is preformed


As you can see this transformation takes a total of 9 multiplications and if we were to add more kinds of transformations it would take 27+ multiplications. This program will be able to all of these multiplications in parallel. This means the same principle would be applied much larger matrices and the time to do the calculations would be the same.


If you'd like to see the full project documentation click here.


Also click here for all of the code used in the this project.