试图在openGL中绘制3D线图

时间:2012-03-03 21:53:06

标签: opengl graphics 3d

我在x和y轴上有一条2D正弦曲线,我想把它变成3D。我希望最终结果看起来像this。我想我是通过围绕y轴旋转曲线的顶点并以某种方式将它们连接在一起来实现的。有没有人对如何去做有任何建议?

2 个答案:

答案 0 :(得分:2)

您可以使用距中心而不是x位置的距离作为正弦函数的输入。像这样:

z = sin (sqrt ((x * x) + (y * y)));

然后你可以越过x和y轴,插入值,并在值之间画线,如下所示:

glBegin (GL_LINES);
for (x = xmin; x <= xmax; x++)
{
    for (y = ymin; y <= ymax; y++)
    {
        z = sin (sqrt ((x*x) + (y*y)));
        glVertex3f (x, y, z);
    }
}
glEnd ();

答案 1 :(得分:1)

Wikibooks上的OpenGL编程书有scientific arc,展示了如何使用现代OpenGL在2D和3D中绘制函数。听起来the fourth part可能是您感兴趣的内容。

基本上,要绘制的函数在NxN点中进行评估,结果保存到纹理中,然后在顶点着色器中用作Z坐标。