codeblocks opengl glew freeglut 2020.11.15

博客提供了一个百度文库链接https://wenku.baidu.com/view/28cd5ebfaf1ffc4fff47accf.html ,并提及下面为测试代码,但未给出具体代码内容。

https://wenku.baidu.com/view/28cd5ebfaf1ffc4fff47accf.html    

一下为测试代码

/*
==========================================================
环境说明:
	IDE:vs2015 studio
	辅助工具库:freeglut
	opengl扩展库:glew
实现功能:
	在笛卡尔二维平面坐标系中,制作二次函数、反比例函数、
	正弦以及余弦函数的图像,并通过键盘四个方向键调整其
	中部分函数的参数值,从而达到改变函数图像的形状。
作者信息:
	单位:黑山县大虎山镇初级中学
	姓名:董国磊
	邮箱:stupidmule@126.com
	手机:13897899826
==========================================================
*/


#include <GL/glut.h>//导入辅助工具库及其他头文件
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <iostream>

using namespace std;

//全局变量声明
GLfloat k1 = 1.0f;
GLfloat k2 = 1.0f;
const GLfloat factor = 0.1f;

//函数原型声明
void  myDisplay();//回调函数
void  mykeys(int key, int x, int y);

//主函数入口
int main(int argc, char *argv[]) {
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
	glutInitWindowPosition(100, 100);
	glutInitWindowSize(800, 800);
	glutCreateWindow("OpenGL画多个函数图像");

	glutDisplayFunc(&myDisplay);  			//注册显示回调函数
	glutSpecialFunc(&mykeys);	  		//注册特殊按键回调函数
	glutMainLoop();				  	//主消息循环启动

	return 0;
}

//显示函数
void myDisplay(void) {
	//opengl全局状态变量
	GLfloat x;
	glClear(GL_COLOR_BUFFER_BIT);			//清除颜色缓存
	glClearColor(1.0, 1.0, 1.0, 1.0);
	glEnable(GL_LINE_SMOOTH);		

	//坐标轴 
	glViewport(0, 0, 800, 800);
	glLineWidth(3);					//线宽
	glBegin(GL_LINES);				//画坐标轴
	glColor3f(0.0, 0.0, 0.0);			//颜色设置成黑色
	glVertex2f(-1, 0.0f);				
	glVertex2f(1, 0.0f);
	glVertex2f(0.0f, -1);
	glVertex2f(0.0f, 1);
	glEnd();

	//画余弦函数:f(x)=cos(x)
	glLineWidth(1);					//改变线宽
	glBegin(GL_LINE_STRIP);
	glColor3f(1.0, 0.0, 0.0);
	for (x = -1.0f / factor; x<1.0f / factor; x += 0.01f) {
		glVertex2f(x*factor, cos(x)*factor);
	}
	glEnd();

	//画正弦函数:f(x)=sin(x)  
	glLineWidth(1);
	glBegin(GL_LINE_STRIP);
	glColor3f(0.0, 1.0, 0.0);			//颜色设置成绿色
	for (x = -1.0f / factor; x<1.0f / factor; x += 0.01f) {
		glVertex2f(x*factor, sin(k1*x)*factor);
	}
	glEnd();

	//画二次函数:f(x)=x^2
	glLineWidth(2);
	glBegin(GL_LINE_STRIP);
	glColor3f(0.0, 0.0, 1.0);			//颜色设置成蓝色
	for (x = -1.0f / factor; x<1.0f / factor; x += 0.01f) {
		glVertex2f(x*factor, k2*x*x*factor);
	}
	glEnd();

	//画反比例函数:f(x)=1/x
	glLineWidth(0.8);
	glBegin(GL_LINE_STRIP);
	glColor3f(0.4, 0.0, 0.5);			
	for (x = -1.0f / factor; x<1.0f / factor; x += 0.01f) {
		glVertex2f(x*factor, 1 / x*factor);
	}
	glEnd();

	glFlush();					//刷新缓存区
}

//键盘控制图形
void  mykeys(int key, int x, int y)
{
	if (key == GLUT_KEY_UP)				//上下方向键控制正弦函数的参数
		k1 = 2 * k1;
	if (key == GLUT_KEY_DOWN)
		k1 = 0.5f*k1;
	if (key == GLUT_KEY_RIGHT)			//左右方向键控制二次函数的参数
		k2 += 0.01;
	if (key == GLUT_KEY_LEFT)
		k2 -= 0.01;
	cout << "当前的正弦函数的k1值为" << k1 << endl;	//实时监测参数值
	cout << "当前的二次函数的k2值为" << k2 << endl;
	cout << "========" << endl;			
	glutPostRedisplay();				//手动调用此函数重新绘图
}

## 软件功能详细介绍 1. **文本片段管理**:可以添加、编辑、删除常用文本片段,方便快速调用 2. **分组管理**:支持创建多个分组,不同类型的文本片段可以分类存储 3. **热键绑定**:为每个文本片段绑定自定义热键,实现一键粘贴 4. **窗口置顶**:支持窗口置顶功能,方便在其他应用程序上直接使用 5. **自动隐藏**:可以设置自动隐藏,减少桌面占用空间 6. **数据持久化**:所有配置和文本片段会自动保存,下次启动时自动加载 ## 软件使用技巧说明 1. **快速添加文本**:在文本输入框中输入内容后,点击"添加内容"按钮即可快速添加 2. **批量管理**:可以同时编辑多个文本片段,提高管理效率 3. **热键冲突处理**:如果设置的热键与系统或其他软件冲突,会自动提示 4. **分组切换**:使用分组按钮可以快速切换不同类别的文本片段 5. **文本格式化**:支持在文本片段中使用换行符和制表符等格式 ## 软件操作方法指南 1. **启动软件**:双击"大飞哥软件自习室——快捷粘贴工具.exe"文件即可启动 2. **添加文本片段**: - 在主界面的文本输入框中输入要保存的内容 - 点击"添加内容"按钮 - 在弹出的对话框中设置热键和分组 - 点击"确定"保存 3. **使用热键粘贴**: - 确保软件处于运行状态 - 在需要粘贴的位置按下设置的热键 - 文本片段会自动粘贴到当前位置 4. **编辑文本片段**: - 选中要编辑的文本片段 - 点击"编辑"按钮 - 修改内容或热键设置 - 点击"确定"保存修改 5. **删除文本片段**: - 选中要删除的文本片段 - 点击"删除"按钮 - 在确认对话框中点击"确定"即可删除
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值