很急呀!请各位大虾指点一下菜鸟,关于用OpenGL生成曲面?谢谢!

piaoxian 2004-04-18 09:12:13
我在一个a[512,512}数组中生成高度值,这个数组相当于一个512*512的
平面,也就是三维空间中一点的坐标为(i,j,a[i,j])表示,如何根据这些
坐标值画出曲面呀,用三角片的连接怎么做呀,请各位大虾指点,谢谢!
...全文
69 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingfengji 2004-05-05
  • 打赏
  • 举报
回复
看看书,很多的例子,<opengl编程实例学习教程> <opengl实用技术与开发>
bobseadream 2004-05-02
  • 打赏
  • 举报
回复
如果是搞研究的,建议学学MATLAB,里面的图象处理也很强大,特别是在画曲面和三维空间时。
piaoxian 2004-05-02
  • 打赏
  • 举报
回复
谢谢大家
fyjin99 2004-04-19
  • 打赏
  • 举报
回复
看到里的下面一帖,看来你是真的急坏了.我给个不太好的算法吧:
glBegin(GL_TRIANGLES);
for ( i = 0; i < 512 - 1; i ++)
for (j = 0; j< 512 - 1;j++)
{
glNormal3f(x, y, z);//需要自己求
glVertex3f((float) i * 512, (float) j, (float) a[i, j]);
glVertex3f((float) (i * 512 + 1), (float) j, (float) a[i+1, j]);
glVertex3f((float) i * 512, (float) (j+1), (float) a[i, j + 1]);

glNormal3f(x,y,z);//需要自己求
glVertex3f((float) (i * 512 + 1), (float) j, (float) a[i+1, j]);
glVertex3f((float) i * 512, (float) (j+1), (float) a[i, j + 1]);
glVertex3f((float) (i* 512 +1), (float) (j+1), (float) a[i+1, j+1]);
}

glEnd();

//如果你要看出效果的话需要配合光照以及加上法线


fyjin99 2004-04-19
  • 打赏
  • 举报
回复
太简单了,随便找一本书就有。
zzwu 2004-04-19
  • 打赏
  • 举报
回复
看一看下面的贴:

http://expert.csdn.net/Expert/topic/2930/2930184.xml?temp=.450741

不知道会不会对你有所帮助?
hell190109 2004-04-18
  • 打赏
  • 举报
回复
关注
wlpwind 2004-04-18
  • 打赏
  • 举报
回复
有现成的方法,我想这种东西自己看书更快一些。
uuq 2004-04-18
  • 打赏
  • 举报
回复
其怪。你到底看了曲线和曲面绘制那一节没有。

4,446

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧