使用OpenGL画三维图形,坐标系问题以及结点标注问题

chaoyueziwo201508 2017-05-16 03:24:25
使用OpenGL的gluCylinder (GLUquadric*qobj, GLdouble baseRadius, GLdouble topRadius, GLdouble height, GLint slices, GLint stacks)绘制的圆柱体,怎么样根据slices标记结点号?怎么样让坐标轴绕着某一个点旋转?怎么样使物体平移跟随屏幕而非坐标轴?
...全文
1478 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaoyueziwo201508 2017-05-17
  • 打赏
  • 举报
回复
glClearColor(1.0f,1.0f,1.0f,1.0f); glClearStencil(1); //使能模板缓冲区 glEnable(GL_STENCIL_TEST); //把整个窗口清理为当前清理颜色:黑色。清除深度缓冲区、模板缓冲区 glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT); //清除颜色缓冲区和深度缓冲区 // glViewport(200,-100,1000,1000); glLineWidth(2.0); glColor3f(0.0, 0.0, 1.0); gluQuadricDrawStyle(cylinder_obj, GLU_LINE); const GLfloat Pi = 3.1415926536f; glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); if (d > 1) { glTranslatef(0.01,0.0,0.0); gluCylinder(cylinder_obj, b/300, a/300,c/150, e, d - 1); } else if ( d == 1) { glTranslatef(0.01,0.0,0.0); glBegin(GL_LINE_LOOP); //用线进行图形连接 for( int i=0;i<e;i++) { glVertex2f(0.7*cos(2*i*Pi/e)/2,0.7*sin(2*i*Pi/e)/2); } glEnd(); } glFinish(); SwapBuffers(wglGetCurrentDC()); 这是我写的右移的代码。但是有时候右移有时候斜着移,各位大神帮忙看看怎么样才能实现右移是在屏幕上移动不受坐标轴的影响啊?
chaoyueziwo201508 2017-05-16
  • 打赏
  • 举报
回复
快来帮帮忙啊,急急急。

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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