OpenGL_曲线函数

#include "stdafx.h"

#include <GL/glut.h>

#include <math.h>

const int screenWidth = 640;       //屏幕窗口的宽度为640像素;

const int screenHeight = 480;       //屏幕窗口的高度为480像素;

GLdouble A, B, C, D;         //比例变换和平移值;

void myInit(void)

{  

glClearColor(1.0, 1.0, 1.0, 0.0);     //背景颜色为白;  

glColor3f(0.0f, 0.0f, 0.0f);      //画图颜色为黑;  

glPointSize(2.0);         //笔触大小为2像素;  

glMatrixMode(GL_PROJECTION);      //设置合适的矩阵;  

glLoadIdentity();  

gluOrtho2D(0.0, (GLdouble)screenWidth, 0.0, (GLdouble)screenHeight);  

A = screenWidth / 4.0;        //设置比例变换和平移;  

B = 0.0;  

C = D = screenHeight / 2.0;

}

void myDisplay(void)

{  

glClear(GL_COLOR_BUFFER_BIT);      //清屏;  

glBegin(GL_POINTS);  for (GLdouble x = 0; x < 4.0; x += 0.005)

 {   

GLdouble func = exp(-x)*cos(2 * 3.14159265*x);   

glVertex2d(A*x + B, C*func + D);                                    

}  

glEnd();  

glFlush();           //送所有数据到显示;

}

void main(int argc, char** argv)

{  

glutInit(&argc, argv);        //初始工具包;  

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);  //设置显示模式;  

glutInitWindowSize(screenWidth, screenHeight);  //设置窗口大小;  

glutInitWindowPosition(100, 150);     //设置窗口在屏幕上的位置;  

glutCreateWindow("Dot Plot of a Function");   //打开屏幕窗口;  

glutDisplayFunc(myDisplay);       //注册重画函数;  

myInit();  

glutMainLoop();          //进入永久循环;

}

转载于:https://www.cnblogs.com/Alip/p/5085469.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值