请问如何在opengl 中绘制 双叶双曲面?

我想请分析下,请问如何在opengl 中绘制 双叶双曲面?
最新回答
﹏澈

2025-02-25 04:02:09

可以在一片区域内把双叶双曲面的一叶当做z=f(x,y)这样的函数,然后将那片区域划分为网格(最好间隔为1),再计算z=f(x,y)在网格上各个点的值,这样就得到关于网格的所有的三维点的坐标(x,y,f(xy)),存到一个二维数组中,比如a[n][n],这个二维数组下标对应x和y,元素值对应f(x,y),然后用OpenGL不断地根据相邻四个点绘制四边形大概是这样
for(x=0;x<n,x++)
for(y=0;y<n;y++)
{
glBegin(GL_QUADS);
glVertex3f(x,y,a[x][y]);
glVertex3f(x+1,y,a[x+1][y]);
glVertex3f(x+1,y+1,a[x+1][y+1]);
glVertex3f(x,y+1,a[x][y+1]);
glEnd();
}
另外一叶曲面只要把上面的z值取反就行。
我也是初学者,这是我现在知道的比较简单的方法,不过好像效率不是很高,网格分太细的话比较慢。