文档库 最新最全的文档下载
当前位置:文档库 › 计算机图形学场景漫游实验报告

计算机图形学场景漫游实验报告

计算机图形学场景漫游实验报告
计算机图形学场景漫游实验报告

实验报告学院(系)名称:计算机与通信工程学院

计算机图形学实验报告

《计算机图形学》实验报告姓名:郭子玉 学号:2012211632 班级:计算机12-2班 实验地点:逸夫楼507 实验时间:15.04.10 15.04.17

实验一 1 实验目的和要求 理解直线生成的原理;掌握典型直线生成算法;掌握步处理、分析实验数据的能力; 编程实现DDA 算法、Bresenham 中点算法;对于给定起点和终点的直线,分别调用DDA 算法和Bresenham 中点算法进行批量绘制,并记录两种算法的绘制时间;利用excel 等数据分析软件,将试验结果编制成表格,并绘制折线图比较两种算法的性能。 2 实验环境和工具 开发环境:Visual C++ 6.0 实验平台:Experiment_Frame_One (自制平台) 3 实验结果 3.1 程序流程图 (1)DDA 算法 是 否 否 是 是 开始 计算k ,b K<=1 x=x+1;y=y+k; 绘点 x<=X1 y<=Y1 绘点 y=y+1;x=x+1/k; 结束

(2)Mid_Bresenham 算法 是 否 否 是 是 是 否 是 否 开始 计算dx,dy dx>dy D=dx-2*dy 绘点 D<0 y=y+1;D = D + 2*dx - 2*dy; x=x+1; D = D - 2*dy; x=x+1; x

3.2程序代码 //-------------------------算法实现------------------------------// //绘制像素的函数DrawPixel(x, y); (1)DDA算法 void CExperiment_Frame_OneView::DDA(int X0, int Y0, int X1, int Y1) { //----------请实现DDA算法------------// float k, b; float d; k = float(Y1 - Y0)/float(X1 - X0); b = float(X1*Y0 - X0*Y1)/float(X1 - X0); if(fabs(k)<= 1) { if(X0 > X1) { int temp = X0; X0 = X1; X1 = temp; }

建筑物理实验报告!!!!

建筑物理实验报告 姓名: 学号: 班级:

建筑热工部分 实验一室内外热环境参数的测定 一、实验目的与内容 通过实验,使学生了解室内外热环境参数测定的基本内容,初步掌握常用仪器仪表的性能和使用方法,明确各项测定应达到的目的。 室内外热环境参数的测定共有三个部分的内容:(一)温度的测定;(二)空气相对湿度的测定;(三)气流速度的测定。 二、测定的方法与步骤 (一)温度的测定 本试验与试验(二)空气相对湿度的测定共同完成,通风干湿球温度计中干球温度计的指示值即为室内的温度。记录在试验报告表1中。 (二)空气相对湿度的测定 1、仪器:通风干湿球温度计,2人一组。 2、将通风干湿球温度计挂于支架上,感温包部距地面高 1.5m,在每次测定前5分钟(夏季)至10分钟(冬季)用蒸馏水均匀浸润湿求感温包纱布。用钥匙上紧发条后,戴3~4分钟等温度计读值稳定后,即可分别读取干、湿球温度计的指示值。读值时要先读小数,后读整数。记录在实验报告表2中,并查出相对湿度。 (三)气流速度的测定 1、设备:QDF热球式电风速仪,2人一组。 2、步骤:⑴使用前观察电表的指针是否指于零点,如有偏差可轻轻调整电表上的机械零螺丝,使指针指向零点。 ⑵“校正开关”置于“断”的位置,“电源选择”开关置于所选用电源处。用仪器内部电源,将四节一号电池装在仪器底部电池盒内,“电源选择”开关拨至“通”的位置。 ⑶将测杆插在插座上,测杆垂直向上放置,螺塞压紧,使探头密闭,“校正开关”置于“满度”的位置,慢慢调整“满度粗调”和“满度细调”两个旋钮,使电表在满刻度的位置。 ⑷“校正开关”置于“低速”的位置,慢慢调整“零位粗调”和“零位细调”两个旋钮,使电表指在零点的位置。 ⑸轻轻拉动螺塞,使测杆探头露出,即可进行0.05~5米/秒风速的测定,测量时探头上的红点面对风向,从电表上读出风速的大小,根据电表上的读数,查阅所供应的校正曲线,查出被测风速。 (6) 如果5~30米/秒的风速,在完成3、4 步骤后只要将“校正开关”置于“高速”位置,即可对风速进行测定,根据电表读数查阅所供应得高速校正曲线。 ⑺在测量若干分钟后(一般为10分钟)必须重复3、4步骤一次,以保证测量的准确性。

计算机图形学上机实验报告

计算机图形学实验报告 姓名: 学号: 班级:

目录 实验一OpenGL程序结构练习 (3) 实验二基本图形生成 (6) 实验三交互式控制 (9) 实验四图形基本变换 (12) 实验五三维图形生成及显示 (15) 实验六三维图形生成及显示 (19)

实验一OpenGL程序结构练习 【实验目的】 1.熟悉C语言环境下OpenGL的使用方法; 2.了解OpenGL程序的基本结构。 【实验原理】 绝大多数OpenGL程序具有类似的结构,包含下述函数 main(): 定义回调函数,打开一个或多个具有指定属性的窗口,进入事件循环(最后一条可执行语句) init(): 设置状态变量、视图、属性、回调、显示函数、输入和窗口函数#include // glut.h includes gl.h and glu.h void display() { ……} void init() { ……} int main( intargc, char **argv) { ……}

【实验内容】 1.了解程序中各个结构的功能; 2.用OpenGL生成三角形。 【实验步骤及结果】 1.导入OpenGL的glut3 2.lib和glut.h文件:将.lib文件存放到C 语言程序文件夹的Library下,.h文件放到Include下;导入应用程序扩展文件glut32.dll,存放到system文件夹下。 2.打开VC 6.0,新建工程,并命名为text1,如图1. 图 1 3.在工程text1下新建源文件,并命名为text1.cpp。 4.编写代码并编译链接,如图2所示。

计算机图形学实验报告 (2)

中南大学信息科学与工程学院 实验报告实验名称 实验地点科技楼四楼 实验日期2014年6月 指导教师 学生班级 学生姓名 学生学号 提交日期2014年6月

实验一Window图形编程基础 一、实验类型:验证型实验 二、实验目的 1、熟练使用实验主要开发平台VC6.0; 2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的Windows图形应用程序; 3、掌握Window图形编程的基本方法; 4、学会使用基本绘图函数和Window GDI对象; 三、实验内容 创建基于MFC的Single Document应用程序(Win32应用程序也可,同学们可根据自己的喜好决定),程序可以实现以下要求: 1、用户可以通过菜单选择绘图颜色; 2、用户点击菜单选择绘图形状时,能在视图中绘制指定形状的图形; 四、实验要求与指导 1、建立名为“颜色”的菜单,该菜单下有四个菜单项:红、绿、蓝、黄。用户通过点击不同的菜单项,可以选择不同的颜色进行绘图。 2、建立名为“绘图”的菜单,该菜单下有三个菜单项:直线、曲线、矩形 其中“曲线”项有级联菜单,包括:圆、椭圆。 3、用户通过点击“绘图”中不同的菜单项,弹出对话框,让用户输入绘图位置,在指定位置进行绘图。

五、实验结果: 六、实验主要代码 1、画直线:CClientDC *m_pDC;再在OnDraw函数里给变量初始化m_pDC=new CClientDC(this); 在OnDraw函数中添加: m_pDC=new CClientDC(this); m_pDC->MoveTo(10,10); m_pDC->LineTo(100,100); m_pDC->SetPixel(100,200,RGB(0,0,0)); m_pDC->TextOut(100,100); 2、画圆: void CMyCG::LineDDA2(int xa, int ya, int xb, int yb, CDC *pDC) { int dx = xb - xa; int dy = yb - ya; int Steps, k; float xIncrement,yIncrement; float x = xa,y= ya; if(abs(dx)>abs(dy))

建筑物理光学实验报告

建筑物理实验报告 建筑光学实验: 1.采光系数测量 2.教室亮度测量 3.测定材料光反射系数 4.测定材料光透射系数 小组成员:王林 2011301569 范俊文 2011303156 肖求波 2011301549 沈杰 2011301544 指导教师:刘京华 西北工业大学力学与土木建筑学院 2013年11月3日

一 实验目的 室内光环境对于室内生产,生活,工作有着直接的影响。良好的光环境能够提高工作学习效率,保障人身安全和视力。天然采光效果的好坏及合理与否,可以通过天然采光实测作出评价。采光系数是评价室内自然光环境,室内开口合理与否的一个重要指标。通过实验了解室内自然光环境测量方法及数据的整理与分析,并对该实测房间的光环境作出评价。 二 实验原理及仪器 1.原理: 室内采光测量最主要的工作是同时测量由天空漫射光所产生的室内工作面上的照度和室外水平面的照度值。室外照度是经常变化的,必然引起室内照度的相应变化,不会是固定值。因此对采光系数量的指标,采用相对值,这一相对值称为采光系数(C ),即室内某一点的天然光照度(E n ),和同一时间的室外全云天的天然光照度(E w )的比值。 w n E E C 2.仪器:照度计2台/组 卷尺 两台照度计为同型号,分别用于室内和室外的照度测量。 三 实验时间及,地点及天气状况

时间:2013年11月4日星期一 地点:教学东楼D座 四实验要求 1测量数据记录(不少于5个测点) 2.附加测量项目: (1).采光系数最低值C min 采光系数最低值取典型剖面和假定工作面交线上各测点中采光系数值中最低的一个,作为该房间的评价值。 (2). 采光系数平均值C av 采光系数平均值取典型剖面与假定工作面交线上各测点的采光系数算术平均值。 当室内有两条或以上典型剖面时,各条典型剖面上的采光系数应分别计算。取其中最低的一个平均值作为房间的采光系数平均值。(3).采光均匀度U c 采光系数最低值与平均值之比,即U c=C min/C av 国家规范规定,对于侧窗和顶部采光要求为I-IV级的房间,其工作面上的采光均匀度不应低于0.7。采光均匀度应按各个不同剖面计算,取其中均匀度最低的一个值作为该房间的评价值。 五实验方法 1.测点布置 室内采光测点的布置反映各工作面上照度值的变化和光的分布情况,因此采光实测时要在待测建筑物内选取若干个有代表性的能反映室内采光质量的典型剖面,然后在剖面与工作面交线布置一组测点。侧面采光的房间有两个代表性的横剖面,一个通过侧窗中心线,一个通过侧墙中心线;剖面图上布置测点的间距2m;测点距墙或柱的距离为0.5~1m,中间测点等距布置。 2.测量条件 我国采光设计标准采用国际照明委员会推荐的CIE标准天空,即全云天作为天空亮度分布规律的标准。因此采光系数测量的天空应该选取全云天(云量8~10级),天空中看不到太阳的位置。不应在晴天和多云天测量,也不宜在雨雪天测量。

计算机图形学实验报告

目录

实验一直线的DDA算法 一、【实验目的】 1.掌握DDA算法的基本原理。 2.掌握DDA直线扫描转换算法。 3.深入了解直线扫描转换的编程思想。 二、【实验内容】 1.利用DDA的算法原理,编程实现对直线的扫描转换。 2.加强对DDA算法的理解和掌握。 三、【测试数据及其结果】 四、【实验源代码】 #include

#include #include #include GLsizei winWidth=500; GLsizei winHeight=500; void Initial(void) { glClearColor(1.0f,1.0f,1.0f,1.0f); glMatrixMode(GL_PROJECTION); gluOrtho2D(0.0,200.0,0.0,150.0); } void DDALine(int x0,int y0,int x1,int y1) { glColor3f(1.0,0.0,0.0); int dx,dy,epsl,k; float x,y,xIncre,yIncre; dx=x1-x0; dy=y1-y0; x=x0; y=y0; if(abs(dx)>abs(dy)) epsl=abs(dx); else epsl=abs(dy); xIncre=(float)dx/(float)epsl; yIncre=(float)dy/(float)epsl; for(k=0;k<=epsl;k++) { glPointSize(3); glBegin(GL_POINTS); glV ertex2i(int(x+0.5),(int)(y+0.5)); glEnd(); x+=xIncre; y+=yIncre; } } void Display(void) { glClear(GL_COLOR_BUFFER_BIT); DDALine(100,100,200,180); glFlush(); }

计算机图形学实验二

实验报告 课程名称:计算机图形学 实验项目:区域填充算法 实验仪器:计算机 系别:计算机学院 专业:计算机科学与技术 班级姓名:计科1602/ 学号:2016011 日期:2018-12-8 成绩: 指导教师:

一.实验目的(Objects) 1.实现多边形的扫描线填充算法。 二.实验内容 (Contents) 实现多边形的扫描线填充算法,通过鼠标,交互的画出一个多边形,然后利用种子填充算法,填充指定的区域。不能使用任何自带的填充区域函数,只能使用画点、画线函数或是直接对图像的某个像素进行赋值操作;

三.实验内容 (Your steps or codes, Results) //widget.cpp //2016CYY Cprogramming #include"widget.h" #include #include #include using namespace std; #define H 1080 #define W 1920 int click = 0; //端点数量 QPoint temp; QPoint first; int result = 1; //判断有没有结束 int sign = 1; //2为画线 int length = 5; struct edge { int ymax; float x; float dx; edge *next; }; edge edge_; QVector edges[H]; QVector points;//填充用 bool fin = false; QPoint *Queue = (QPoint *)malloc(length * sizeof(QPoint)); //存放端点的数组 Widget::Widget(QWidget *parent) : QWidget(parent) { } Widget::~Widget() { } void Widget::mouseMoveEvent(QMouseEvent *event) { setMouseTracking(true); if (click > 0 && result != 0) { startPt = temp; endPt =event->pos(); sign = 2; update(); } } void Widget::mouseReleaseEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) { } else if (event->button() == Qt::RightButton) { sign = 2;

建筑物理实验报告

建筑物理实验报告 班级:建筑112 姓名:刘伟 学号: 01111218 指导教师:周洪涛 建筑物理实验室 2014年10月15日 小组成员:张思俣;郭祉良;李照南;刘伟;王可为;

第三篇建筑热工实验 一、实验一建筑热工参数测定实验 二、实验目的 1、了解热工参数测试仪器的工作原理; 2、掌握温度、湿度、风速的测试方法,达到独立操作水平; 3、利用仪器测量建筑墙体内外表面温度场分布,检验保温设计效果; 4、测定建筑室内外地面温度场分布; 5、可通过对室外环境的观测,针对住宅小区或校园内地形、地貌、生物生活对气候 的影响,进而研究在这个区域内的建筑如何应用有力的气候因素和避免不利的气 候影响。 三、实验仪器概述 I.WNY —150 数字温度仪 ●用途:用于对各种气体、液体和固体的温度测量。 ●特点:采用先进的半导体材料为感温元件,体积小,灵敏度高,稳定性好。温度值 数字显示,清晰易读,测温范围:-50℃~150℃,分辨力:0.1℃。 ●测试方法及注意事项: 1.取下电池盖将6F22,9V叠层电池装入电池仓。 2.按ON键接通电源,显示屏应有数字显示。 3.插上传感器,显示屏应显示被测温度的数值。 4.显示屏左上方显示LOBAT时,应更换电池。 5.仪器长期不用时,应将电池取出,以免损坏仪表。 II.EY3-2A型电子微风仪 ●用途:本产品是集成电子化的精密仪器,适用于工厂企业通风空调,环境污染监测, 空气动力学试验,土木建筑,农林气象观测及其它科研等部门的风速测量,用途十分广泛。 ●特点: 1.测量范围宽,微风速灵敏度高,最小分度值为0.01m/s。 2.高精度,高稳定度,使用时可连续测量,不须频繁校准 3.仪器热敏感部件,最高工作温度低于200℃,使用安全可靠,在环境温度为 -10℃~40℃内可自动温度补偿。 4.电源电压适用范围宽:4.5V~10V功耗低。 ●主要技术参数: 1.测量范围:0.05~1m/s 1~30m/s(A型) 2.准确度:≤±2﹪F.S。 3.工作环境条件:温度-10℃~+40℃相对湿度≤85%RH。 4.电源:R14型(2#)电池4节 ●工作原理:本仪器根据加热物体在气流中被冷却,其工作温度为风速函数这一原理设 计。仪器由风速探头及测量指示仪表两部分组成。 ●测试方法及注意事项:

计算机图形学实验

实验1 直线的绘制 实验目的 1、通过实验,进一步理解和掌握DDA和Bresenham算法; 2、掌握以上算法生成直线段的基本过程; 3、通过编程,会在TC环境下完成用DDA或中点算法实现直线段的绘制。实验环境 计算机、Turbo C或其他C语言程序设计环境 实验学时 2学时,必做实验。 实验内容 用DDA算法或Besenham算法实现斜率k在0和1之间的直线段的绘制。 实验步骤 1、算法、原理清晰,有详细的设计步骤; 2、依据算法、步骤或程序流程图,用C语言编写源程序; 3、编辑源程序并进行调试; 4、进行运行测试,并结合情况进行调整; 5、对运行结果进行保存与分析; 6、把源程序以文件的形式提交; 7、按格式书写实验报告。 实验代码:DDA: # include # include

void DDALine(int x0,int y0,int x1,int y1,int color) { int dx,dy,epsl,k; float x,y,xIncre,yIncre; dx=x1-x0; dy=y1-y0; x=x0; y=y0; if(abs(dx)>abs(dy)) epsl=abs(dx); else epsl=abs(dy); xIncre=(float)dx/(float)epsl; yIncre=(float)dy/(float)epsl; for(k=0;k<=epsl;k++) { putpixel((int)(x+0.5),(int)(y+0.5),4); x+=xIncre; y+=yIncre; } } main(){ int gdriver ,gmode ;

计算机图形学课程参考文献

《计算机图形学》课程参考文献 [1 Kenneth R. Castleman, “Digital Image Processing”, Prentice-Hall International,Inc, 1996 [2] James Sharman. The Marching Cubes Algorithm[EB]. https://www.wendangku.net/doc/9915242735.html,/. [3] William E. Lorensen, Harvey E. Cline. Marching Cubes: A High Resolution 3D Surface Construction Algrorithm[J].Computer Graphics, 1987, 21(4). [4] Jan Horn. Metaballs程序[CP]. http://www.sulaco.co.za. [5] 唐泽圣,等.三维数据场可视化[M].北京:清华大学出版社,1999.177-179. [6] 白燕斌,史惠康,等.OpenGL三维图形库编程指南[M].北京:机械工业出版社,1998. [7] 费广正,芦丽丹,陈立新.可视化OpenGL程序设计[M].北京:清华大学出版社,2001. [8] 田捷,包尚联,周明全.医学影像处理与分析[M].北京:电子工业出版社,2003. [9] 三维表面模型的重构、化简、压缩及其在计算机骨科手术模拟中的应用[R]. https://www.wendangku.net/doc/9915242735.html,/~yike/uthesis.pdf ; [10] 首套中国数字化可视人体二维图像[DB]. http://www.chinesevisiblehuman. com/ pic/pictype.asp [11] 季雪岗,王晓辉,张宏林,等.Delphi编程疑难详解[M].北京:人民邮电出版社,2000. [12] 郑启华.PASCAL程序设计(第二版)[M].北京:清华大学出版社,1996. [13] 涂晓斌,谢平,陈海雷,蒋先刚.实用微机工程绘图实验教程[M].西南交通大学出版社,2004,4. [14] David F.Rogers.计算机图形学算法基础[M].北京:电子工业出版社,2002. [15] 李信真,车刚明,欧阳洁,封建湖.计算方法[M].西安:西北工业大学出版社,2000. [16] Paul Bourke Polygonising a scalar field [CP]. http://astronomy. https://www.wendangku.net/doc/9915242735.html,.au/ ~pbourke/ modelling/polygonise/ [17] 刘骏.Delphi数字图像处理及高级应用[M].北京:科学出版社,2003. [18] 李弼程,彭天强,彭波,等.智能图像处理技术[M].北京:电子工业出版社,2004. [19] Kenneth R.Castleman著,朱志刚,石定机,等译.数字图像处理[M].北京:电子工业出版社,2002. [20] Milan Sonka, Vaclav Hlavac, Roger Boyle.Image Processing, Analysis, and Machine Vision [M].北京:人民邮电出版社,2003. [21] 阮秋奇.数字图像处理学[M]. 北京:电子工业出版社, 2001. [22] 刘宏昆,等.Delphi应用技巧与常见问题[M]. 北京:机械工业出版社, 2003. [23] 张增强,李鲲程,等.专家门诊—Delphi开发答疑300问[M].北京:人民邮电出版社,2003.6.

建筑物理实验报告.

建筑物理实验报告[建筑热工、建筑光学和建筑声学实验] XXX XXXX XXXXXXX

建筑物理实验报告 第一部分建筑热工学实验 (一)温度、相对湿度 1、实验原理: 通过实验了解室外热环境参数测定的基本内容;初步掌握常用仪器的性能和使用方法;明确各项测量的目的;进一步感受和了解室外气象参数对建筑热环境的影响。 2、实验设备:TESTO 175H1温湿度计 3、实验方法:` (1)在测定前10min左右,把湿球温度计感应端的纱布用洁净水润湿。 (2)若为手动通风干湿球温度计,用钥匙上紧上部的发条,并把它悬挂于测点。待3~4min,当温度计数值稳定后,即可分别读取干、湿球温度计的指示值。读数时,视平线应与温度计水银面平齐。先读小数,后读整数。 (3)根据干湿球温度计的读数,获得测点空气温度。 (4)根据干、湿球温度计读数值查表,即可得到被测点空气的相对湿度。

4、实验结论和分析 室内温湿度 仪器:TESTO 175H1 位置湿度(%)温度(℃) 暖气上方A 24.5 17.5 桌面上方B 25.6 17.0 南边靠墙柜子C 25.5 16.8 室内门口处D 25.1 16.5 5.对测量结果进行思考和分析 根据测量的数据可以看出,室内各处的温度及湿度较为平均。暖气上方的区域温度较高而导致相对湿度较低。桌子由于靠近暖气,所以温度较高。柜子由于距离暖气较远,温度相对较低,较为接近室内的平均气温。门口处由于通风较好,温度较低,湿度相对较高。

(二)室内风向、风速 1、实验原理:QDF型热球式电风速计的头部有一直径约0.8mm的玻璃球,球内绕有镍镉丝线圈和两个串联的热电偶。热电偶的两端连接在支柱上并直接暴露于气流中。当一定大小的电流通过镍镉丝线圈时,玻璃球的温度升高,其升高的程度和气流速度有关。当流速大时,玻璃球温度升高的程度小;反之,则升高的程度大。温度升高的程度反映在热电偶产生的热电势,经校正后用气流速度在电表上表示出来,就可用它直接来测量气流速度。 2、实验设备:TESTO 425 3、实验方法: (1)把仪器杆放直,测点朝上,滑套向下压紧,保证测头在零风速下校准仪器。 (2)把校正开关置于“满度”位置,慢慢调整“满度调节”旋钮,使电表指针在满刻度的位置。再把校正开关置于“零位”的位置,用“粗调”、“细调”两个旋钮,使电表指针在零点的位置。 (3)轻轻拉动滑套,使侧头露出相当长度,让侧头上的红点对准迎风面,待指针较稳定时,即可从电表上读出风速的大小。若指针摇摆不定,可读取中间示值。 (4)风向可采用放烟或悬挂丝的方法测定。

计算机图形学实验报告

计算机图形学 实验报告 姓名:谢云飞 学号:20112497 班级:计算机科学与技术11-2班实验地点:逸夫楼507 实验时间:2014.03

实验1直线的生成 1实验目的和要求 理解直线生成的原理;掌握典型直线生成算法;掌握步处理、分析 实验数据的能力; 编程实现DDA算法、Bresenham中点算法;对于给定起点和终点的 直线,分别调用DDA算法和Bresenham中点算法进行批量绘制,并记 录两种算法的绘制时间;利用excel等数据分析软件,将试验结果编 制成表格,并绘制折线图比较两种算法的性能。 2实验环境和工具 开发环境:Visual C++ 6.0 实验平台:Experiment_Frame_One(自制平台)。 本实验提供名为 Experiment_Frame_One的平台,该平台提供基本 绘制、设置、输入功能,学生在此基础上实现DDA算法和Mid_Bresenham 算法,并进行分析。 ?平台界面:如错误!未找到引用源。所示 ?设置:通过view->setting菜单进入,如错误!未找到引 用源。所示 ?输入:通过view->input…菜单进入.如错误!未找到引用 源。所示 ?实现算法: ◆DDA算法:void CExperiment_Frame_OneView::DDA(int X0, int Y0, int X1, int Y1) Mid_Bresenham法:void CExperiment_Frame_OneView::Mid_Bresenham(int X0, int Y0, int X1, int Y1)

3实验结果 3.1程序流程图 1)DDA算法流程图:开始 定义两点坐标差dx,dy,以及epsl,计数k=0,描绘点坐标x,y,x增 量xIncre,y增量yIncre ↓ 输入两点坐标x1,y1,x0,y0 ↓ dx=x1-x0,dy=y1-y0; _________↓_________ ↓↓ 若|dx|>|dy| 反之 epsl=|dx| epsl=|dy| ↓________...________↓ ↓ xIncre=dx/epsl; yIncre=dy/epsl ↓ 填充(强制整形)(x+0.5,y+0.5); ↓←←←← 横坐标x+xIncre; 纵坐标y+yIncre; ↓↑ 若k<=epsl →→→k++ ↓ 结束 2)Mid_Bresenham算法流程图开始 ↓ 定义整形dx,dy,判断值d,以及UpIncre,DownIncre,填充点x,y ↓ 输入x0,y0,x1,y1 ______↓______ ↓↓ 若x0>x1 反之 x=x1;x1=x0;x0=x; x=x0;

一种基于计算几何方法的最小包容圆求解算法.kdh

2007年 工 程 图 学 学 报2007 第3期 JOURNAL OF ENGINEERING GRAPHICS No.3一种基于计算几何方法的最小包容圆求解算法 张 勇, 陈 强 (清华大学机械工程系先进成形制造重点实验室,北京 100084) 摘要:为实现点集最小包容圆(最小外接圆)的求解,将计算几何中的α-壳的概 念应用到最小包容圆的计算过程,提出了一种精确有效的最小包容圆求解算法。根据α-壳定 义及最小包容圆性质,证明当1/α等于最小包容圆半径时点集的α-壳顶点共圆,1/α小于最小 包容圆半径时α-壳不存在,1/α大于最小包容圆半径时随着1/α减小α-壳顶点数逐渐减小的规 律。将α-壳顶点数目作为搜索最小包容圆半径的依据,实现了最小包容圆半径的搜索和最小包容圆的求解。 关键词:计算机应用;优化算法;计算几何;最小包容圆;α-壳 中图分类号:TP 391 文献标识码:A 文章编号:1003-0158(2007)03-0097-05 Algorithm for Minimum Circumscribed Circle Detection Based on Computational Geometry Technique ZHANG Yong, CHEN Qiang ( Key Laboratory for Advanced Manufacturing by Materials Processing Technology, Department of Mechanical Engineering, Tsinghua University, Beijing 100084, China ) Abstract: α-hulls are applied to calculate the minimum circumscribed circle (MCC) of point set and an accurate and effective method for MCC detection is established through finding the least squares circle of the point set and iteratively approaching the MCC with recursive subdivision. Several theorems concerning the properties of α-hulls are presented. If 1/α is equal to the radius of points’ MCC, all vertices of the α-hull will be on the same circle. When 1/α is larger than the MCC’s radius, the number of vertices of α-hulls will decrease with decreasing of 1/α, and the number of vertices’ number will reach zero when 1/α is smaller than MCC’s radius. From the above rules, an algorithm for detecting MCC is developed, and experimental results show this algorithm is reliable. Key words: computer application; optimized algorithm; computational geometry; minimum circumscribed circle; α-hull 收稿日期:2005-12-20 基金项目:国家自然科学基金资助项目(50275083);高校博士点基金资助项目(20020003053)

建筑物理实验指导书(电子版)

河南理工大学 建筑物理实验指导书 闫海燕职晓晓编 光 班级: 学号: 姓名: 建筑与艺术设计学院建筑物理实验室

2011年3月

目录 学生试验守则 (2) 第一篇建筑热工学实验 实验一室内外热环境参数的测定 (3) 实验二建筑日照实验 (5) 第二篇建筑光学实验 实验三照明模型试验 (7) 实验四天然采光模型试验 (9) 第三篇建筑声学实验 实验五驻波管法测定吸声材料的吸声系数 (12) 实验六环境噪声测量 (14)

建筑物理实验室学生实验守则 一、要按时进入实验室并签到,迟到15分钟禁止实验。 二、实验前必须认真预习实验指导书,写出预习报告(包括:实验题目、实验目的、实验原理和操作步骤),回答指导教师的提问,否则应重新预习,经指导教师认可后方能进行实验。 三、进入实验室后应保持安静,不得高声喧哗和打闹,不准穿拖鞋、短裤和背心,不准抽烟,不准随地吐痰和乱扔废物,保持实验室和仪器设备的整齐清洁。 四、做实验时要严格遵守实验室的各项规章制度和仪器设备操作规程,服从指导教师和实验技术人员的指导,按要求进行实验操作,如实记录实验中观察到的现象和结果,不得弄虚作假。 五、要爱护仪器设备及实验室内其它设施,节约使用材料。使用前要仔细检查仪器设备,认真填写使用情况登记表,发现问题应及时报告。未经许可不得动用与本实验无关的仪器设备及其它物品,对不听劝阻造成仪器设备损坏者,按学院有关规定进行处理。 六、实验中要注意安全,避免发生人身事故,防止损坏仪器设备,若出现问题,应立即切断电源,保护现场,并迅速报告指导教师,待查明原因排除故障后方可继续实验。

七、实验结束后要如实填写“实验仪器设备使用记录”。经实验室工作人员检查仪器设备、工具、材料无误后方可离开,严禁擅自将实验室任何物品带走。 八、值日人员要认真打扫卫生,养成良好的卫生习惯。 九、学生应认真按时完成实验报告,对实验指导教师批发的报告要认真改正。实验报告交实验指导教师留存。 十、课外到实验室做实验,须经实验室主任同意。 十一、学生因病、事假缺实验者,可凭假条找任课教师补做实验。因旷课缺实验者,必须写出检查,经辅导员签字同意后,方可补做实验。 十二、学生未完成实验室安排的全部实验无权参加最后考试。 第一篇建筑热工学实验 实验一:室内外热环境参数的测定 指导老师:同组者姓名:实验日期:年月日一.实验目的: 二.实验设备 温湿度计 热舒适度仪 自动气象及生态环境监测系统

计算机图形学上机实验4_实现Bezier曲线和Bezier曲面的绘制

昆明理工大学理学院 信息与计算科学专业操作性实验报告 年级: 10级姓名:刘陈学号: 201011101128 指导教师: 胡杰 实验课程名称:计算机图形学程序设计开课实验室:理学院机房216 实验内容: 1.实验/作业题目:用计算机高级语言VC++6.0实现计算机的基本图元绘制2.实验/作业课时:2学时 3.实验过程(包括实验环境、实验内容的描述、完成实验要求的知识或技能):实验环境:(1)硬件:每人一台PC机 (2)软件:windows OS,VC++6.0或以上版本。 试验内容及步骤: (1)在VC++环境下创建MFC应用程序工程(单文档) (2)编辑菜单资源 (3)添加菜单命令消息处理函数 (4)添加成员函数 (5)编写函数内容 试验要求: (1)掌握Bezier曲线、Bezier曲面、及另一个曲面的算法。 (2)实现对Bezier曲线、Bezier曲面、及另一个曲面。 (3)试验中调试、完善所编程序,能正确运行出设计要求结果。 (4)书写试验报告上交。 4.程序结构(程序中的函数调用关系图)

5.算法描述、流程图或操作步骤: 在lab4iew.cpp文件中添加如下头文件及变量 int flag_2=0; int n_change; #define M 30 #define PI 3.14159 //圆周率 #include "math.h" //数学头文件 在lab4iew.h文件中的public内添加变量: int move; int graflag; void Tiso(float p0[3],float x0, float y0, float p[3]); void OnBezierface(); 在lab4iew.h文件中的protected内添加变量: int n;//控制点数 const int N;//控制点数的上限 CPoint* a;//控制点存放的数组 double result[4][2]; 在lab4iew.cpp文件中的函数Clab4iew::OnDraw(CDC* pDC)下添加如下代码: int i,j; for(i=0;iFillSolidRect(a[i].x-2,a[i].y-2,4,4,RGB(255,55,255)); } pDC->MoveTo(a[0]);

计算机图形学实验报告

计算机图形学 实验报告 学号:20072115 姓名: 班级:计算机 2班 指导老师:何太军 2010.6.19

实验一、Windows 图形程序设计基础 1、实验目的 1)学习理解Win32 应用程序设计的基本知识(SDK 编程); 2)掌握Win32 应用程序的基本结构(消息循环与消息处理等); 3)学习使用VC++编写Win32 Application 的方法。 4)学习MFC 类库的概念与结构; 5)学习使用VC++编写Win32 应用的方法(单文档、多文档、对话框); 6)学习使用MFC 的图形编程。 2、实验内容 1)使用WindowsAPI 编写一个简单的Win32 程序,调用绘图API 函数绘制若干图形。(可选任务) 2 )使用MFC AppWizard 建立一个SDI 程序,窗口内显示"Hello,This is my first SDI Application"。(必选任务) 3)利用MFC AppWizard(exe)建立一个SDI 程序,在文档视口内绘制基本图形(直线、圆、椭圆、矩形、多边形、曲线、圆弧、椭圆弧、填充、文字等),练习图形属性的编程(修改线型、线宽、颜色、填充样式、文字样式等)。定义图形数据结构Point\Line\Circle 等保存一些简单图形数据(在文档类中),并在视图类OnDraw 中绘制。 3、实验过程

1)使用MFC AppWizard(exe)建立一个SDI 程序,选择单文档; 2)在View类的OnDraw()函数中添加图形绘制代码,说出字符串“Hello,This is my first SDI Application”,另外实现各种颜色、各种边框的线、圆、方形、多边形以及圆弧的绘制; 3)在类视图中添加图形数据point_pp,pp_circle的类,保存简单图形数据,通过在OnDraw()函数中调用,实现线、圆的绘制。 4、实验结果 正确地在指定位置显示了"Hello,This is my first SDI Application"字符串,成功绘制了圆,椭圆,方形,多边形以及曲线圆弧、椭圆弧,同时按指定属性改绘了圆、方形和直线。成功地完成了实验。 结果截图: 5、实验体会 通过实验一,了解了如用使用基本的SDI编程函数绘制简单的图

计算机图形学上机实验指导

计算机图形学上机实验指导 指导教师:张加万老师 助教:张怡 2009-10-10

目录 1.计算机图形学实验(一) – OPENGL基础 ..................................... - 1 - 1.1综述 (1) 1.2在VC中新建项目 (1) 1.3一个O PEN GL的例子及说明 (1) 2.计算机图形学实验(二) – OPENGL变换 ..................................... - 5 - 2.1变换 (5) 3.计算机图形学实验(三) - 画线、画圆算法的实现....................... - 9 - 3.1MFC简介 (9) 3.2VC6的界面 (10) 3.3示例的说明 (11) 4.计算机图形学实验(四)- 高级OPENGL实验...................... - 14 - 4.1光照效果 (14) 4.2雾化处理 (16) 5.计算机图形学实验(五)- 高级OPENGL实验........................ - 20 - 5.1纹理映射 (20) 5.2反走样 (24) 6.计算机图形学实验(六) – OPENGL IN MS-WINDOWS .......... - 27 - 6.1 实验目标: (27) 6.2分形 (28)

1.计算机图形学实验(一) – OpenGL基础 1.1综述 这次试验的目的主要是使大家初步熟悉OpenGL这一图形系统的用法,编程平台是Visual C++,它对OpenGL提供了完备的支持。 OpenGL提供了一系列的辅助函数,用于简化Windows操作系统的窗口操作,使我们能把注意力集中到图形编程上,这次试验的程序就采用这些辅助函数。 本次实验不涉及面向对象编程,不涉及MFC。 1.2在VC中新建项目 1.2.1新建一个项目 选择菜单File中的New选项,弹出一个分页的对话框,选中页Projects中的Win32 Console Application项,然后填入你自己的Project name,如Test,回车即可。VC为你创建一个工作区(WorkSpace),你的项目Test就放在这个工作区里。 1.2.2为项目添加文件 为了使用OpenGL,我们需要在项目中加入三个相关的Lib文件:glu32.lib、glaux.lib、opengl32.lib,这三个文件位于c:\program files\microsoft visual studio\vc98\lib目录中。 选中菜单Project->Add To Project->Files项(或用鼠标右键),把这三个文件加入项目,在FileView中会有显示。这三个文件请务必加入,否则编译时会出错。或者将这三个文件名添加到Project->Setting->Link->Object/library Modules 即可。 点击工具条中New Text File按钮,新建一个文本文件,存盘为Test.c作为你的源程序文件,再把它加入到项目中,然后就可以开始编程了。 1.3一个OpenGL的例子及说明 1.3.1源程序 请将下面的程序写入源文件Test.c,这个程序很简单,只是在屏幕上画两根线。 #include

相关文档
相关文档 最新文档