• 大小: 36.5MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-03
  • 语言: 其他
  • 标签: 随书代码  

资源简介

计算机图形学及其实践教程代码,内容完整,与书籍配套使用

资源截图

代码片段和文件信息

#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.embed.manifest

     文件        472  2015-05-27 11:03  代码\lab14_3D_Model\3D_Model\Debug\3D_Model.exe.embed.manifest.res

     文件        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个文件信息

评论

共有 条评论