ELEC2645 (2018/19) / Mbed 2 deprecated el17cd

Dependencies:   mbed

Revision:
6:75031d14fc0d
Parent:
5:54d3b36fec2c
Child:
7:15543cb10a14
diff -r 54d3b36fec2c -r 75031d14fc0d Cube/Cube.cpp
--- a/Cube/Cube.cpp	Fri Feb 22 19:15:50 2019 +0000
+++ b/Cube/Cube.cpp	Sat Feb 23 16:19:29 2019 +0000
@@ -37,8 +37,30 @@
 void Cube::rotateX(float angle){
     for( int i = 0; i<12; i++){
         float hyp = sqrt(pow(verticies[i][0],2) + pow(verticies[i][1], 2));
-        verticies[i][0] += hyp*cos(angle);
-        verticies[i][1] += hyp*sin(angle);
+        verticies[i][0] = verticies[i][0]*cos(angle)-verticies[i][2]*sin(angle);
+        verticies[i][2] = verticies[i][2]*cos(angle)+verticies[i][0]*sin(angle);
+    }
+    float f0Points[4][3] = {{verticies[0][0], verticies[0][1], verticies[0][2]}, {verticies[1][0], verticies[1][1], verticies[1][2]}, {verticies[2][0], verticies[2][1], verticies[2][2]}, {verticies[3][0], verticies[3][1], verticies[3][2]}};
+    float f1Points[4][3] = {{verticies[0][0], verticies[0][1], verticies[0][2]}, {verticies[1][0], verticies[1][1], verticies[1][2]}, {verticies[5][0], verticies[5][1], verticies[5][2]}, {verticies[4][0], verticies[4][1], verticies[4][2]}};
+    float f2Points[4][3] = {{verticies[1][0], verticies[1][1], verticies[1][2]}, {verticies[2][0], verticies[2][1], verticies[2][2]}, {verticies[6][0], verticies[6][1], verticies[6][2]}, {verticies[5][0], verticies[5][1], verticies[5][2]}};
+    float f3Points[4][3] = {{verticies[3][0], verticies[3][1], verticies[3][2]}, {verticies[2][0], verticies[2][1], verticies[2][2]}, {verticies[6][0], verticies[6][1], verticies[6][2]}, {verticies[7][0], verticies[7][1], verticies[7][2]}};
+    float f4Points[4][3] = {{verticies[0][0], verticies[0][1], verticies[0][2]}, {verticies[3][0], verticies[3][1], verticies[3][2]}, {verticies[7][0], verticies[7][1], verticies[7][2]}, {verticies[4][0], verticies[4][1], verticies[4][2]}};
+    float f5Points[4][3] = {{verticies[4][0], verticies[4][1], verticies[4][2]}, {verticies[5][0], verticies[5][1], verticies[5][2]}, {verticies[6][0], verticies[6][1], verticies[6][2]}, {verticies[7][0], verticies[7][1], verticies[7][2]}};
+    faces[0].setVerticies(f0Points);
+    faces[1].setVerticies(f1Points);
+    faces[2].setVerticies(f2Points);
+    faces[3].setVerticies(f3Points);
+    faces[4].setVerticies(f4Points);
+    faces[5].setVerticies(f5Points);
+}
+
+
+void Cube::translate(float x, float y, float z){
+    for( int i = 0; i<12; i++){
+        float hyp = sqrt(pow(verticies[i][0],2) + pow(verticies[i][1], 2));
+        verticies[i][0] += x;
+        verticies[i][1] += y;
+        verticies[i][2] += z;
     }
     float f0Points[4][3] = {{verticies[0][0], verticies[0][1], verticies[0][2]}, {verticies[1][0], verticies[1][1], verticies[1][2]}, {verticies[2][0], verticies[2][1], verticies[2][2]}, {verticies[3][0], verticies[3][1], verticies[3][2]}};
     float f1Points[4][3] = {{verticies[0][0], verticies[0][1], verticies[0][2]}, {verticies[1][0], verticies[1][1], verticies[1][2]}, {verticies[5][0], verticies[5][1], verticies[5][2]}, {verticies[4][0], verticies[4][1], verticies[4][2]}};