c++ - 如何从顶点创建图形?

标签 c++ opengl graph

我有一个连接顶点的列表。

我的问题是如何创建和存储表示此列表的图表?

例如

5
2 4 5
1 3 4
2 4 5
1 2 3 5
1 3 4

1 连接到 2、4、5

2 -> 1, 3, 4

等等..

这是 2 个(相同的)表示。 enter image description here

我的第二个问题是如何获得该图的所有表示形式(在这张图片中我展示了 2 个,它们是相同的) 对于一个顶点列表只存在一个图形表示?如果更多,如何获得所有这些?

在图像中它们是相同的,不同的图纸。

最佳答案

5 means how many lines
1 > 2, 4, 5
2 > 1, 3, 4
3 > 2, 4, 5
4 > 1, 2, 3, 5
5 > 1, 3, 4

(我很傻,所以我需要在记事本中输入)。

#include <stdio.h>

class Cl_Graph;
class Cl_Chain;

class Cl_Vertex
{
friend Cl_Graph;
private:
    Cl_Chain* mp_linkedTo;
    Cl_Vertex();
    void f_addLink(Cl_Vertex* in_link);
};

Cl_Vertex::Cl_Vertex()
{
    mp_linkedTo= NULL;
}

class Cl_Graph
{
private:
    int m_size;
    Cl_Vertex* pm_vertexTable;
public:
    Cl_Graph(int in_size);
    void f_addLink(int in_index, int in_linkWith);
};

Cl_Graph::Cl_Graph(int in_size)
{
    pm_vertexTable= new Cl_Vertex[m_size= in_size];
}

void Cl_Graph::f_addLink(int in_index, int in_linkWith)
{
    if (in_index< m_size && in_linkWith< m_size)
    {
        pm_vertexTable[in_index].f_addLink(pm_vertexTable[in_linkWith]);
    }
}

int main(int argc, char** argv)
{
    Cl_Graph graph(5);
    graph.f_addLink(1, 2);
    graph.f_addLink(1, 4);
    graph.f_addLink(1, 5);
    // ...
    return 0;
}

你可以从这样的事情开始。您甚至可以键入一个函数,该函数将获得一连串的顶点作为参数添加到图形中,而不是数组,它可以有一连串的链接链 :p 祝你好运!

关于c++ - 如何从顶点创建图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29225740/

相关文章:

C# ASCII GetBytes如何设置使用哪个字符进行无法识别的转换?

c++ - 读取套接字 : EAGAIN: Resource temporarily unavailable

c++ - OpenGL:如何缩放并将其位置(X,Y)保持在之前的位置

java - LibGDX:渲染基于可缩放 vector 的形状的最快方法是什么?

java - Java 中二叉树/图的深度优先搜索

c++ - QLineEdit 在他的 parent 之前销毁

c++ - 当它只有 4 个字节时,float 怎么可能容纳 3.4E38 这样大的数字呢?

c++ - 独立关闭多个 GLUT 窗口

java - 给定 2 个坐标,判断一个人要去哪个方向(左/右)

android - 使用 achartEngine 卡在移动图中