opengl三维绘图
问题1:我使用auxsolidcylinder绘制圆柱实体,但画出来的是一个圆柱二次曲面,请问是怎么回事?换成auxsolidcone也是一个曲面,不是实体问题2:绘制出...
问题1:我使用auxsolidcylinder绘制圆柱实体,但画出来的是一个圆柱二次曲面,请问是怎么回事?换成auxsolidcone也是一个曲面,不是实体
问题2:绘制出的三维实体有时无法显示,通过glTranslated()指令移动坐标可以显示,请问为什么,该向哪个方向移动多少呢? 展开
问题2:绘制出的三维实体有时无法显示,通过glTranslated()指令移动坐标可以显示,请问为什么,该向哪个方向移动多少呢? 展开
1个回答
2013-11-25
展开全部
问题1。使用auxsolidcylinder和auxsolidcone绘制的是曲面,solid表示的就是曲面,如果是wire就是由曲线构成。同样也可以使用glut函数绘制。
所谓的实体只是完全封闭的曲面,如果用uxsolidcylinder函数画图,你可以自己绘制封闭的面,使他看起来像实体。
问题2。glTranslated()向z轴负方向移动。因为屏幕相当于坐标轴原点,向负方向移动的话,物体就会离你远去,相当于把物体放在你眼前,如果向z轴正方向移动,就相当于向眼睛后面移动,看不到了。移动多少取决于你用gluPerspective函数中的参数zNear和zFar,移动的绝对值要在这两个值之间。当然,移动越远,图像看起来就越小,和视线是一个道理。
----------------------------------------------------------
auxsolidcylinder和glucylinder不是同一个库里的函数,画出的图形不一样。auxsolidcylinder在glaux.h中,是微软添加的辅助绘图库,而glu开头的函数在glu.h中,是opengl的标准库,所以他们画出的图形不同很正常。
所谓的实体只是完全封闭的曲面,如果用uxsolidcylinder函数画图,你可以自己绘制封闭的面,使他看起来像实体。
问题2。glTranslated()向z轴负方向移动。因为屏幕相当于坐标轴原点,向负方向移动的话,物体就会离你远去,相当于把物体放在你眼前,如果向z轴正方向移动,就相当于向眼睛后面移动,看不到了。移动多少取决于你用gluPerspective函数中的参数zNear和zFar,移动的绝对值要在这两个值之间。当然,移动越远,图像看起来就越小,和视线是一个道理。
----------------------------------------------------------
auxsolidcylinder和glucylinder不是同一个库里的函数,画出的图形不一样。auxsolidcylinder在glaux.h中,是微软添加的辅助绘图库,而glu开头的函数在glu.h中,是opengl的标准库,所以他们画出的图形不同很正常。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询