如何用matlab绘制三角网格地形图

如何用matlab绘制三角网格地形图,第1张

如果你有大量的三维坐标点,也就是有n组 (x,y,z)数据 也就是数你有一个nx3的矩阵,或者三个长度为n的数组分别存放对应的x,y,z坐标 由于数据点是散点,不是规则的网格,所以不能用常规的正方网格画图 这时候可以用三角网格画图 首先根据数据,...

OpenGL

是一个制图的接口,

不是生成模型的接口,

一般是由你向

OpenGL

提供网格数据,

OpenGL

负责绘制的

具体的模型网格的生成一般是行用

3D

建模软件

(3DS

Max,

Maya

...)

制好模型,

然后使用

(或者自己写一个)

导出插件,

将顶点数据导出生成模型网格数据,

然后再将这些数据提供给

OpenGL

#include <GL/glut.h>

#include <stdlib.h>

#include <stdio.h>

static float roangles

void init(void)

{

   glClearColor (0.0, 0.0, 0.0, 0.0)

   glPolygonMode(GL_FRONT_AND_BACK, GL_LINE)

   glEnable(GL_DEPTH_TEST)

}

void display(void)

{

   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)

   glPushMatrix()

   glRotatef( roangles, 0.0, 1.0, 0.0 )

   glBegin(GL_TRIANGLES)

   glVertex3f(1.0, 0.0, 0.0)

   glVertex3f(0.0, 1.0, 0.0)

   glVertex3f(0.0, 0.0, 1.0)

   glVertex3f(0.0, 0.0, 0.0)

   glVertex3f(0.0, 1.0, 0.0)

   glVertex3f(1.0, 0.0, 0.0)

   glVertex3f(0.0, 0.0, 0.0)

   glVertex3f(0.0, 0.0, 1.0)

   glVertex3f(0.0, 1.0, 0.0)

   glVertex3f(0.0, 0.0, 0.0)

   glVertex3f(0.0, 0.0, 1.0)

   glVertex3f(1.0, 0.0, 0.0)

   glEnd()

   glPopMatrix()

   glFlush()

}

void reshape(int w, int h)

{

   glViewport(0, 0, (GLsizei) w, (GLsizei) h)

   glMatrixMode(GL_PROJECTION)

   glLoadIdentity()

   gluPerspective(60.0, (GLfloat) w/(GLfloat) h, 1.0, 30.0)

   glMatrixMode(GL_MODELVIEW)

   glLoadIdentity()

   glTranslatef(0.0, 0.0, -3.6)

   glRotatef( 45, 1.0, 0.0, 0.0 )

}

void idle()

{

roangles += 0.01f

glutPostRedisplay()

}

/* ARGSUSED1 */

void keyboard(unsigned char key, int x, int y)

{

   switch (key) {

      case 27:

         exit(0)

         break

   }

}

int main(int argc, char** argv)

{

   glutInit(&argc, argv)

   glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)

   glutInitWindowSize(250, 250)

   glutInitWindowPosition(100, 100)

   glutCreateWindow(argv[0])

   glutIdleFunc( idle )

   init()

   glutReshapeFunc(reshape)

   glutDisplayFunc(display)

   glutKeyboardFunc (keyboard)

   glutMainLoop()

   return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11212013.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存