资源简介
计算机图形学及其实践教程代码,内容完整,与书籍配套使用
代码片段和文件信息
#include “stdafx.h“ //标准库
#include //glut库
#include //数学库
void Display(void); //绘制函数
void Reshape(int w int h); //窗口改变
void mytime(int value); //时间函数
void myinit(void); //初始化函数
void sun(); //太阳
void earth(); //地球
void moon(); //月球
void selectFont(int size int charset const char* face); //选择字体
void drawCNString(const char* str); //生成中文字体函数
float rs=50 re=30 rm=10; //太阳、地球和月球半径
float xs=0ys=0xe=150ye=0xm=200ym=0; //太阳、地球和月球
float asaeamaesameams; //太阳、地球、月球自转、地球绕太阳公转旋转角度
int APIENTRY _tWinMain(HINSTANCE hInstance
HINSTANCE hPrevInstance
LPTSTR lpCmdLine
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
char *argv[] = {“hello “ “ “};
int argc = 2; // must/should match the number of strings in argv
glutInit(&argc argv); //初始化GLUT库;
glutInitWindowSize(700700); //设置显示窗口大小
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); //设置显示模式;(注意双缓冲)
glutCreateWindow(“A Rotating Sun System“); // 创建显示窗口
glutDisplayFunc(Display); //注册显示回调函数
glutReshapeFunc(Reshape); //注册窗口改变回调函数
myinit(); //初始化设置
glutTimerFunc(200 mytime 10);
glutMainLoop(); //进入事件处理循环
return 0;
}
void myinit()
{
glPointSize(16); //点大小
glLineWidth(10); //线宽
/*反走样代码*/
glBlendFunc(GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
glEnable(GL_POINT_SMOOTH);
glHint(GL_POINT_SMOOTH_HINT GL_NICEST);
glEnable(GL_LINE_SMOOTH);
glHint(GL_LINE_SMOOTH_HINT GL_NICEST);
glEnable(GL_POLYGON_SMOOTH);
glHint(GL_POLYGON_SMOOTH_HINT GL_NICEST);
}
void Display(void)
{
glClear(GL_COLOR_BUFFER_BIT); //清屏,默认为黑背景色
glMatrixMode(GL_MODELVIEW); //设置矩阵模式为模型变换模式,表示在世界坐标系下
glLoadIdentity(); //将当前矩阵设置为单位矩阵
sun(); //绘制太阳
earth(); //绘制地球
moon(); //绘制月球
glutSwapBuffers(); //双缓冲的刷新模式;
}
void sun()
{
glPushMatrix();
/* 绕太阳中心点(坐标原点)自转*/
glRotatef(as001);
/*绘制太阳球*/
glColor3f(100);
glutWireSphere(rs4040); //半径为re的球,球心在原点
/*在太阳圆弧上画点*/
glColor3f(110);
glBegin(GL_POINTS);
glVertex2f(xs+rsys);
glEnd();
/*在绘制部分调用字体函数,写中文字*/
selectFont(24 GB2312_CHARSET “楷体_GB2312“); //设置字体楷体24号字
glRasterPos2f(xsys); //定位首字位置
drawCNString(“太阳“); //写字“太阳”
glPopMatrix();
}
void earth()
{
glPushMatrix();
/*绕太阳中心点(坐标原点)公转*/
glRotatef(aes001);
/*绕地球中心点自转*/
glTranslatef(xeye0);
glRotatef(ae001);
glTranslatef(-xe-ye0);
glPushMatrix();
/*绘制地球*/
glPushMatrix();
glColor3f(001);
glTranslatef(xeye0);
glutWireSphere(re4040); //半径为re的球,球心在原点
glPopMatrix();
/*在地球圆弧上画点*/
glColor3f(110);
glBegin(GL_POINTS);
glVertex2f(xe+reye);
glEnd();
/*在绘制部分调用字体函数,写中文字*/
selectFont(24 GB2312_CHARSET “楷体_GB2312“); //设置字体楷体24号字
glRasterPos2f(xeye); //定位首字位置
drawCNString(“地球“); //写字“地球”
glPopMatrix();
glPopMatrix();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6344 2012-11-18 15:48 代码\lab10_2DSunSystem.cpp
文件 3119 2012-11-18 17:20 代码\lab10_3DRobot.cpp
文件 6137 2016-04-30 11:28 代码\lab12_light_materail.cpp
文件 5827 2009-12-09 14:07 代码\lab13_GLTools.h
文件 11421 2016-04-30 11:31 代码\lab13_shadow.cpp
文件 12081 2016-04-30 11:30 代码\lab13_transparency.cpp
文件 2164413 2011-12-23 09:17 代码\lab14_3D_Model\3D_Model\1.mp3
文件 13778 2015-05-27 11:02 代码\lab14_3D_Model\3D_Model\3ds.cpp
文件 4781 2015-05-27 11:03 代码\lab14_3D_Model\3D_Model\3ds.h
文件 3184 2012-12-14 10:46 代码\lab14_3D_Model\3D_Model\3D_Model.cpp
文件 178176 2011-12-23 09:19 代码\lab14_3D_Model\3D_Model\3D_Model.exe
文件 39 2011-12-23 09:10 代码\lab14_3D_Model\3D_Model\3D_Model.h
文件 23558 2003-07-23 17:52 代码\lab14_3D_Model\3D_Model\3D_Model.ico
文件 3457 2011-12-23 09:10 代码\lab14_3D_Model\3D_Model\3D_Model.rc
文件 5012 2011-12-23 09:19 代码\lab14_3D_Model\3D_Model\3D_Model.vcproj
文件 1409 2012-12-17 13:00 代码\lab14_3D_Model\3D_Model\3D_Model.vcproj.JESSIE.huang jing.user
文件 1411 2011-12-23 11:36 代码\lab14_3D_Model\3D_Model\3D_Model.vcproj.teacher.Administrator.user
文件 6140 2015-05-27 10:57 代码\lab14_3D_Model\3D_Model\3D_Model.vcxproj
文件 2087 2015-05-27 10:57 代码\lab14_3D_Model\3D_Model\3D_Model.vcxproj.filters
文件 143 2015-05-27 10:57 代码\lab14_3D_Model\3D_Model\3D_Model.vcxproj.user
文件 47387 2006-06-02 21:53 代码\lab14_3D_Model\3D_Model\chanche.3DS
文件 262944 2015-05-27 11:03 代码\lab14_3D_Model\3D_Model\Debug\3ds.obj
文件 1450 2015-05-27 11:02 代码\lab14_3D_Model\3D_Model\Debug\3D_Model.Build.CppClean.log
文件 406 2015-05-27 11:03 代码\lab14_3D_Model\3D_Model\Debug\3D_Model.exe.em
文件 472 2015-05-27 11:03 代码\lab14_3D_Model\3D_Model\Debug\3D_Model.exe.em
文件 381 2015-05-27 11:03 代码\lab14_3D_Model\3D_Model\Debug\3D_Model.exe.intermediate.manifest
文件 88 2015-05-27 11:03 代码\lab14_3D_Model\3D_Model\Debug\3D_Model.lastbuildstate
文件 5703 2015-05-27 11:03 代码\lab14_3D_Model\3D_Model\Debug\3D_Model.log
文件 35497 2015-05-27 11:03 代码\lab14_3D_Model\3D_Model\Debug\3D_Model.obj
文件 4390912 2015-05-27 11:02 代码\lab14_3D_Model\3D_Model\Debug\3D_Model.pch
............此处省略205个文件信息
相关资源
- 武大计算机图形学PPT
- 计算机图形学教程.第2版.王汝传.pdf
- [3D游戏与计算机图形学中的数学方法
- 3D Computer vision efficient methods and appli
- 计算机图形学光线跟踪大作业
- 计算机真实感图形算法基础
- VULKAN cookbook 高清PDF及随书代码
- 计算机图形学.Peter.Shirley.pdf
- 计算机图形学实验
- 广工2014计算机图形学考试试卷
- MIT计算机图形学资料
- 图形学的几道基础练习计算机图形学
- 计算机图形学基础[第2版][陆枫/何云峰
- Visual Studio 搭建好的OpenGL环境GLFW3+GL
- 山东大学计算机图形学实验1
- flex&bison;英文版中文版PDF及随书代码
- 计算机图形学习题解答孔令得版
- Computer graphics with opengl 4th edition 计算
- 山东大学计算机图形学实验课程资源
- 计算机图形学(第三版)清晰中文版
- 计算机图形学基础-pdf.zip
- 计算机图形学实验+绘制金刚石
- 实时计算机图形学 中文扫描pdf 版本
- 3D游戏引擎设计 实时计算机图形学的
- 计算机图形学 第4版 高清带目录
- 计算机图形学(OpenGL版)第3版.pdf
- 基于3D图形开发技术计算机图形学
- 计算机图形学作业:代码运行通过+实
- 《VTK图形图像开发进阶》随书代码
- 计算机图形学实验OpenGL
评论
共有 条评论