计算几何实验报告

合集下载

数学实验报告单范文

数学实验报告单范文

数学实验报告单范文实验名称:探究平面中的几何变换实验目的:通过实验,探究平面中的几何变换,加深对平移、旋转和尺缩变换的理解。

实验器材:1.平面图形模型(如纸片或木板)2.直尺3.量角器4.尺子实验原理:平移变换:平面上的任意一点通过平行移动一定距离,得到该点的平移变换。

平行移动的方向和距离决定了平移的效果。

旋转变换:平面上的任意一点围绕一些旋转中心旋转一定角度,得到该点的旋转变换。

旋转中心和旋转角度决定了旋转的效果。

尺缩变换:平面上的任意一点距离一些固定点的距离乘以一个倍数,得到该点的尺缩变换。

倍数决定了尺缩的效果。

实验步骤:1.准备平面图形模型,可以使用纸片或木板规划图形。

2.使用直尺和量角器测量选定图形的各个重要点和线段的坐标和角度。

3.进行平移变换:a.选定一个平移向量,使用尺子和直尺对图形上的每一个点进行平行移动。

b.测量并记录移动后的图形的各个点和线段的坐标和角度。

4.进行旋转变换:a.选定一个旋转中心和旋转角度,使用量角器和直尺对图形上的每一个点进行旋转变换。

b.测量并记录旋转后的图形的各个点和线段的坐标和角度。

5.进行尺缩变换:a.选定一个固定点和一个倍数,使用尺子对图形上的每一个点进行尺缩变换。

b.测量并记录尺缩后的图形的各个点和线段的坐标和角度。

6.分析实验结果,总结平移、旋转和尺缩变换对图形的影响。

实验结果:经过实验,我们观察到以下现象:1.平移变换:图形上的点整体移动了一段距离,但相对位置仍保持不变。

2.旋转变换:图形上的点绕着旋转中心旋转了一定角度,但相对距离和相对位置仍保持不变。

3.尺缩变换:图形上的点距离固定点乘以一个倍数,使得图形整体扩大或缩小。

实验结论:通过本次实验,我们加深了对平移、旋转和尺缩变换的理解。

平移、旋转和尺缩变换是平面中常见的几何变换,它们能够改变图形的位置、方向和大小。

在实际应用中,我们可以利用这些变换来解决各种几何问题,例如图像处理、计算机图形学和建筑设计等领域。

计算几何实践

计算几何实践

计算几何实践一、课程目标知识目标:1. 让学生掌握计算几何的基本概念,如点、线、面和体的几何属性。

2. 使学生了解并熟练运用几何图形的面积、周长、体积等计算公式。

3. 培养学生运用计算几何知识解决实际问题的能力。

技能目标:1. 培养学生运用计算工具(如计算器、电脑软件等)进行几何计算的能力。

2. 提高学生运用几何图形进行空间想象和构思的能力。

3. 培养学生通过团队合作,共同解决复杂几何问题的能力。

情感态度价值观目标:1. 培养学生对计算几何学科的兴趣,激发学生主动学习的热情。

2. 培养学生严谨、细致、勤奋的学习态度,养成良好的学习习惯。

3. 培养学生运用计算几何知识为生活、为社会服务的意识。

本课程针对初中年级学生,结合课程性质、学生特点和教学要求,明确以上课程目标。

通过本课程的学习,学生能够掌握计算几何的基本知识和技能,提高解决实际问题的能力,培养良好的学习态度和价值观。

同时,课程目标分解为具体的学习成果,为后续的教学设计和评估提供依据。

二、教学内容1. 几何图形基本概念:点、线、面、体的属性及分类。

2. 计算几何公式:平面图形的周长和面积计算,立体图形的表面积和体积计算。

3. 实践应用:运用计算几何知识解决实际问题,如房屋装修面积计算、园林设计等。

4. 计算工具使用:介绍计算器、电脑软件等工具在计算几何中的应用。

5. 团队合作:分组讨论,共同解决复杂几何问题。

教学内容安排和进度:第一课时:几何图形基本概念及分类学习。

第二课时:平面图形的周长和面积计算公式学习。

第三课时:立体图形的表面积和体积计算公式学习。

第四课时:实践应用,解决实际问题。

第五课时:计算工具的使用及团队合作解决问题。

教材章节关联:本教学内容与教材中“计算几何”章节相关,涵盖平面几何、立体几何的基本概念和计算方法。

通过系统学习,使学生能够将几何知识应用于实际生活。

教学内容列举:1. 平面图形:三角形、四边形、圆形等周长和面积计算。

中国地质大学(武汉)-计算几何课程报告-文库版课件

中国地质大学(武汉)-计算几何课程报告-文库版课件

中国地质大学研究生课程论文封面课程名称计算几何教师姓名研究生姓名研究生学号研究生专业软件工程所在院系信息工程学院类别: A.博士√B.硕士 C.进修生日期: 2015 年12 月29 日评语对课程论文的评语:平时成绩:课程论文成绩:总成绩:评阅人签名:注:1、无评阅人签名成绩无效;2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。

一、机器人运动规划背景1.运动规划机器人运动规划的重点在于设计出一条从起点到终点、沿途不与障碍物发生碰撞的有效路径。

无论是哪种机器人,只要希望它在真实的世界移动,就必须求解运动规划问题。

2.简化假设运动的环境是一个平面区域;障碍物与机器人的外形都是多边形;环境是静态的,不会改变;机器人事先对周围环境已知。

3.工作空间与机器人表示机器人所处的环境定义为工作空间(work space),由一组障碍物S = {P1, …, Pt}组成。

设R为在二维环境中移动的一个机器人,R的位置可以表示为R(x,y)。

在多边形机器人上选取一个基点,则机器人自身可以用多边形的顶点进行描述。

如果考虑机器人的旋转因素,可以设顺时针旋转的角度为a,则机器人的位置可以表示为(x,y,a)。

二、自由C-空间(configuration space)通过将障碍物根据机器人的大小进行扩大,得到新的C-空间,可以将多边形机器人转化为点机器人进行考虑,从而简化计算的过程。

下图为圆形机器人(左图)与三角形机器人(右图)生成的C-障碍物,机器人的运动可以考虑为选取的基点绕C-障碍物的运动。

1.Minkowski和对于任何两个集合S1 ⊂ R2 和S2 ⊂ R2 ,其Minkowski和(记作S1 ⊕ S2)定义为:S1 ⊕ S2 := {p + q | p ∈ S1, q ∈ S2}其中,p + q 表示两个向量p 和q 的向量和。

也就是说,若p = (px, py),q = (qx, qy),则有p + q := (px + qx , py + qy)2.Minkowski和与自由C-空间对于任何点p = (px, py),定义-p := (-px, -py);而对于任何集合S,定义-S := {-p | p ∈ S}。

北方工业大学 计算机图形学实验 几何变换

北方工业大学 计算机图形学实验  几何变换

北方工业大学计算机图形学课程实验报告题目:实验二几何变换学院:专业:指导教师:学生班级:学生学号:学生姓名:教师评定:学号:班级:姓名:实验报告二几何变换实验一.实验目的1.熟悉OpenGL图形库;2.掌握几何变换算法。

二.实验环境1.软件环境:操作系统:Win7应用软件:VC6.0,OpenGL2.硬件环境CPU:显卡:三.用矩阵计算实现二维几何变换写程序实现基本矩阵运算,同时实现平移、放缩、旋转等几何变换。

要求自己设计实例验证平移、放缩、旋转函数,采用键盘交互。

已给出二维点坐标结构体、单位矩阵赋值函数。

已给出:二维点坐标结构体struct Point2D{float x, y;}已给出:宏定义3×3数组typedef float Matrix3x3 [3][3];Matrix3x3 matComposite;已给出:单位矩阵赋值函数void matrix3x3SetIdentity(Matrix3x3 matIdent3x3){int row, col;for(row=0; row<3;row++){for(col=0; col<3; col++){matIdent3x3[row][col] = (row==col);}}}要求给出以下函数及实例截图。

1.矩阵左乘运算函数Void matrix3x3PreMultiply(Matrix3x3 m1, Matrix3x3 m2){int row, col;Matrix3x3 temp;for(row=0; row<3;row++){for(col=0; col<3; col++){temp[row][col] = m1[row][0]*m2[0][col] +m1[row][1]*m2[1][col] + m1[row][2]*m2[2][col];}}for(row=0; row<3;row++){for(col=0; col<3; col++){m2[row][col]=temp[row][col];}}2.平移函数void Translate2D (float tx, float ty){Matrix3x3 matTransl;matrix3x3SetIdentity (matTransl);matTransl[0][2]=tx;matTransl[1][2]=ty;matrix3x3PreMultiply(matTransl,matComposite);}3.顶点矩阵左乘合成函数void TransformVerts2D(int nVerts,Point2D * verts){GLint k;GLfloat temp1, temp2;for (k=0;k<nV erts; k++){temp1=matComposite [0][0]*verts[k].x + matComposite[0][1]*verts[k].y + matComposite [0][2];temp2=matComposite [1][0]*verts[k].x + matComposite[1][1]*verts[k].y+matComposite [1][2];verts[k].x=temp1;verts[k].y=temp2;}}4.绘制三角形函数void RenderTriangle (Point2D* verts){int k;glBegin (GL_TRIANGLES);for (k=0;k<3;k++){glVertex2f(verts[k].x,verts[k].y);}glEnd();}5.旋转函数void Rotate2D (Point2D fixedPt, float theta){Matrix3x3 matRot;matrix3x3SetIdentity (matRot);matRot [0][0]=cos(theta);matRot [0][1]=-sin (theta);matRot [0][2]=fixedPt.x*(1-cos (theta))+fixedPt.y*sin(theta);matRot [1][0]=sin (theta);matRot [1][1]=cos (theta);matRot [31][2]=fixedPt.x*(1-cos (theta))-fixedPt.y*sin(theta);matrix3x3PreMultiply(matRot,matComposite);}6.缩放函数void scale2D (GLfloat sx,GLfloat sy,wcPt2D fixedPt){ Matrix3x3 matScale;matrix3x3SetIdentity(matScale);matScale [0][0]=sx;matScale [0][2]=(1-sx)*fixedPt.x;matScale [1][1]=sy;matScale [1][2]=(1-sy)*fixedPt.y;matrix3x3PreMultiply(matScale,matComposite); }7.平移实例及截图8.旋转实例及截图9.缩放实例及截图四.用OpenGL函数库实现几何图元旋转特效在Nehe教程Lesson04基础上,修改程序,在屏幕上画两个三角形、两个四边形,并完成相应动画效果,三角形A绕X轴旋转,三角形B绕Y轴旋转,四边形C绕Z轴旋转,四边形D绕X轴旋转。

计算几何试验报告

计算几何试验报告

计算几何实验报告王弘宇、肖阳、曹云[问题背景]目前在图像的信息隐藏领域大致分为空域和频域两类方法,其中空域的方法不能抵抗应用普遍的jpeg压缩或者简单的集合变换,而频域的大部分方法对于几何变换的抵抗效果也相当不好,一些隐藏效率较高的方法甚至对简单的频域或空域变换都不能保持不变。

而参考文献中的Constellation法则是一个相对鲁棒性较高的方法,原论文中没有给出具体的实现方法,我们的实验主要是依据该论文思想进行了一定程度的发挥和创新。

[算法及原理]主要利用的是频域变换的系数在各种小幅度几何变换内保持不变的性质和频域峰值、点集的凸性对于几何变换保持不变的性质。

几何变换主要是指各种仿射变换。

隐藏算法过程为:1.对原图进行二维离散余弦变换。

2.在原图等大的空间内撒播正态分布随机数,每个随机数占据一定的空间,直到连续若干步内找不到空间可以放置随机数。

3.对该随机点集逐层求凸包,按照每层凸包的单调多边形链在原图上设置极值表示待隐藏信息,每一层都从最左上点逆时针开始。

其中某点极值的求法为周围八点的平均值加上4倍的标准差。

在R层的极值表示1,在G层的极值表示0。

4.对隐藏后的频域图进行二维反余弦变换。

检测算法过程为:1.对待检测图进行二维离散余弦变换。

2.对每一点进行判断,是否属于极值点。

3.解码。

过程基本同隐藏算法第三步。

[系统设计]采用MDI多文档结构,设计了CDib类对24bit位图进行操作,和MATLAB 的接口使用mwArray数据类型。

Dib[0]储存原图,Dib[1]储存DCT变换后的频域图形,Dib[2]储存随机点集的位置,Dib[3]储存隐藏后的频域极点示意图,Dib[4]储存反变换后的已隐藏了数据的图像,Dib[5]储存从待检测图像中所恢复出的极点和其代表的二进制位。

[实现过程中遇到问题及解决对策]1.DCT变换后低频分量集中在左上角,高频分量集中在右下角。

为了不会较大的影响图像质量同时又不会被低通滤波影响,设置了阈值border,用来控制低频和高频中不进行数据隐藏的区域的大小。

计算机辅助几何造型实验报告

计算机辅助几何造型实验报告

实验报告一:CAD软件介绍UG(Unigraphics)是Unigraphics Solutions公司推出的集CAD/CAE/CAM 为一体的全三维参数化机械设计平台、是当今世界上最先进的计算机辅助设计、分析和制造软件之一,广泛应用于航空航天、汽车、通用机械、电子等领域。

UG 是一个交互式的计算机辅助设计(CAD),计算机辅助制造(CAM)系统,具备了当今机械加工领域所需的大多数工程设计和制图功能。

UG是一个全三维、双精度的造型系统,使用户几乎能够精确地描述任何几何形体,通过对这些形体的组合,就可以对产品进行设计、分析和制图。

UG自从1990年,进入我国以来,以其强大的功能和工程背景,已经在我国的航空、航天、汽车、模具和家电等领域得到广泛的应用。

尤其UG软件PC版本的推出,为UG在我国的普及起到了良好的推动作用。

实验一曲线造型综合性实验实验内容及结果:1.新建文件名(注意不能有中文名或者是中文目录) spline1.part,选择建模模块,构造型值点:插入(S)—〉基准/点—〉点(P),在点构造器中输入型值点的坐标或者直接用鼠标取点在工具栏空白处点右键选取曲线,并在弹出的工具栏中点取工具条右上角小箭头,将样条,艺术样条选上,/(a)通过极点:1.指定曲线阶次,确定进入下一步。

2.弹出点构造器对话框,选取前面构造的型值点,然后点确定进入下一步。

(b) 通过点的方式构造曲线:1.指定曲线阶次,确定进入下一步2.弹出样条对话框,选取“全部成链“进入下一步。

3.在弹出的“指定点”对话框中选取前面构造的型值点起点和终点,确定进入下一步4.在弹出的对话框中,点确定生成曲线。

(c)拟合5.点击“拟合”后,弹出样条对话框,选取“全部成链“进入下一步。

6.在弹出的“指定点”对话框中选取前面构造的型值点起点和终点,确定进入下一步7.在弹出的对话框中选择拟合方法,修改样条拟合条件,点确定生成曲线。

2.在工具条中选取艺术样条曲线的构造方法:由型值点直接生成样条。

小学数学教科版四年级上册第二单元《运算和几何》实验报告汇总

小学数学教科版四年级上册第二单元《运算和几何》实验报告汇总

小学数学教科版四年级上册第二单元《运算和几何》实验报告汇总
本报告汇总了小学数学教科版四年级上册第二单元《运算和几何》的实验报告。

以下是实验报告的主要内容:
1. 实验目的:
通过进行各种数学运算和几何形状的实验,帮助学生巩固和加深对运算和几何的理解,并提高他们的数学能力。

2. 实验材料:
- 笔、纸
- 直尺、量角器
- 形状模型(如正方形、三角形、长方形等)
3. 实验步骤和结果:
- 实验1:四则运算实验
学生进行了加法、减法、乘法和除法的实验,并记录下相应的计算结果和答案。

- 实验2:几何形状实验
学生使用直尺和量角器,绘制了不同形状的图形,并标注出相
应的边长、角度等特征。

- 实验3:运算和几何结合实验
学生将运算和几何相结合,通过计算图形的周长、面积等进行
实验,并总结规律和结论。

4. 实验分析和讨论:
学生通过实验发现了四则运算的规律和几何形状的特点,并与
同学进行了交流和讨论,加深了对数学知识的理解。

5. 实验总结:
经过本单元的实验研究,学生对运算和几何的理解得到了提高,同时也提升了他们的数学能力和动手实践能力。

在未来的研究中,我们将继续进行更多的实验,探索数学的奥秘,培养学生的创造思维和问题解决能力。

感谢您对本报告的关注!
(800字)。

八年级数学实验报告-平面几何实验报告

八年级数学实验报告-平面几何实验报告

八年级数学实验报告-平面几何实验报告实验目的本实验旨在通过实际观察和测量,巩固和提升学生对平面几何概念的理解,特别是对于图形的性质和特征。

实验材料- 直尺- 量角器- 钢笔- 白纸- 色彩笔实验步骤步骤一:画直线1. 在白纸上选择一点作为起点,使用直尺和钢笔在该点处画一条直线。

2. 使用量角器测量直线与横线的夹角,并记录测量结果。

步骤二:画矩形1. 在直线上选择一点作为矩形的一个顶点,在该点处使用量角器测量直线与横线的夹角,并记录测量结果。

2. 使用直尺在该点处画一条垂直于直线的线段,作为矩形的一条边。

3. 使用直尺在直线上选择一个长度,与第一条线段的长度相等,画一条平行于第一条线段的线段,作为矩形的另一条边。

4. 使用直尺连接矩形的所有顶点,完成矩形的绘制。

步骤三:观察与总结1. 通过观察矩形的性质,记录矩形的特点和性质,例如:两对相等的边,相对的边平行,对角线相等等。

实验结果与结论通过本实验,我们巩固了平面几何的概念,并研究了如何绘制和观察图形的性质和特征。

在实验中,我们发现矩形具有以下特点:- 两对相等的边- 相对的边平行- 对角线相等这些性质使得矩形成为一个重要的几何图形,在实际生活和数学问题中有广泛应用。

实验心得通过本次实验,我对矩形的性质有了更深入的理解,并掌握了绘制矩形的方法。

实践中观察和总结图形的性质,可以帮助我们更好地理解几何概念,并提升解决几何问题的能力。

同时,本次实验还培养了我的测量和绘图能力,提高了我的实践操作技巧。

在今后的学习过程中,我将积极应用所学知识,不断探索平面几何的更多内容。

圆面积推算实验报告

圆面积推算实验报告

一、实验目的1. 了解圆面积的计算公式及其推导过程。

2. 通过实验验证圆面积计算公式的正确性。

3. 培养学生动手操作能力和科学探究精神。

二、实验原理圆面积是指圆内部的平面区域所覆盖的面积。

圆面积的计算公式为:S = πr²,其中S表示圆面积,r表示圆的半径,π为圆周率。

三、实验器材1. 圆规2. 尺子3. 铅笔4. 白纸5. 计算器四、实验步骤1. 用圆规在白纸上画一个半径为r的圆。

2. 将圆分割成若干个相等的扇形,每个扇形的圆心角为360°/n,其中n为分割的扇形数量。

3. 将每个扇形剪下来,展开成直线段。

4. 将展开的直线段平铺在白纸上,计算总面积。

5. 计算每个扇形的面积,并将其相加,得到圆的面积。

6. 利用计算器计算圆的面积,并与实验结果进行比较。

五、实验数据假设我们分割的扇形数量为n=12,圆的半径为r=10cm。

1. 每个扇形的圆心角:360°/12 = 30°2. 每个扇形的面积:S₁ = (1/2)πr²sin(30°) = (1/2)π×10²×(1/2) = 25π cm²3. 圆的面积:S = n×S₁ = 12×25π cm² = 300π cm²4. 利用计算器计算圆的面积:S = πr² = π×10² = 100π cm²六、实验结果与分析1. 实验结果显示,圆的面积S为300π cm²,而利用计算器计算得到的圆的面积为100π cm²。

2. 实验结果与计算结果基本一致,说明圆面积计算公式S = πr²是正确的。

3. 在实验过程中,我们发现随着分割的扇形数量n的增加,实验结果与计算结果的误差逐渐减小。

这是因为分割的扇形数量越多,每个扇形的圆心角越小,从而使得实验结果更加接近真实值。

计算机图形学实验报告几何变换

计算机图形学实验报告几何变换

计算机图形学实验报告计算机图形学实验报告姓名徐沛华班级1011 学号20101851 成绩实验名称二维图形的几何变换1.对平面图形进行平移、缩放、旋转、对称实验目的实验步骤算法分析:图形变换是指对图形的几何信息经过几何变换后产生新的图形。

图形变换既可以看作坐标系不动而图形变动,变动后的图形在坐标系中的坐标值发生变化;也可以看作图形不动而坐标系变动,变动后,该图形在新的坐标系下具有新的坐标值。

设(x,y)为图形原坐标值,经几何变换后坐标值变为(**,x y)。

以下为四种常用的几何变换公式。

(a) 平移变换:平移变换在前面的任务中已经用到过,它的变换公式为:[]**100,,1,,1010,,11x yx yx y x y x T y TT T⎡⎤⎢⎥⎡⎤⎡⎤==++⎢⎥⎣⎦⎣⎦⎢⎥⎣⎦(b) 旋转变换:绕原点旋转的变换公式为:[][] **cos sin0,,1,,1sin cos0cos sin,sin cos,1001x y x y x y x yθθθθθθθθ⎡⎤⎢⎥⎡⎤=-=⋅-⋅⋅+⋅⎣⎦⎢⎥⎢⎥⎣⎦(c) 放缩变换:[]**00,,1,,100,,1001xy x ySx y x y S S x S y⎡⎤⎢⎥⎡⎤⎡⎤==⋅⋅⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦几种变换可以组合在一起形成复合变换。

例如平移变换与旋转变换组合得到:(d) 相对点00(,)x y的旋转变换:[]**0000cos sin0 ,,1,,1sin cos0(1cos)sin(1cos)sin1 x y x yx y y xθθθθθθθθ⎡⎤⎢⎥⎡⎤=-⎣⎦⎢⎥⎢⎥-⋅+⋅-⋅-⋅⎣⎦ii、算法程序:void CZhouView::pingyi(){CClientDC dc(this);dc.MoveTo(m_nPoint1.x,m_nPoint1.y);dc.LineTo(m_nPoint2.x,m_nPoint2.y);dc.MoveTo(m_nPoint1.x+100,m_nPoint1.y+100);dc.LineTo(m_nPoint2.x+100,m_nPoint2.y+100);}void CZhouView::xuanzhuan(){CClientDC dc(this);dc.MoveTo(m_nPoint1.x,m_nPoint1.y);dc.LineTo(m_nPoint2.x,m_nPoint2.y);dc.MoveTo((m_nPoint1.x*cos(0.5))-(m_nPoint1.y*sin(0.5)),(m_nPoint 1.x*sin(0.5))+(m_nPoint1.y*cos(0.5)));dc.LineTo((m_nPoint2.x*cos(0.5))-(m_nPoint2.y*sin(0.5)),(m_nPoint2 .x*sin(0.5))+(m_nPoint2.y*cos(0.5)));}void CZhouView::bili(){CClientDC dc(this);dc.MoveTo(m_nPoint1.x,m_nPoint1.y);dc.LineTo(m_nPoint2.x,m_nPoint2.y);dc.MoveTo(m_nPoint1.x*2,m_nPoint1.y*2);dc.LineTo(m_nPoint2.x*2,m_nPoint2.y*2);}void CZhouView::XCQ(){CClientDC dc(this);dc.MoveTo(m_nPoint1.x,m_nPoint1.y);dc.LineTo(m_nPoint2.x,m_nPoint2.y);dc.MoveTo(m_nPoint1.x,m_nPoint1.y);dc.LineTo(m_nPoint2.x+100,m_nPoint2.y);}void CZhouView::DC(){CClientDC dc(this);dc.MoveTo(m_nPoint1.x,m_nPoint1.y);dc.LineTo(m_nPoint2.x,m_nPoint2.y);dc.MoveTo(m_nPoint1.y,m_nPoint1.x);dc.LineTo(m_nPoint2.y,m_nPoint2.x);}dc.MoveTo(m_nPoint1.y,m_nPoint1.x);dc.LineTo(m_nPoint2.y,m_nPoint2.x);}void CZhouView::YCQ(){CClientDC dc(this);dc.MoveTo(m_nPoint1.x,m_nPoint1.y);dc.LineTo(m_nPoint2.x,m_nPoint2.y);dc.MoveTo(m_nPoint1.x,m_nPoint1.y);dc.LineTo(m_nPoint2.x,m_nPoint2.y+100); }//OnLButtonUp(UINT nFlags, CPoint point) case 8:pingyi();break;case 9:xuanzhuan();break;case 10:bili();break;case 11:XCQ();break;case 12:YCQ();break;case 13:DC();break;编译,运行:平移:。

几何画板实验报告5

几何画板实验报告5

实验五:度量和计算与简单函数绘制一、实验目的:熟练掌握度量菜单的有关功能探求数学关系,能应用轨迹思想作出满足一定要求的简单图形。

二、实验内容:1、 验证三角形中的余弦定理2、 实验教材$2.10-$2.133、 以直角三角形的三边为直径作半圆,验证三个半圆的面积关系,如将半圆改成正多边形结果如何?4、 在0到2π上作出y=sin(Ax+B)的图像并将图像平移到一位置(x=0移到x=5) 三、实验步骤(一)实验内容1:验证三角形中的余弦定理① 在画板上作出一个三角形ABC② 选中三角形ABC 的三边,单击【度量】中的【长度】,度量3边的长度,度量值会自动显示在操作区域里③ 先后选中点A 、B 、C ,单击【度量】中的【角度】,度量角ABC 的度数,度量值会自动显示在操作区域里,用同样的方法度量角BCA 和角CAB 的度数④ 选中线段AB 的度量值,单击【度量】菜单中的【计算】命令,弹出对话框,单击线段AB 的度量值,计算器上的平方号“^”,然后选择数字2,确定后在操作区域会显示线段AB 的平方的值⑤选中线段CA 、BC 的度量值和角BCA 的度量值,单击【度量】菜单中的【计算】命令,弹出对话框,单击线段CA 的度量值,计算器上的平方号“^”,然后选择数字2,选择“+”, 单击线段BC 的度量值,计算器上的平方号“^”,然后选择数字2,选择“-”, 选择数字2,单击线段CA 的度量值,选择“*”,在函数的下拉箭头里面选择cos ,然后单击角BCA 的度量值。

确定后在操作区域内会显示⑥ 同时选中两个度量值,单击【图表】菜单中【制表】,在操作区域内绘制表格 ⑦拖动三角形的任意一个顶点,可看到操作区域中数值的变化,但表中两个度量的数值始终相等。

选中表格,双击表格,在表格中添加一行记录,拖动三角形的任意一个顶点。

再重复一次表格中添加一行记录。

mCA + mBC 2 2∙mCA ∙mBC ∙cos m ∠BCA () = 21.46 厘米2mAB 2 = 21.46 厘米2m ∠CAB = 34.82°m ∠BCA = 93.28°m ∠ABC = 51.90°mCA = 3.65厘米mBC = 2.65厘米mAB = 4.63厘米B(二)实验内容2(1)实验教材$2.10①在画板上作出一个三角形ABC②先后选中点B、A、C,点击【度量】菜单中的【角度】,操作区域上显示角BAC的度量值③按同样方法度量出角ABC、角BCA的度量值④点击【度量】菜单中的【计算】,在弹出的计算器中,依次点击角BAC的度量值,按下“+”,点击角ABC的度量值,按下“+”,点击角BCA的度量值,按下确定按钮,在操作区域上会显示出⑤先后选择角BCA、角ABC、角BCA的度量值及点击【图表】菜单中的【制表】,操作区域内出现表格⑥拖动三角形的任意一个顶点,可看到操作区域中数值的变化,但表中的度量值始终等于180.00°。

东南大学几何与代数(B)数学实验报告

东南大学几何与代数(B)数学实验报告

10-11-2《几何与代数》数学实验报告学号: 姓名: 得分: . 要求:报告中应包含实验中你所输入的所有命令及运算结果,用4A 纸打印.并在第15周之前交给任课老师。

实验一:某市有下图所示的交通图,每条道路都是单行线,需要调查每条道路每小时的车流量。

图中的数字表示该路段的车流数。

如果每个道口进入和离开的车辆数相同,整个街区进入和离开的车辆数也相同。

(1) 建立描述每条道路车流量的线性方程组; (2) 分析哪些流量数据是多余的;(3) 为了确定未知流量,需要增添哪几条道路的车流量统计?解:(1)因为假设每个道口进入和离开的车辆数相同,整个街区进入和离开的车辆数也相同,所以每个节点(交叉口)进入的车数和离开的车数相等, 由此可建立线性方程组:x1+x7=180+220; x1-x2+x9=300; x2-x11=300-100; x3+x7-x8=350; x3-x4+x9-x10=0; x4-x11+x12=500; x5+x8=150+160;x5-x6+x10=400;x6-x12=150-290;(2)把线性方程组的增广矩阵输入matlab软件:>>A=[1,0,0,0,0,0,1,0,0,0,0,0,400;1,-1,0,0,0,0,0,0,1,0,0,0,300;0,1,0,0,0,0,0,0,0,0,-1,0,200;0,0,1,0,0,0,1,-1,0,0,0,0,350;0,0,-1,1,0,0,0,0,-1,1,0,0,0;0,0,0,1,0,0,0,0,0,0,-1,1,500;0,0,0,0,1,0,0,1,0,0,0,0,310;0,0,0,0,1,-1,0,0,0,1,0,0,400;0,0,0,0,0,1,0,0,0,0,0,-1,-140]点击“回车”键,A =1 0 0 0 0 0 1 0 0 0 0 0 4001 -1 0 0 0 0 0 0 1 0 0 0 3000 1 0 0 0 0 0 0 0 0 -1 0 2000 0 1 0 0 0 1 -1 0 0 0 0 3500 0 -1 1 0 0 0 0 -1 1 0 0 00 0 0 1 0 0 0 0 0 0 -1 1 5000 0 0 0 1 0 0 1 0 0 0 0 3100 0 0 0 1 -1 0 0 0 1 0 0 4000 0 0 0 0 1 0 0 0 0 0 -1 -140把增广矩阵经初等变换成最简阶梯型矩阵>> rref(A)点击“回车”键,得到最简阶梯型矩阵ans =1 0 0 0 0 0 0 0 1 0 -1 0 5000 1 0 0 0 0 0 0 0 0 -1 0 2000 0 1 0 0 0 0 0 1 -1 -1 1 5000 0 0 1 0 0 0 0 0 0 -1 1 5000 0 0 0 1 0 0 0 0 1 0 -1 2600 0 0 0 0 1 0 0 0 0 0 -1 -1400 0 0 0 0 0 1 0 -1 0 1 0 -1000 0 0 0 0 0 0 1 0 -1 0 1 500 0 0 0 0 0 0 0 0 0 0 0 0由于最简阶梯型矩阵最后一行均为“0”,所以最后一个方程中的数据“150”和“290”是多余的。

单位圆盘图上带权最小支配集的近似算法

单位圆盘图上带权最小支配集的近似算法

计算几何课大作业实验报告——单位圆盘图上带权最小支配集的近似算法计研四宋浩 2008310484计研四陈世腾 2008310488问题描述:在平面上有一个图,图上有一些顶点,每一个顶点有一个权重。

要求从这些顶点中选出若干个来,用这些顶点做为圆心做单位圆,可以覆盖其他所有顶点,且选中顶点的权重总合尽可能小。

如下图,就是一个符合条件的覆盖:图中点为要求覆盖的点,红点为被选中的圆心。

问题的应用:说一个比较简单的应用得例子:一个地区有一些信号发射站,每个发射站的发射都只能确保将信号发射到一个相同大小的圆内。

而且由于地理位置的不同,每个发射站的发射功率不同,因此发射的成本也不一样。

现在有一个消息,从这些发射站中选出几个来广播,要求所有发射站收到,问如何能使发射成本最低?相关工作:●1990年,Clark,Colbourn和Johnson等人在名为Unit Disk Graphs的论文中证明了此问题是NP完全的[1]●2006年,Ambuhl等人在一篇论文中给出了此问题的一个时间复杂度为多项式级的近似算法,近似比为72 [2]●2008年,高晓峰(音译)等人给出了此问题的近似比为(6+epsilon)的多项式级近似算法[4]●2008年,戴德承和余昌远在一篇论文中给出了此问题的近似比为(5+epsilon)的多项式级近似算法[3]由于在理论研究中,大家一般只重视近似比,对于时间复杂性只要求是多项式级别即可,对于具体的幂指数量级并不关心,因此一些近似比较好的算法(如上面提到的后两个)复杂性一般太高,不适合实际使用。

我们参考了以上一些算法设计中的一些技巧,在权衡时间复杂性和近似比的条件下,提出了如下算法。

算法描述:1.将平面划分成边长为的正方形,确定每个哪些点在哪个正方形中。

这步需要O(n)时间。

2.对于每个正方形,运行以下的覆盖子算法,计算覆盖这个正方形内的点的最优解,这些正方形最多有n个:2.1 计算选中正方形内点覆盖方法的最优值。

小学数学实验报告日记

小学数学实验报告日记

日期:2023年4月15日星期五晴今天是我们小学数学实验课的第一天,我感到非常兴奋和好奇。

早上,老师给我们介绍了这次实验的主题——探索几何图形的奥秘。

以下是我在实验过程中的观察和思考。

一、实验目的1. 通过实验,了解平面几何图形的基本特征。

2. 培养学生的动手操作能力和观察能力。

3. 激发学生对数学的兴趣,提高学习积极性。

二、实验材料1. 尺子2. 铅笔3. 圆规4. 绘图纸5. 几何图形模板三、实验过程1. 老师首先介绍了平面几何图形的概念,包括点、线、面等基本元素。

2. 我们小组开始动手操作,按照老师的要求,使用尺子、圆规等工具绘制各种几何图形。

3. 我们首先绘制了三角形、正方形、长方形、圆形等基本图形,然后尝试将它们进行组合,创造出更加复杂的图形。

4. 在绘制过程中,我们注意观察图形的特征,如边的长度、角的度数等。

5. 最后,我们用文字和图片的形式记录下我们的实验结果。

四、实验结果1. 我们成功地绘制出了三角形、正方形、长方形、圆形等基本图形。

2. 我们发现,三角形具有稳定性,可以构成各种复杂的图形;正方形和长方形具有四条边和四个直角,可以组成矩形、平行四边形等;圆形则具有无限多个等距离的点,可以与其他图形进行拼接。

3. 通过实验,我们了解到几何图形的特征,如边的长度、角的度数等,这些特征对图形的识别和分类具有重要意义。

五、实验反思1. 在实验过程中,我深刻体会到数学与生活的紧密联系。

几何图形无处不在,我们身边的世界充满了数学的痕迹。

2. 实验让我认识到,动手操作是学习数学的重要途径。

通过亲手绘制图形,我对几何图形有了更直观、更深刻的认识。

3. 在实验中,我发现自己在观察、分析、总结方面还存在不足。

在今后的学习中,我将努力提高自己的观察能力和分析能力。

六、实验收获1. 掌握了平面几何图形的基本特征。

2. 提高了动手操作能力和观察能力。

3. 激发了对数学的兴趣,提高了学习积极性。

今天的小学数学实验课让我受益匪浅。

圆周率的计算数学实验报告

圆周率的计算数学实验报告
f2=(-1)^(n-1)*(1/239)^(2*n-1)/(2*n-1);
ans1=symsum(f1,n,1,28);
ans2=symsum(f2,n,1,28);
ans=vpa(4*(4*ans1-ans2),100)
得π≈
3.141592653589793238462643383279502884197130451046268578972203255663716036677133432949011735665451127
3.概率方法
编写程序:
m=0;
for i=1:100000
x=rand;
y=rand;
if x^2+y^2<=1;
m=m+1;
else end
end
4*m/100000
得π≈3.136000000000000
n=100000时,
π≈3.139920000000000
4.数值积分方法
利用公式
设分点x1,x2,…xn-1将积分区间[0,1]分成n等分。
h=1/n;
ans=vpa(4*h*trapz(y),11)
得π≈3.1415926519
n=100000时,
编写程序:
n=100000;
x=linspace(0,1,n+1);
y=1./(1+x.^2);
h=1/n;
ans=vpa(4*h*trapz(y),11)
得π≈
3.1415926536
也可利用积分公式
推出:96sin < <96tan
编写matlab程序
formatlong
x=sin(pi/96)
y=96*x
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.计算几何实验报告2.实验目的用VC 语言实现任意多边形的Delaunay完全三角剖分算法。

3.实验内容在计算机三维曲面造型,有限元计算和模式识别等领域里,经常要解决平面多边形的三角剖分问题。

一方面三角剖分解决了几何数据存储的一致性;另一方面三角形是平面域的单纯形,具有许多特性和优点,是解决许多问题的基础,处理上也比较简单,例如可以很好的拟合复杂边界等。

Delaunay 三角剖分具有三角剖分最小内角为最大”的性质,能够进行任意多连通域有限网格的自动生成。

令P = { P1 , P2 , ⋯, PN}为平面域(R2 ) 上N 个离散点的集合,尽管有多种方法实现点集P 的三角剖分,但是俄国科学家Delaunay 在1934 年证明:必定存在且仅存在一种三角剖分(一般称为Delaunay 三角剖分) 算法,使得所有三角形的最小内角之和最大。

因此,Delaunay 三角剖分能够尽可能地避免病态三角形的出现。

一般情况下,一个完整的Voronoi 图有多个Voronoi 多边形组成,第i 个Voronoi 多边形的数学表达形式如下:Vi = {x ∈R2 : ‖x - Pi ‖≤‖x - Pi ‖,j = 1 , ⋯,n ;j ≠i} (1) 式中,i = 1 ,2 , ⋯,N , ‖x - Pi ‖表示平面域上点x 和节点Pi 之间的欧式距离。

从(1) 式可知,Voronoi 多边形Vi 内任意点x 到节点Pi 的距离比到点集P 中任何其他节点的距离更近,因此Vi 由节点Pi 和每个相邻节点的垂直平分线所形成的开式半平面的交集组成,故Vi 必为凸多边形。

一般情况下, Voronoi 图的一个顶点同时属于三个Voronoi 多边形,每个Voronoi 多边形内有且仅有一个节点。

连接三个共点的Voronoi 多边形分别对应的三个节点则形成一个Delaunay 三角形,所有这样的三角形的集合就是著名的Delaunay 三角剖分。

图l 给出了8 个节点的Delaunay 三角剖分及其对偶的Voronoi 图。

Delaunay 三角剖分的一个重要性质就是所谓的“空圆盘”性质:对于任意的Delaunay 三角形,其开式圆盘(即该三角形外接圆的内部区域) 不包含其他任何节点,所有Delaunay三角形互不重叠,且完整地覆盖整个问题域。

4.算法原理在实际问题中,任何二维图形总是有一个外环和若干个内环组成,并且任意两个环之间不会重叠。

对于自相交多边形或者有重叠的非自相交多边形,均可以将它们分解成若干个无重叠多边形。

整个算法如F :令多边形的边数为N ,第K 条边的起点序号为L Kl ,终点序号为L K2 ,此时不再有内环和外环的概念的区分。

(1) 若N = 3 ,则该多边形本身是一个三角形,剖分结束;否则令K= 1 ,转入(1) ;(2) 令K= K+ 1 ,若L K2不在有向线段L1l L l2 之左,转入(2) ;否则转入(3) ;(3) 判断当前多边形其余各边是否与线段L l1L K2或L l2L K2相交,若是,转入(2) ;否则,转入(4) ;(4) 保存节电L K2至候选节电列表中,若K =N ,转入(5) ;否则转入(2) ;(5) 首先,从候选节点列表中求出与节点L l1 ,L l2形成的外接圆最小的节点L O2 ,则节点L1l ,L l2和L O2必然构成一个有效的Delaunay 三角形; 其次,判断由节点L1l ,L l2和L O2构成的Delaunay 三角形中是否有候选节点存在。

如果有候选节点存在,则保存到新的候选节点列表,然后再从新的候选节点列表中重新选取与节点L1l和L12构成的Delaunay三角形的外接圆最小的节点L O2 ,然后在对当前多边形作如下的修正。

如果没有候选节点存在,则直接对当前多边形作如下的修正。

①若线段L1l L O2及L12L O2均不是当前多边形的边界线段, 则令N = N + 1 ,L N1 = L O2 ,L N2 =L12 ,L12 = L O2 ,转入(1) :②若线段L11L O2或(L12L O2) 是当前多边形的第m 条边界线段,而线段L12L O2 (或L11 = L O2 ) 不是当前多边形的边,则令L11 = L O2 (或L12 = L O2) ,L m1 = L N1 ,L m2 = L N2 ,N = N - 1 ,转入(1) ;③若线L11L O2及L12 = L O2分别是当前多边形的第m 条和第n 条边界线段,则将线段L11L12 ,第m 条和第n 条边从当前的多边形中删除,N = N 一3 ,转入(1)。

5.程序实现4.1数据结构为了便于对多边形和剖分后形成的三角形的管理,本文采用MFC 的CObList 类设计和管理链表。

本文设计了2 个单向链表其中点链表(CObList * m pNodeList) 负责管理多边形的节点,链上的每个结点记录多边形节点的索引号和平面坐标值。

三角形链表(CObList * m p TriList ) 负责管理剖分后的三角形,链上的每个结点记录了生成的三角形的索引号和构成该三角形的三个顶点的索引号。

点链表和三角形链表结点类的设计如下:点链表的结点类://点链表的结点类class CNode:public CObject{public:int index;//点索引号int x,y;//x,y坐标值bool out;//内外环int NO_in;//内环编号,外环为0,内环从1开始bool head;//是否环头bool tail;//是否环尾public:CNode(){index=0;x=0;y=0;out=TRUE;NO_in=0;head=FALSE;tail=FALSE;}//零初始化CNode(CNode *temp){index=temp->index;x=temp->x;y=temp->y;out=temp->out;NO_in=temp->NO_in;head=temp->head;tail=temp->tail;}CNode(CNode &n){index=n.index;x=n.x;y=n.y;out=n.out;NO_in=n.NO_in;head=n.head;tail=n.tail;}CNode& operator =(CNode n){index=n.index;x=n.x;y=n.y;out=n.out;NO_in=n.NO_in;head=n.head;tail=n.tail;return *this;}#ifdef _DEBUGvoid Dump( CDumpContext& dc ) const{//CObject::Dump( dc );dc << index;}#endif};三角形链结点类:class CTriange:public CObject{public:int index;//点索引号int L1,L2,L3;//三角形的三个点的索引号public:CTriange(){index=0;L1=0;L2=0;L3=0;}//零初始化CTriange(CTriange *temp){index=temp->index;L1=temp->L1;L2=temp->L2;L3=temp->L3;}CTriange(CTriange &t){index=t.index;L1=t.L1;L2=t.L2;L3=t.L3;}CTriange& operator =(CTriange t){index=t.index;L1=t.L1;L2=t.L1;L3=t.L3;return *this;}};同时整个算法的操作对象是多边形的边,为了使算法容易实现,设计了边链表类表示多边形的边,所有多边形的边都存储在边链表(CObList * mpEdgeList)中。

算法中对边的查找、插入、删除都是针对边链表的操作。

//边链表的边类class CEdge:public CObject{public:int index;//边索引号int L1,L2;//边的两个点的索引号public:CEdge(){index=0;L1=0;L2=0;}//零初始化CEdge(CEdge *temp){index=temp->index;L1=temp->L1;L2=temp->L2;}CEdge(CEdge &t){index=t.index;L1=t.L1;L2=t.L2;}CEdge& operator =(CEdge t){index=t.index;L1=t.L1;L2=t.L2;return *this;}#ifdef _DEBUGvoid Dump( CDumpContext& dc ) const{//CObject::Dump( dc );dc << index<<":"<<L1<<","<<L2;}#endif};为了便于Windows对话框窗口在窗口重绘时完成对GUI的重绘,设计了便于完成图形重绘的边链表类。

储存对话框上现存的每一条边的颜色和位置信息。

而点的位置信息储存在(CObList * mpNodeList)中。

//用来画图的边链表的边类class CEdge2:public CObject{public:int color;//边索引号int x1,y1,x2,y2;//边的两个点的坐标public:CEdge2(){color=1;x1=0;y1=0;x2=0;y2=0;}//零初始化CEdge2(CEdge2 *temp){color=temp->color;x1=temp->x1;y1=temp->y1;x2=temp->x2;y2=temp->y2;}CEdge2(CEdge2 &t){color=t.color;x1=t.x1;y1=t.y1;x2=t.x2;y2=t.y2;}CEdge2& operator =(CEdge2 t){color=t.color;x1=t.x1;y1=t.y1;x2=t.x2;y2=t.y2;return *this;}#ifdef _DEBUGvoid Dump( CDumpContext& dc ) const{//CObject::Dump( dc );dc << color<<":"<<x1<<","<<y1<<"->"<<x2<<","<<y2;}#endif};程序中再求外接圆半径时会用到直线的斜截式方程,设计直线类如下://直线方程结构class CLine{public:double k; //斜率double b; //截距};4.2GUI设计本程序用vc6.0设计了基于对话框的绘图界面,使用GDI进行绘图操作,同时对用户各种不合法的输入进行了提示。

相关文档
最新文档