圆,五角星,正弦曲线的画法

2023-03-17 09:07:12   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《圆,五角星,正弦曲线的画法》,欢迎阅读!
正弦曲线,五角星,画法

圆,五角星,正弦曲线的画法

2009-07-04 09:401 1、圆的画法:

比较耗资源,低效率。

通过正多边的不断细化实现,正456……n;即近似圆。 for( i=0; i

glVertex2f( R*cos(2*Pi/n*i), R*sin(2*Pi/n*i) ); glEnd();//计算多边形个点的坐标值即可(n边形) 2、画五角星:

已知正5边形的长度,计算五角星的中心到顶点的距离,再根据对称性和正余炫关系计算个点坐标。

GLfloat a=1/(2-2*cos(72*pi/180 )); GLfloat bx=a*cos(18*pi/180 ); GLfloat by=a*sin(18*pi/180 ); GLfloat cy=-a*cos(36*pi/180 ); GLfloat cx=a*sin(36*pi/180 ); GLfloat

PointA[2] ={ 0, a }, PointB[2] ={ bx, by }, PointC[2] ={ cx, cy }, PointD[2] ={ -cx, cy }, PointE[2] ={ -bx, by };

glBegin( GL_LINE_LOOP ); glVertex2fv( PointA ); glVertex2fv( PointC ); glVertex2fv( PointE ); glVertex2fv( PointB );

glVertex2fv( PointD ); glEnd();

AIN:GL_LINE_LOOP为参数画出来的是线框,没有填充,而五角星是个凹多边形,以GL_POLYGON等为参数画出来的虽然有填充,但是失真,因此这种方法并不可取 可以先画五角星的五分之一,然后旋转五次,用五个四边形组合成一个五角星。程序如下:



//画正弦函数的图形 glBegin( GL_LINES ); glVertex2f( -1.0f, 0.0f );

glVertex2f( 1.0f, 0.0f );//X glVertex2f( 0.0f, 1.0f );

glVertex2f( 0.0f, -1.0f );//Y

glEnd();

glBegin( GL_LINE_STRIP );

for( x=-1.0f/factor; x<1.0f/factor; x+= 0.01f )


{

glVertex2f( x*factor, sin(x)*factor ); } glEnd();


本文来源:https://www.dywdw.cn/2a1faad87f1cfad6195f312b3169a4517623e574.html

相关推荐
推荐阅读