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