图形学实验报告-分形雪花

图形学实验报告-分形雪花

ID:41649887

大小:117.70 KB

页数:7页

时间:2019-08-29

图形学实验报告-分形雪花_第1页
图形学实验报告-分形雪花_第2页
图形学实验报告-分形雪花_第3页
图形学实验报告-分形雪花_第4页
图形学实验报告-分形雪花_第5页
资源描述:

《图形学实验报告-分形雪花》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、计算机图形学实验报告姓名:张晓波学号:090081322010年10月实验1实用OpenGL绘制二维图形实验目的1-初步了解0penGL程序的框架。2.掌握利用0penGL绘制简单二维、三维视图的方法。3.利用0penGL中的三角形绘制函数,绘制分维图形。实验要求1.明确实验目的,按实验内容及基本步骤完成实验。2.在实验过程中,结合思考与探究中的问题,通过实验进行理解。3.理解并掌握木实验的内容。实验内容及基本步骤1.绘制三角形利用0penGL提供的绘制三角形的函数,绘制三角形voidtriangle(Vera,Verb,Verc){glBegin(GL_TRIANGLES);glV

2、ertex2fv(a);glVertex2fv(b);glVertex2fv(c);glEnd();}2,利用绘制三角形的迭代,绘制雪花状的分维体。#importHMyView.hM#includeinclude#inelude#defineDEEP5©implementationMyViewtypedefGLfloatVer[2];VerA={-0・9,・0・5};VerB={0.9,-0.5};VerC={0,1};・(void)prepareOpenGL{glClearColor(0.9350.9350

3、.93,1);//经多次实验将背景配色调为与窗口相同的银白色}-(id)initWithFrame:(NSRect)frame{self=[superinitWithFrame:frame];if(self){}returnself;}voidtriangle(Vera,Verb,Verc){glBegin(GL_TRIANGLES);glVertex2fv(a);glVertex2fv(坊;glVertex2fv(c);glEnd();}voidSnowFlower(Vera,Verb,Verc,intdeep){Verv0,v1,v25v35v4,v5,v65v7,v8,v95v

4、10,v11,v12,v13,v14,v15,v16,v17;v10[0]=a[0];v10[1]=a[1];v14[0]=b[0];v14[1]=b[1];v0[0]=c[0];v0[1]=c[1];intj;if(deep>0){triangle(v0,v10,v14);for(j=0;j<2;j++){v1[j]=v0[j]*2/3+v10[j]/3;v4[j]=v0[j]*2/3+v10[j]/3;}for(j=0;j<2;j++){v2[j]=v0[j]*2/3+v14[j]/3;v6[j]=v0[j]*2/3+v14[j]/3;}for(j=0;j<2;j++){v3[j

5、]=v0[j]*2/3+v10[j]*2/3-v14[j]/3;}for(j=0;j<2;j++)v7[j]=v0[j]*2/3+v14[j]*2/3-v10[j]/3;}for(j=0;j<2;j++){v5[j]=v10[j]*2/3+v0[j]/3;v9[j]=v10[j]*2/3+v0[j]/3;}for(j=0;j<2;j++){v12[j]=v14[j]*2/3+v0[j]/3;v8[j]=v14[j]*2/3+v0[j]/3;}for(j=0;j<2;j++){v11[j]=v10[j]*2/3+v14[j]/3;v15[j]=v10[j]*2/3+v14[j]/3;}

6、for(j=0;j<2;j++){v13[j]=v14[j]*2/3+v10[j]/3;v16[j]=v14[j]*2/3+v10[j]/3;}for(j=0;j<2;j++){v17[j]=v14[j]*2/3+v10[j]*2/3-v0[j]/3;}SnowFlower(vO,v1,v2,deep-1);SnowFlower(v3,v4,v5,deep-1);SnowFlower(v6,v7,v8,deep-1);SnowFlower(v9,v10,v11,deep-1);SnowFlower(v12,v13,v14,deep-1);SnowFlower(v15,v16,v17,

7、deep-1);}elsetriangle(vO,v10,v14);}分维图形的层数由DEEP控制默认值为5,如要改变,则直接在代码里面修改。当deep=3时,图形如下:实验小结:做这个实验是笫一次实用OpenGL,所以感觉以开始上手很难,需要从头了解OpenGL程序的框架,尤其是上课的时候教的时候是基于VC平台的,而最终我使用的是基于苹果电脑里的Xcode编写的,所以又稍有不同,但是OpenGL的绘图思想始终是相同的。就我口己的理解来讲,它是提供了一个虚

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。