文档库 最新最全的文档下载
当前位置:文档库 › mathematica实验报告3(图形绘制)

mathematica实验报告3(图形绘制)

mathematica实验报告3(图形绘制)
mathematica实验报告3(图形绘制)

新疆财经大学《数学软件》实验报告

实验3 图形绘制

班级专业:数学-08-01 姓名:崔仁霞李海燕学号:2008101427 200810147 日期:成绩:

)命令:

图形学实验报告

计 算 机 图 形 学 实验指导书 学号:1441901105 姓名:谢卉

实验一:图形的几何变换 实验学时:4学时 实验类型:验证 实验要求:必修 一、实验目的 二维图形的平移、缩放、旋转和投影变换(投影变换可在实验三中实现)等是最基本的图形变换,被广泛用于计算机图形学的各种应用程序中,本实验通过算法分析以及程序设计实验二维的图形变换,以了解变换实现的方法。如可能也可进行裁剪设计。 二、实验内容 掌握平移、缩放、旋转变换的基本原理,理解线段裁剪的算法原理,并通过程序设计实现上述变换。建议采用VC++实现OpenGL程序设计。 三、实验原理、方法和手段 1.图形的平移 在屏幕上显示一个人或其它物体(如图1所示),用交互操作方式使其在屏幕上沿水平和垂直方向移动Tx和Ty,则有 x’=x+Tx y’=y+Ty 其中:x与y为变换前图形中某一点的坐标,x’和y’为变换后图形中该点的坐标。其交互方式可先定义键值,然后操作功能键使其移动。 2.图形的缩放 在屏幕上显示一个帆船(使它生成在右下方),使其相对于屏幕坐标原点缩小s倍(即x方向和y方向均缩小s倍)。则有: x’=x*s y’=y*s 注意:有时图形缩放并不一定相对于原点,而是事先确定一个参考位置。一般情况下,参考点在图形的左下角或中心。设参考点坐标为xf、yf则有变换公式x’=x*Sx+xf*(1-Sx)=xf+(x-xf)*Sx y’=y*Sy+yf*(1-Sy)=yf+(y-yf)*Sy 式中的x与y为变换前图形中某一点的坐标,x’和y’为变换后图形中该点的坐标。当Sx>1和Sy>1时为放大倍数,Sx<1和Sy<1时为缩小倍数(但Sx和Sy

计算机图形学实验报告

《计算机图形学》实验报告姓名:郭子玉 学号: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; }

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

大学实验报告 学院: 计算机科学与信息专业:计算机科学与技术班级:计科101 喻志华学号1008060024 实验组实验时间2013/3/30 指导教师吴云成绩实验项目名称圆和椭圆的生成算法 实 验目的 根据圆的Brensenham算法、中点算法和中点改进算法,以及椭圆的中点算法,编写程序,实现圆与椭圆的绘制。 实 验要求1.圆、椭圆的中点算法 2.圆的优化后的算法:二次差分法 3.编制源程序; 4.对于一些较为重要的算法,可以摘抄在报告中; 实验原理 1.中点算法 A.构造函数 F(X,Y)=X2+Y2-R2,则可知 F(M)< 0:M在圆,取T F(M)≥ 0:M在圆外,取 B B.第一个M点的值有: (一)DM0 = F(M0)= F(1,R-0.5)= 12+(R-0.5)2-R2=1.25-R 若 D=d-0.25 则判别式d<0等价于D<-0.25。即DM0=1-R与DM0=1.25-R等价。 (二)如果dM<0,表示下一中点M在圆,选择T点,且: dMT= F(MT)= F(xp+2,yp-0.5) 则: ?dMT= dMT - dM=2xp+3 (三)如果dM>0,表示下一中点M在圆外,选择B点,且: dMB= F(xMB,yMB)= F(xp+2,yp-1.5)则: ?dMB= dMB - dM=2xp-2yp +5 2.中点改进算法——增量算法

设圆上某点I(xi,yi);则下一点为J点,坐标为(xi+1,yj)dT=2xp+3; dB=2(xp-yp)+5; d1=d2=0; 因为x每次加1,所以 dj点 A.将增量?dMT=2(xi+1)+3=dT+2=dT+d1; (d1=d1+2) B.将增量?dMB=2(xi+1)-2yj+5=dB+d1+d2; dj较之于di,x部分增量增加相同的量,y部分两种情况 1.取T点,yj不减1,y部分增量的增量无变化 2.取B点,yj减1,y部分增量的增量加 2. 所以当y—时,d2=d2+2 因此,d<0, d=d+dT+d1; d>0, d=d+dB+d1+d2; 3.Brensenham算法 1.基本思想: 当|D(Ti)|≥|D(Bi)|,则Bi更接近于圆周,选择Bi; 当|D(Ti)|<|D(Bi)|,则Ti更接近于圆周,选择Ti; 若令D=|D(Ti)|-|D(Bi)| 则D≥0,取Bi; D<0,取Ti; 2.三种情况 A.设x0=0,y0=R;则T1为(1,R),B1为(1,R-1), d1=(12+R2-R2)+[(12+(R-1)2-R2]=3-2R B.若di<0,则取Ti作为下一点,即Pi(xi-1+1,yi-1); d(i+1)=di+4xi-1+6 C.若di≥0,则取Bi作为下一点,即Pi(xi-1+1,yi-1-1), d(i+1)=di+4(xi-1-yi-1)+10 4.椭圆的中点算法

南京邮电大学工程制图实验报告示例

实验报告 课程名称:制图基础及计算机绘图 学生姓名:某某某 班级学号: B14020XXX 指导教师: XXX 指导单位:理学院 日期:年月日至年月日

实验一平面图形的设计 班级B140209 学号姓名 第周星期第节成绩 一、实验目的 1. 学会打开、关闭和保存图形文件和熟悉MDT2004DX的界面。熟悉MDT2004DX环境及 常用绘图命令和编辑命令。 2. 学会部分常用绘图命令和编辑命令,掌握工具栏的调用方法。 3. 学会视窗的显示控制和图层的建立,学会注写文字。 二、实验内容 按图示尺寸完成横置A4图一张,尺寸标注不作要求。横置A4图纸幅面尺寸、图框、标题栏按教材第1章相关内容绘制。 注意:在标题栏的绘图后面填写姓名和学号信息!!! 三、实验步骤 (结合屏幕截图,详细描述作图主要步骤) 1 启动Mechanical Desktop

选择“开始→所有程序→Autodesk→Mechanical Desktop 2004 DX→Mechanical Desktop 2004 DX”。 2 创建新图形文件 选择菜单“文件→新建部件文件”执行New命令,在选择样板对话框中选择Gb_a3.dwt,如图1所示。 图1 3 绘制420*297的矩形框。 选择菜单“设计→直线”,使用Line命令按下述操作。 结果如图2所示: 4 绘制图框。

选择菜单“修改—偏移”,使用偏移命令按下述操作完成。结果如图3所示。 图3 5 去除图框四角多余部分。 选择菜单“修改—圆角”,按下述操作完成。 结果如图4所示。

图4 6 创建表格框 选择菜单“修改—偏移”,使用偏移命令按下面步骤进行。结果如图5所示。

图形学实验报告

山东建筑大学测绘地理信息学院 实验报告 (2016—2017学年第一学期) 课程:计算机图形学 专业:地理信息科学 班级:地信141 学生姓名:王俊凝 学号:20140113010 指

实验一直线生成算法设计 一、实验目的 掌握基本图形元素直线的生成算法,利用编程语言C分别实现直线和圆的绘制算法。 二、实验任务 在TurboC环境下开发出绘制直线和圆的程序。 三、实验仪器设备 计算机。 四、实验方法与步骤 1 运行TurboC编程环境。 2 编写Bresenham直线绘制算法的函数并进行测试。 3 编写中点圆绘制算法的函数并进行测试。 4 增加函数参数,实现直线颜色的设置。 提示: 1. 编程时可分别针对直线和圆的绘制算法,设计相应的函数,例如void drawline(…)和void drawcircle(…),直线的两个端点可作为drawline的参数,圆的圆心和半径可作为drawcircle的参数。 2. 使用C语言编写一个结构体类型用来表示一个点,结构体由两个成员构成,x和y。这样,在向函数传入参数时,可使用两个点类型来传参。定义方法为:

typedef struct{ int x; int y; }pt2; 此处,pt2就是定义的一个新的结构体数据类型,之后就可用pt2来定义其他变量,具体用法见程序模板。 3. 在main函数中,分别调用以上函数,并传入不同的参数,实现对直线的绘制。 4. 线的颜色也可作为参数传入,参数可采用TurboC语言中的预设颜色值,具体参见TurboC图形函数。 五、注意事项 1 代码要求正确运行,直线和圆的位置应当为参数,实现可配置。 2 程序提交.c源文件,函数前和关键代码中增加注释。 程序模板 #include #include typedef struct{ int x; int y; }pt2; /*declare your drawing functions.*/ void drawline(pt2 startpt,pt2 endpt,int color); void drawcircle(pt2 centerpt,int radius,int color); void circlePlotPoints(pt2 centerpt,int x,int y,int color); int main() { int color,radius;

《工程制图与计算机制图A》实验报告

《工程制图与计算机制图A》实验报告 学院:自动化学院 班级:自动18班 姓名: 学号: 上机时间:2018.11.3 上机地点:一号实验楼238号

实验一AutoCAD的基本操作 一、实验目的 1、了解AutoCAD基本概念 2、学习AutoCAD的基本操作 二、实验内容 (一)几何图形绘制 I、实验要求: 1. 启动AutoCAD,熟悉工作界面。 2. 根据所注尺寸1∶1绘制图1-1所示图形。 图1-1 几何图形 II、实验方法: 1.首先打开AutoCAD2007进入到工作界面,选用矩形命令设置为六边形,然后画图如图所示 2. 选用矩形命令设置长宽制出矩形,并选中对象设置其线宽,绘制定位线并且进行平移和设置线型和线宽,再进行旋转,剪切。最后得到如图所示 3. 选用圆形命令设置半径先绘出两个半径不一的同心圆,随后选用椭圆命令画一个椭圆使其长轴的两个顶点与两个同心圆相接,再使用镜像命令以圆的直径为镜像线画出其他椭圆 4. 首先使用画圆命令,在页面中心画出一个大圆,再使用画圆命令,画出两个中圆内切于大圆,再次使用画圆命令,画出两个直径略小的小圆,最后使用删除指令,删除不必要的线段,使用图案填充添加拾取点涂上颜色,一个太极图片就出来了 三、实验总结和心得 1.通过这堂AutoCAD的上机,我第一次用电脑独立的完成绘图,能够绘制一些基本的图形,掌握了如何绘制出一些符合要求的图形,学会运用了cad的一些绘图命令,感叹cad功能强大的同时也提升了自己作为大学生的基本基础绘图技能 2.我基本掌握到了CAD的基础操作,没有了对之前CAD的陌生感。

实验二基本实体三视图的绘制 一、实验目的 学会使用极轴追踪、对象捕捉和对象追踪画简单三视图 二、实验内容 绘制三视图 一.实验要求: 1 .熟悉并掌握用AutoCAD二维交互功能绘制三视图 2.正确使用极轴追踪、对象捕捉和对象追踪 3.熟悉使用图层操作 二.实验方法 (1)用“图形单位”对话框确定绘图单位(使用缺省值)。 (2)用“LIMITS”(图限)命令选A4图幅(长297mm,宽210 mm)。 (3)打开正交、栅格及栅格捕捉。 (4)建图层、设线型、线宽及颜色。 粗实线黑色实线(CONTINUOUS) 0.5 mm 虚线黑色虚线(JIS_02_1.0) 0.55 mm (5)先画正视图,用直线绘制图形的基准线,再绘制图形;在绘制俯视图,用直 线绘制基准线,再用粗实线根据主视图绘制完成俯视图;绘制左视图,根据主视 图和俯视图,绘制一条135度的辅助线,在根据主视图用直线绘制基准线,然后 利用辅助线,根据俯视图绘制完成左试图。运用剪切,删除等修改图形,最终绘 制成习题2.1的图案 图2-1 绘制三视图 画简单的三视图(不注尺寸),如图2-1所示。注意利用“极轴追踪”、“对象捕捉”和“对象追踪”使三视图“长对正、高平齐、宽相等”。 三、实验总结和心得 通过本次实验,我了解了图型界限的含义,掌握了绘图编辑的基本操作和重要操作,同时也掌握了使用正交绘图、动态输入命令和设置光标捕捉、栅格、对象捕捉、极轴追踪的方法,熟悉了对象特性包括线型、线宽、颜色等的设置。

mathematica数学实验报告

高等数学实验报告 实验一 一、实验题目 1:作出各种标准二次曲面的图形 ParametricPlot3D Sin u Sin v,Sin u Cos v,Cos u ,u,0,Pi ,v,0,2Pi,P Graphics3D ParametricPlot3D u Sin v,u Cos v,u^2,u,0,2,v,0,2Pi,PlotPoints30

Graphics3D ParametricPlot3D u,v,u^2v^2,u,2,2,v,2,2,PlotPoints30 Graphics3D ParametricPlot3D Sec u Sin v,Sec u Cos v,Tan u,u,Pi4,Pi4,v,0,2

Graphics3D t1ParametricPlot3D u^21Sin v,u^21Cos v,u,u,1,5,v,0,2Pi t2ParametricPlot3D u^21Sin v,u^21Cos v,u,u,5,1,v,0,2 show t1,t2 Graphics3D

Graphics3D show Graphics3D,Graphics3D ParametricPlot3D u Cos v,u Sin v,u,u,6,6,v,0,2Pi,PlotPoints60 Graphics3D 2:作出曲面所围的图形 t1ParametricPlot3D Sin u Sin v,Sin u Cos v,Cos u, u,Pi2,pi2,v,0,2Pi,PlotPoints60 t2ParametricPlot3D0.5Cos u12,0.5Sin u, u,0,2Pi,v,0,2Pi,PlotPoints60 t3Plot3D0,PlotPoints60 show t1,t2,t3

工程制图与实习实验报告模板.docx

工程制图与CAD 实习报告 学院:材料与化工学院 班级:化工 0801 学号: 姓名:李天宇 指导老师:张平 实验一:AutoCAD的基本操作 指导教师实验时间: 2011 年3月10日 学院学院专业 班级学号姓名实验室 一、实验题目: AutoCAD的基本操作 二、实验目的: 1、了解AutoCAD基本概念 2、学习AutoCAD2008的基本操作 三、实验主要步骤及结果: 1、几何图形绘制 (1)启动AutoCAD 用下拉菜单“格式”→“单位”或命令行输入:UNITS↙,查看和设置绘图单位、精度(建议使用缺省值)及角度(建议使用缺省值)。

(2)设置图幅(选A3图幅)。 (3)用绘图工具栏的直线命令绘制,绘图时确定点的方式:用鼠标导向“直接距离”方式画各水平、垂直线(打开极轴);用“相对坐标”方式画斜线。 (4)将绘制的图形存盘,在后面标注尺寸时使用。 2、图框设置与绘制 (1)用“图形单位”对话框确定绘图单位(建议使用缺省值)。 (2)用“LIMITS”(图限)命令选A3图幅(长420 mm,宽297 mm)。 (3)打开正交、栅格及栅格捕捉。 (4)建图层、设线型、线宽及颜色。 粗实线白色(或黑色)实线(CONTINUOUS) 0.7 mm 细实线白色(或黑色)实线(CONTINUOUS) 0.35 mm 点画线红色点画线(CENTER) 0.35 mm 虚线蓝色虚线(HIDDENX2) 0.35 mm 尺寸白色(或黑色)实线(CONTINUOUS) 0.35 mm (5)用绘图工具栏的直线命令图标按钮绘制边框,在粗实线层上画图框线,在细实线层上画图幅线。 心得体会:通过这次实验,我对CAD绘图有了初步的了解,掌握了 CAD中基本绘图操作 以下书写实验的有关格式,仅作参考:

mathematica 数学实验报告材料 实验一

数学实验报告 实 验 一 数学与统计学院 信息与计算科学(1)班 郝玉霞 201171020107

数学实验一 一、实验名:微积分基础 二、实验目的:学习使用Mathematica的一些基本功能来验证或观察得出微积分学的几个基本理论。 三、实验环境:学校机房,工具:计算机,软件:Mathematica。 四、实验的基本理论和方法:利用Mathematica作图来验证高中数学知识与大学数学容。 五、实验的容和步骤及结果 容一、验证定积分 dt t s x ?= 1 1 与自然对数 x b ln= 是相等的。 步骤1、作积分 dt t s x ?= 1 1 的图象; 语句:S[x_]:=NIntegrate[1/t,{t,1,x}] Plot[S[x],{x,0.1,10}] 实验结果如下: 图1 dt t s x ?= 1 1 的图象 步骤2、作自然对数 x b ln= 的图象 语句:Plot[Log[x],{x,0.1,10}] 实验结果如下: 2 1

图2 x b ln= 的图象 步骤3、在同一坐标系下作以上两函数的图象 语句:Plot[{Log[x],S[x]},{x,0.1,10}] 实验结果如下: 2 1 图3 dt t s x ?= 1 1 和 x b ln= 的图象 容二、观察级数与无穷乘积的一些基本规律。 (1)在同一坐标系里作出函数和它的Taylor展开式的前几项构成的多项式函数,,的图象,观察这些多项式函数的图象向的图像逼近的情况。 语句1: s[x_,n_]:=Sum[(-1)^(k-1)x^(2k-1)/((2k-1)!),{k,1,n}] Plot[{Sin[x],s[x,2]},{x,-2Pi,2Pi},PlotStyle->{RGB[0,0,1]}] 实验结果如下: 642 4 2 图4和它的二阶Taylor展开式的图象

计算机图形学实验报告

《计算机图形学》 实验报告 学号:0908610211 姓名:宋雪英 班级:计算机0961 项目: 1.利用其它两种画直线方法实现放大10陪显示方法,交互式画直线,预先定义直线段的起止端点,每点击一次鼠标左键,画出直线上的一点,直到终点为止。 2.利用方形、线性两种画刷来绘制圆和椭圆。 3.实现交互式二维图形的放缩,旋转和对称变换 2012年12月25日

基本图形的生成技术 一、实验目的 在一个图形系统中,基本图形(也称为图元、图素等)的生成技术是最基本的,任何复杂的图形都是由基本图形组成的,基本图形生成的质量直接影响该图形系统绘图的质量。所以,需要设计出精确的基本图形生成算法,以确保图形系统绘图的精确性。本次实验的目的就是利用Bresenham 算法和中心画线法两种画直线方法实现放大10陪显示方法,交互式画直线,预先定义直线段的起止端点,每点击一次鼠标左键,画出直线上的一点,直到终点为止。利用方形、线性两种画刷来绘制圆和椭圆。实现交互式二维图形的放缩,旋转和对称变换。 二、实验任务 1.利用其它两种画直线方法实现放大10陪显示方法,交互式画直线,预先定义直线段的起止端点,每点击一次鼠标左键,画出直线上的一点,直到终点为止。 2.利用方形、线性两种画刷来绘制圆和椭圆。 3.实现交互式二维图形的放缩,旋转和对称变换。 三、画直线的实验内容 任务一:利用其它两种画直线方法实现放大10陪显示方法交互式画直线,预先定义直线段的起止端点,每点击一次鼠标左键,画出直线上的一点,直到终点为止。 1、设计思路 第一步:建立DDAMouseLine工程文件; 第二步:向视图类中添加自定义的成员变量 用鼠标右键单击视图类,选择“Add Member Variable…”,添加下面三个成员变量。 proctected : CPoint m_p1; //起点 CPoint m_p2; //起点 CPoint m_p; //点击鼠标时点的取值 第三步:向视图类中添加自定义的成员函数原型:

计算机图形学实验报告记录

计算机图形学实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

计算机图形学实验报告 姓名:___ __________ 学号:_____ ________ 班级:______ _______ 时间:_____2016年12月_________

实验一OpenGL编程与图形绘制 1.实验目的 了解OpenGL编程,并熟悉OpenGL的主要功能、绘制流程和基本语法。学会配置OpenGL环境,并在该环境中编程绘图。 2.实验内容 OpenGL的主要功能:模型绘制、模型观察、颜色模式、光照应用、图像效果增强、位图和图像处理、纹理映射、实时动画和交互技术。 OpenGL的绘制流程分为两个方面:一个完整的窗口系统的OpenGL图形处理系统的结构为:最底层为图形硬件,第二层为操作系统,第三层为窗口系统,第四层为OpenGL,最上面的层为应用软件;OpenGL命令将被放在一个命令缓冲区中,这样命令缓冲区中包含了大量的命令、顶点数据和纹理数据。当缓冲区被清空时,缓冲区中的命令和数据都将传递给流水线的下一个阶段。 OpenGL的基本语法中相关库有:OpenGL核心库:gl、OpenGL实用程序库:glu、OpenG 编程辅助库:aux、OpenGL实用程序工具包(OpenGL utility toolkit,GLUT):glut、Windows 专用库:wgl。 OpenGL的基本语法中命名规则为:OpenGL函数都遵循一个命名约定,即采用以下格式:<库前缀><根命令><可选的参数个数><可选的参数类型>。 了解了上述基础知识后,配置好OpenGL环境,然后在该环境中编程练习图形的绘制,本次实验主要是对点的绘制、直线的绘制和多边形面的绘制。 3.实验代码及结果 3.1点的绘制: #include 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 Display(void) {

MATHEMATICA实验报告

【MATHEMATICA实验报告】 【实验目的】 1.掌握Mathematica软件的启动和退出,以及Mathematica帮助系统。 2.熟悉Mathemaic的计算其功能以及常用的数字函数。 3.掌握变量的定义,变量的操作。 4.掌握函数的定义以及运算。 【实验内容】 1.求下列积分 (1) (4sin()3cos())/(sin()2cos()) x x x x dx ++ ? 输入: y=(4 Sin[x]+3 Cos[x])/(Sin[x]+2Cos[x]); Integrate[y,x] 输出: 2 x-Log[2 Cos[x]+Sin[x]] (2) /2 (cos())^5sin(2) x x dx π ? 输入: y=Cos[x]^5 Sin[2 x] Integrate[y,{x,0,Pi/2}] 输出: Cos x5Sin2x 2 7 (3)1 /(^21)^(3/2) dx x x -+ ? 输入: y=1/(x^2-x+1)^(3/2); Integrate[y,{x,0,1}] 输出: 4 3 2.求积分 1 (1/2)*^(^2/2) e x dx π -∞ - ? 输入:y=E^(-x^2/2)/Sqrt[2*Pi]; NIntegrate[y,{x,Infinity,1}] 输出: -0.158655

3.求y=e^(x^2)在x=0的9阶泰勒公式。 输入: Series[Exp[x^2],{x,0,9}] 输出: 1x 2x 4 2x 66x 824O x 10 4.作出以下参数方程所描述的图形。 (1) 4cos {3sin x t y t ==,(0≤t ≤2π) 输入: ParametricPlot[{4 Cos[t],3 Sin[t]},{t,0,2Pi}] 输出: -4-2 24-3-2 -1 1 2 3 (2)3(cos )^3 {3(sin )^3x t y t -= 输入: ParametricPlot[{3 Cos[t]^3,3 Sin[t]^3},{t,0,2 Pi}] 输出: -3-2-1 123-3-2 -1 12 3

计算机图形学实验报告 (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))

数学应用软件实验报告(mathematica实验程序)1

徐州工程学院数理学院数学应用软件实验报告 课程(实验序号)数学应用软件实验 1 实验地点、日期数学建模机房2011 年 2 月23 日主要仪器设备计算机 使用的软件名称Mathematica 实验类型演示性实验 验证性实验 综合性实验√设计性实验 研究性实验 班级:姓名:孙娅学号:20090402223 一、实验题目名称:函数】变量和表达式 二、实验目的: 理解变量和算式、内核与前端处理器构成的人机对话系统,了解计算的精度问题个Mathematica使用中的几个问题。熟练掌握数的表示和计算、常用数学函数,会绘制简单函数的图形。通过上机初步了解数学应用软件,Mathematica的各种界面。 三、实验内容: 练习题1 1.计算下列各式的数值: (1) Log[2,10] Log[10]/Log[2] (2) Sqrt[Pi^2+1] 1 2 (3) Log[10,3264] Log[3264]/Log[10] (4) E^E ??/2 (5) Cos[135^0] Cos[1] (6) Sin[Pi^2/2] Sin[π2/2] (7) ArcSin[1/2] π/6 (8) 200! 7886578673647905035523632139321850622951359776871732632947425332443594499634033429203042 8401198462390417721213891963883025764279024263710506192662495282993111346285727076331723 7396988943922445621451664240254033291864131227428294853277524242407573903240321257405579

工程制图实验报告(1)

第一次工程制图实验报告 实验日期:2010.10.11 2010.10.18 2010.10.25 课程名称::工程制图实验名称:AutoCAD 二维绘图技能训练 实验目的:熟悉 AutoCAD 的绘图环境设置方法及绘图辅助功能使用技巧,掌握常用 二维绘图及编辑命令,达到能绘制二维工程图样的目的。实验过程:共上机操作 3 次,实践的内容有: 1、学习图纸界限、图层的设置,图线特性选择; 2、学习各种坐标输入方式,捕捉,夹点编辑; 3、掌握二维绘图及编辑命令; 1、图样分析: 根据分析,已知主视图和左视图求画俯视图,此图由一个长方体切割而得,中间再镂空一个小圆柱体并且中间为空心求只有一半,而且其的具有一定的厚度,然后小圆柱体中间偏后面同样被镂空一个小圆柱体,同样也只有半圆,如此我们便能得到大致的轮廓。根据大小,我们应该选择A3或者

A4的纸,图层设置应该包括粗实线,虚线中心线这三种。根据相应的大小及分析,得到我们想要的俯视图。 2、绘制过程: ①limits命令设置图纸界限为A3 幅面;然后 先点击文件新建一个再点击打开建立一个公制类型的无样板打开。 ②激活图层特性管理器,新建粗实线层、中心线层、虚线层其中粗实线宽设为0.3毫米、中心线选用加载的CENTER,且颜色设为黄色,虚线层用dashed线性且为红色。 ③将粗实线层置为当前层,用多段线命令画出图样的主视图的大致轮廓,后面再用圆命令将两个小圆出来,再利用剪接命令得到圆弧最后得到主视图; ④在主视图的右侧再利用多段线命令画出左视图,长与俯视图的宽一致,宽则与主视图的高一致。 将中心线层置为当前层,画时先打开对像捕捉,再捕取主视图的上下两边中点,做出中心线,且可向下延伸一段距离作

最佳分数值逼近(mathematica数学实验报告)

姓名 ### 学院 ###### 班级 ######### 学号 ######### 实验题目 最佳分数值逼近 评分 实验目的: 1、用“连分数展开”的方法计算圆周率π的近似值; 2、通过实验来体会“连分数展开”的方法与其他方法的区别,比较各种方法的优劣; 3、尝试用“连分数展开”的方法对其他的数进行展开。 实验环境: 学校机房,Mathematica4.0软件 实验基本理论和方法: 1、Mathematica 中常用的展开数与多项式的函数的使用; 2、计算圆周率π“连分数展开”方法,并且利用特定的函数来展开其他数。 实验内容和步骤: (一)多项式的展开与化简 多项式是表达式的一种特殊的形式,所以多项式的运算与表达式的运算基本一样,表达式中的各种输出形式也可用于多项式的输出。Mathematica 提供一组按不同形式表示代数式的函数。如: 1、 对12 x 1-进行分解,使用的函数为Factor : 2、 展开多项式 7 x+2()与5 x+y+7(),使用的函数为Expand:

3、 化简(1)^4(2)^(3)x x x +++与(1)^3(2)^4(3)^(1)x x x x +++-,使用的函数为 Pimplify: 4、 连个多项式相除,总能写成一个多项式和一个有理式相加, Mathematic 中提供两个 函数PolynomialQuotient 和PolynomialRemainder 分别返回商式和余式:

(二)π的连分数展开 π的求解方法之前我们已经有许多种,但都比较繁琐而且误差较大,如何找到误差较小的π的近似值求解方法,我们在所得整数3的基础上进行分析,有了整数3,则 π=3+1x ,其中10.141592653579...x =是3的误差,101x <<。只要能找到1x 的最佳分数逼近值,再加3就得到π的最佳分数近似值。从而我们使用一种方法“连分数展开“,其原理是: 为了寻找与1x 接近的分数,先找与11 1 7.062513305931...A x = =接近的整数,显然 是7.于是111223377 A π=+ ≈+=,这是祖冲之的效率。 在此基础上,我们可以再用上述方法,要找到比 22 7 误差更小的分数近似值,只需要找到比整数7更接近1A 的分数来作为1A 的近似值。由于127A x =+,其中 200.062513305931...1x <=<。先找22 1 15.996594406685...A x = =的最佳整数近似值,显然是16.于是1211113771616A A =+ ≈+=,从而1 2 111355 3331 1113 7716 A A π=+=+≈+ = + +,这就得到祖冲之的密度。 如果还要进一步提高精确度,就应当在考虑2A 的整数近似值16的误差 32160.003405593314...x A =-=,取33 1 293.6345910144...A x = =的整数近似值294,则可

《计算机图形学实验报告》

一、实验目的 1、掌握中点Bresenham直线扫描转换算法的思想。 2掌握边标志算法或有效边表算法进行多边形填充的基本设计思想。 3掌握透视投影变换的数学原理和三维坐标系中几何图形到二维图形的观察流程。 4掌握三维形体在计算机中的构造及表示方法 二、实验环境 Windows系统, VC6.0。 三、实验步骤 1、给定两个点的坐标P0(x0,y0),P1(x1,y1),使用中点Bresenham直线扫描转换算法画出连接两点的直线。 实验基本步骤 首先、使用MFC AppWizard(exe)向导生成一个单文档视图程序框架。 其次、使用中点Bresenham直线扫描转换算法实现自己的画线函数,函数原型可表示如下: void DrawLine(CDC *pDC, int p0x, int p0y, int p1x, int p1y); 在函数中,可通过调用CDC成员函数SetPixel来画出扫描转换过程中的每个点。 COLORREF SetPixel(int x, int y, COLORREF crColor ); 再次、找到文档视图程序框架视图类的OnDraw成员函数,调用DrawLine 函数画出不同斜率情况的直线,如下图:

最后、调试程序直至正确画出直线。 2、给定多边形的顶点的坐标P0(x0,y0),P1(x1,y1),P2(x2,y2),P3(x3,y3),P4(x4,y4)…使用边标志算法或有效边表算法进行多边形填充。 实验基本步骤 首先、使用MFC AppWizard(exe)向导生成一个单文档视图程序框架。 其次、实现边标志算法或有效边表算法函数,如下: void FillPolygon(CDC *pDC, int px[], int py[], int ptnumb); px:该数组用来表示每个顶点的x坐标 py :该数组用来表示每个顶点的y坐标 ptnumb:表示顶点个数 注意实现函数FillPolygon可以直接通过窗口的DC(设备描述符)来进行多边形填充,不需要使用帧缓冲存储。(边标志算法)首先用画线函数勾画出多边形,再针对每条扫描线,从左至右依次判断当前像素的颜色是否勾画的边界色,是就开始填充后面的像素直至再碰到边界像素。注意对顶点要做特殊处理。 通过调用GDI画点函数SetPixel来画出填充过程中的每个点。需要画线可以使用CDC的画线函数MoveTo和LineTo进行绘制,也可以使用实验一实现的画直线函数。 CPoint MoveTo(int x, int y ); BOOL LineTo(int x, int y ); 实现边标志算法算法需要获取某个点的当前颜色值,可以使用CDC的成员函数 COLORREF GetPixel(int x, int y ); 再次、找到文档视图程序框架视图类的OnDraw成员函数,调用FillPolygon 函数画出填充的多边形,如下: void CTestView::OnDraw(CDC* pDC) { CTestcoodtransDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc);

计算机图形学实验报告

计算机图形学 实验报告 姓名:谢云飞 学号: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;

南邮计算机图形学实验报告(完整版)

实验报告 实验名称指导教师 实验类型综合实验学时 2 实验时间 一、实验目的和要求 能够灵活的运用OpenGL图形API函数,基于C++程序语言,自行设计出各种各样的计算机图形方案并调整不同的透视模型。学会配置OpenGL 图形函数API,设计(1)在屏幕上显示基本3D图形;(2)设置图形的表面光照模型及投影变换模型。 1.所有图形(例如球体,正方体)有清晰的轮廓。 2.学会设置图形表面的光照色彩以及投影变换模型。 3.尽可能采用高效的算法,以降低时间复杂性和空间复杂性。

二、实验环境(实验设备) 硬件:微机 软件:vs2012

实验报告三、实验过程描述与结果分析 实验代码: #include // 绘制立方体 // 将立方体的八个顶点保存到一个数组里面static const float vertex_list[][3] = { -0.5f, -0.5f, -0.5f, 0.5f, -0.5f, -0.5f, -0.5f, 0.5f, -0.5f, 0.5f, 0.5f, -0.5f, -0.5f, -0.5f, 0.5f, 0.5f, -0.5f, 0.5f, -0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, }; // 将要使用的顶点的序号保存到一个数组里面static const GLint index_list[][2] = { {0, 1}, {2, 3},

{4, 5}, {6, 7}, {0, 2}, {1, 3}, {4, 6}, {5, 7}, {0, 4}, {1, 5}, {7, 3}, {2, 6} }; //光照模型 void init(void) { GLfloat ambient[] = { 0.0, 0.0, 0.0, 1.0 }; GLfloat diffuse[] = { 1.0, 1.0, 1.0, 1.0 }; GLfloat position[] = { 0.0, 3.0, 2.0, 0.0 }; GLfloat lmodel_ambient[] = { 0.4, 0.4, 0.4, 1.0 }; GLfloat local_view[] = { 0.0 }; glClearColor(0.0, 0.1, 0.1, 0.0); glEnable(GL_DEPTH_TEST);

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