| - Home - Forums - Projects - Articles - Snippets |
- 3D Mathematical Graph Representation - This projects purpose is to mathematically represent graph theory in 3 dimensions. The project is written in C++ and uses the DirectX API for graphics. The goal is to create and represent graphs in 3D and manipulating the vertices, edges and data members. Below is the list of classes included in the project.
• Vertex.cpp • Edge.cpp • Graph.cpp
The Graph class is the driving class of the Vertex and Edge classes. The Graph is responsible for rendering, manipulating and updating the graph. The Graph class uses a linked vertex structure to hold the vertex information in an association list. The values A - D are represented as individual vertices. The Vertex class holds the edges of a given vertex in a linked adjacency list. Below is an illustration of how this is created.
The list above shows the vertices of the graph as well as their relationships. The list above indicates that there are 4 vertices. Vertex 'A' has a directed connection to vertex 'B' because the adjacency is listed in vertex 'A' but is not listed in vertex 'B'. The graph has a total of 4 directed edges.
The graph is represented by white spheres that represent the vertices of the graph and blue lines which represent the edges of the graph. Below shows a screenshot of a predefined graph with 4 vertices.
- The render looks as if the points are drawn in 2D space due to the fact that there is no image reference points to judge against
The graph is drawn with the transformation of the vertices to the correct locations, then connecting the vertices with the correct edges at the 3D space coordinates of the vertices. The graph contains 5 vertices and 4 edges.
Future Development: The next steps in this project is to let a user dynamically design and manipulate a graph.
|
- Current Projects - 3D MGR
|
|||||