opengl三维绘图

问题1:我使用auxsolidcylinder绘制圆柱实体,但画出来的是一个圆柱二次曲面,请问是怎么回事?换成auxsolidcone也是一个曲面,不是实体
问题2:绘制出的三维实体有时无法显示,通过glTranslated()指令移动坐标可以显示,请问为什么,该向哪个方向移动多少呢?
谢谢您的回答,
对于第一个问题,auxsolidcylinder不是说建模是实心的意思吗?如果是曲面,那么和二次曲面函数 gluCylinder画出的图有什么区别呢?
如果用auxsolidcylinder绘制像实体,也和glucylinder()一样在圆柱曲面两端分别画两个圆盘吗?还是怎样实现?
在OpenGL的View视图中,向里是Z轴正方向,用glucylinder()和auxsolidcone()绘制时方向是对的,截面是圆形;但用auxsolidcylinder绘制圆柱时,怎么看到Y轴变成圆柱高度方向呢?也就是看到的截面不是圆而是矩形

问题1。使用auxsolidcylinder和auxsolidcone绘制的是曲面,solid表示的就是曲面,如果是wire就是由曲线构成。同样也可以使用glut函数绘制。
所谓的实体只是完全封闭的曲面,如果用uxsolidcylinder函数画图,你可以自己绘制封闭的面,使他看起来像实体。

问题2。glTranslated()向z轴负方向移动。因为屏幕相当于坐标轴原点,向负方向移动的话,物体就会离你远去,相当于把物体放在你眼前,如果向z轴正方向移动,就相当于向眼睛后面移动,看不到了。移动多少取决于你用gluPerspective函数中的参数zNear和zFar,移动的绝对值要在这两个值之间。当然,移动越远,图像看起来就越小,和视线是一个道理。
----------------------------------------------------------
auxsolidcylinder和glucylinder不是同一个库里的函数,画出的图形不一样。auxsolidcylinder在glaux.h中,是微软添加的辅助绘图库,而glu开头的函数在glu.h中,是opengl的标准库,所以他们画出的图形不同很正常。
温馨提示:答案为网友推荐,仅供参考
相似回答