/// <summary> /// Loads a pyramid for drawing. /// </summary> private void LoadPyramid() { const int low = 100; const int medium = 200; const int heigh = 300; var v1 = new Vertex(low, 0, low); var v2 = new Vertex(heigh, 0, low); var v3 = new Vertex(low, 0, heigh); var v4 = new Vertex(heigh, 0, heigh); var v5 = new Vertex(medium, medium, medium); var t1 = new Triangle(v1, v2, v5); var t2 = new Triangle(v1, v3, v5); var t3 = new Triangle(v2, v4, v5); var t4 = new Triangle(v3, v4, v5); _pyramidTriangles.Add(t1); _pyramidTriangles.Add(t2); _pyramidTriangles.Add(t3); _pyramidTriangles.Add(t4); }
/// <summary> /// Converts a vertex into a 4-hight, 1-width matrix. /// </summary> /// <param name="vertex">The vertex to convert</param> /// <returns>A Matrix[4, 1] version of the vertex.</returns> public static Matrix VertexToMatrix(Vertex vertex) { var matrix = new Matrix(4, 1); matrix[0, 0] = vertex.X; matrix[1, 0] = vertex.Y; matrix[2, 0] = vertex.Z; matrix[3, 0] = vertex.W; return matrix; }