- Home

- Forums

- Programming

- Development

-

- Articles

- Tutorials

- Snippets

- Synapse Engine

- 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.

 - About Brokendust - I am a computer science major with a minor in mathematics. My interests include programming, 3d Design and application development. I document everything I do and write articles explaining things both as a way to remember what I have learned before and as way to show others how to accomplish things. I do not post tutorials that do not live up to my expectations. Each article is toughly revised to be quality work.

- Current Projects -

3D MGR