以线段方式绘制曲线。例如:正弦曲线。
glBegin(GL_LINE_STRIP);
for(i=0;i<POINTNUM;i++)
{
glVertex2f(XSTART+i*XSTEP*XSCALE, YSTART+sin(i*XSTEP)*XSCALE);
}
glEnd();
说明:XSTEP是横坐标点的间隔。XSCALE是为了适应屏幕大小,将图形放大。XSTART,YSTART是将曲线起点移动到左下角。
附:源码
///////////////////////////// 主程序 ///////////////////////////
// 等价无穷小的曲线绘制
#include "stdafx.h"
#include "windows.h"
#include "gl/gl.h"
#include "gl/glu.h"
#include "gl/glaux.h"
#include "conio.h"
#include "math.h"
#include "math01.h"
#define XSTEP (3.14/40)
#define POINTNUM 30
#define XSCALE 10
#define XSTART -10
#define YSTART -10
void DrawPoint2(GLfloat x, GLfloat y);
void CALLBACK myReshape(GLsizei w,GLsizei h);
void CALLBACK display(void);
int main(int argc, char* argv[])
{
auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
auxInitPosition(0,0,500,500);
auxInitWindow("si

这篇博客介绍如何使用OpenGL以线段形式绘制曲线,如正弦曲线。通过GL_LINE_STRIP模式,结合数学计算(如sin函数)和适配屏幕的缩放,实现了在OpenGL窗口中动态展示曲线。代码示例包括了正弦曲线、直线和指数函数的绘制。
最低0.47元/天 解锁文章
759





