蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOC文档下载
 

2D太阳系绘制

  • 资源ID:50596541       资源大小:96.00KB        全文页数:8页
  • 资源格式: DOC        下载权限:游客/注册会员    下载费用:15积分 【人民币15元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要15积分 【人民币15元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

2D太阳系绘制

试验六 2D太阳系绘制 一、试验目的 1、驾驭2D太阳系绘制方法 2、驾驭矩阵堆栈流程 3、进一步驾驭复合2D图形变换 二、试验环境 硬件要求 PC机,主流配置,最好为独立显卡,显存512M以上。 软件环境 操作系统Windows XP。 语言开发工具Microsoft Visual studio 2021,Visual C。 三、试验内容与要求 要求 试验课上老师要求的效果截图、及其相应代码 拷贝到试验报告文档里。 WORD文档命名方式学号姓名-试验序号-试验名称。 内容 1、 太阳半径Rs,地球半径Re,月球半径Rm,每个球都会自转,地球绕太阳公转,月球绕地球公转。 2、 根本框架程序 3、设计世界坐标系,设计裁剪窗口大小,编写2D太阳系代码。 4、效果截图 图6-1 2D太阳系效果 5、分别在太阳、地球、月球位置添加中文字体“太阳〞、“地球〞、“月球〞 6、在修改的代码上加上自己的一些点缀修饰性图形 四、 参考函数 1、 void glPushMatrixvoid 功能把当前操作矩阵压入矩阵堆栈,记住当前所在的位置。 复制活动栈顶的当前矩阵并将其存入其次个栈位置 2、void glPopMatrixvoid 功能当前操作矩阵出栈,它下面的矩阵作为当前矩阵,返回到以前所在的位置。 破坏栈顶矩阵,栈的其次个矩阵成为当前矩阵。假如要弹出栈顶,栈内至少要有2个矩阵,否那么就会出错。 3、中文字体绘制 在程序头部声明所用到的字体函数 void selectFontint size, int charset, const char* face; //选择字体 void drawCNStringconst char* str; //生成中文字体函数 //在绘制局部调用字体函数,写中文字 selectFont48, GB2312_CHARSET, 楷体_GB2312; //设置字体楷体24号字 glRasterPos2f250, 550; //定位首字位置 drawCNStringHello,大家好; //写字“Hello,大家好〞 /************************************************************************/ /* 选择字体函数 */ /************************************************************************/ void selectFontint size, int charset, const char* face { HFONT hFont CreateFontAsize, 0, 0, 0, FW_MEDIUM, 0, 0, 0, charset, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, face; HFONT hOldFont HFONTSelectObjectwglGetCurrentDC, hFont; DeleteObjecthOldFont; } /************************************************************************/ /* 生成中文字体函数 */ /************************************************************************/ void drawCNStringconst char* str { int len, i; wchar_t* wstring; HDC hDC wglGetCurrentDC; GLuint list glGenLists1; // 计算字符的个数 // 假如是双字节字符的〔比方中文字符〕,两个字节才算一个字符 // 否那么一个字节算一个字符 len 0; fori0; str[i]\0; i { if IsDBCSLeadBytestr[i] i; len; } // 将混合字符转化为宽字符 wstring wchar_t*malloclen1 * sizeofwchar_t; MultiByteToWideCharCP_ACP, MB_PRECOMPOSED, str, -1, wstring, len; wstring[len] L\0; // 逐个输出字符 fori0; ilen; i { wglUseFontBitmapsWhDC, wstring[i], 1, list; glCallListlist; } // 回收全部临时资源 freewstring; glDeleteListslist, 1; } 4、圆的绘制 1〕圆盘绘制方法 GLUquadricObj *disk; //定义二次曲面对象 diskgluNewQuadric; //生成二次去面对像 gluDiskdisk,0.8,1,50,50; //内径0.8,外径1,盘心在原点 2球的绘制方法 glutSolidSphere1,80,80; //半径为1的球,球心在原点 5、反走样代码 glBlendFuncGL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA; glEnableGL_BLEND; glEnableGL_POINT_SMOOTH; glHintGL_POINT_SMOOTH_HINT, GL_NICEST; glEnableGL_LINE_SMOOTH; glHintGL_LINE_SMOOTH_HINT

注意事项

本文(2D太阳系绘制)为本站会员(wjdd)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开