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

时间:2023-03-17 09:07:12 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
圆,五角星,正弦曲线的画法

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.wddqw.com/doc/2a1faad87f1cfad6195f312b3169a4517623e574.html