据我目前的学习了解,OpenGL的画点画线还是比较简单的。
格式大概如下:
glBegin(参数)
//点位置
glEnd()
在begin与end包围的范围中输入点坐标即可。
如果想画点的话参数为GL_POINTS,"S"一定不能忘记。
如果要画线的话有两个参数可供选择:GL_LINES和GL_LINES_STRIP,两者的区别在于,前者是两个点两个点地连线,即输入了四个点p1,p2,p3,p4,那么只会形成两条线p1p2和p3p4,而后者则会形成不封闭的连续折线,即p1p2,p2p3和p3p4。
输入点坐标用函数glVertex2f(float x,float y),当然也可以用glVertex2i(int x,int y)等一系列函数,区别在于输入点坐标的数据类型。
作业要求是画出f(x)=sinx/x,(-20,20)这个函数。
遇到的最大难题在于坐标系的转换,一开始不懂,出来的图像总是一小部分,后来才知道OpenGL默认的可视范围是-1<x<1,-1<y<1。所以稍微将横坐标缩小20倍就可以了。
以下是代码:
#include <GL/glut.h>
#include <math.h>
void myDisplay(void)
{
glClearColor(1.0f