实验1实验报告格式

合集下载

【最新文档】实验一实验报告-优秀word范文 (6页)

【最新文档】实验一实验报告-优秀word范文 (6页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==实验一实验报告网络程序设计实验报告实验名称:_ Winsock编程接口实验 _实验类型:_______ 验证型实验 ________指导教师:专业班级:_________XXXXXXXXX__________姓名:________ XXXXXXXXX_____ ________ 学号:_________XXXXXXXXX____________电子邮件:_______XXXXXXXXXXXX________实验地点:_______XXXXXXXXX______________实验日期: XXXXXXXXX实验成绩:__________________________一、实验目的1.掌握Winsock的启动和初始化;2.掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。

二、实验设计实验流程图三、实验过程1.在实验过程中调用GetAdaptersInfo()时,出现了undeclared identifier 的报错,原因是没有包含其头文件,但在加了头文件iphlpapi.h后,依然出现如下错误:fatal error C1083: Cannot open include file: 'iphlpapi.h': No such file or directoryError executing cl.exe.查阅资料得知,该错误的出现是因为没有安装SDK,将SDK安装并添加到VC中后,程序错误得到解决。

2.实验结果1.程序主界面2.选择解析指定域名3.选择查看本机信息四、讨论与分析1)Winsock初始化的作用是什么?答:使用winsock初始化可加载winsock编程的动态链接库。

最新大学物理实验1-实验报告模板

最新大学物理实验1-实验报告模板

最新大学物理实验1-实验报告模板实验名称:测量物体的密度实验目的:1. 掌握测量固体和液体密度的基本方法。

2. 熟悉使用比重瓶和电子天平的操作。

3. 分析实验误差,提高实验数据的准确性。

实验原理:密度定义为物体质量与体积的比值,即 \( \rho = \frac{m}{V} \)。

本实验通过测量物体的质量和体积来计算其密度。

对于固体,体积可通过排水法测量;对于液体,体积可通过比重瓶直接测量。

实验仪器:1. 电子天平2. 比重瓶3. 烧杯4. 移液管5. 蒸馏水6. 待测固体样品7. 待测液体样品实验步骤:1. 使用电子天平测量待测固体样品的质量 \( m \)。

2. 将适量的蒸馏水倒入烧杯中,使用移液管将部分水转移到比重瓶中。

3. 将待测固体样品完全浸入比重瓶中的水中,并记录比重瓶中水的体积变化 \( V_{water} \)。

4. 计算固体样品的体积 \( V = V_{water} \)。

5. 根据密度公式计算固体样品的密度 \( \rho = \frac{m}{V} \)。

6. 重复上述步骤,测量不同液体样品的密度。

7. 记录所有数据,并进行必要的误差分析。

实验数据与结果:(此处填写实验数据表格,包括样品编号、质量m、体积V、计算出的密度ρ以及可能的误差分析)结论:通过本次实验,我们成功地测量了不同固体和液体样品的密度,并掌握了使用比重瓶和电子天平进行密度测量的方法。

实验结果与理论值相近,但在实际操作中存在一定的系统误差和随机误差,这些误差来源包括仪器的精度限制、操作者的技术水平等。

未来可以通过改进实验方法和提高操作精确度来减少误差,提高实验结果的准确性。

实验报告1

实验报告1

实验名称:电源的等效变换姓名:陈庚学号:1138360117同组人:郭盛、全卓越学号:1138360110 、1138360138专业、班级:土木工程1班评分:日期:2013. 5. 6 指导老师:一、实验目的1、掌握电源外特性的测试方法。

2、验证电压源与电流源等效变换的条件。

二、原理说明1.一个直流稳压电源在一定的电流范围内,具有很小的内阻。

故在实用中,常将它视为一个理想的电压源,即其输出电压不随负载电流而变。

其外特性曲线,即其伏安特性曲线U=f(I)是一条平行于I轴的直线。

一个实用中的恒流源在一定的电压范围内,可视为一个理想的电流源。

2.一个实际的电压源(或电流源),其端电压(或输出电流)不可能不随负载而变,因它具有一定的内阻值。

故在实验中,用一个小阻值的电阻(或电流源)。

3.一个实际的电源,就其外部特性而言,既可以看成是一个电压源,又可以看成是一个电流源。

若视为电压源,则可用一个理想的电压源Us与一个电阻Ro相串联的组合来表示;若视为电流源,则可用一个理想电流源Is与一电导go相并联的组合来表示。

如果这两种电源能向同样大小的负载供出同样大小的电流和端电压,则称这两个电源是等效的,即具有相同的外特性。

一个电压源与一个电流源等效变换的条件为:Is=Us/Ro,go=1/Ro 或Us=IsRo,Ro=1/go。

如图3-1所示。

三、实验设备图3-1序号名称型号与规格数量备注1 可调直流稳压电源0~30V 1 DG042 可调直流恒流源0~500mA 1 DG043 直流数字电压表0~200V 1 D314 直流数字毫安表0~200mA 1 D315 万用表 1 自备6 电阻器120Ω,200Ω,510Ω,1KΩDG097 可调电阻箱0~99999.9Ω 1 DG098 实验线路DG05 1.测定直流稳压电源与实际电压源的外特性。

(1)按图1接线。

Us为+12V直流稳压电源(将Ro短接)。

调节R2,令其阻值由大至小变化,记录数据结果在表3-1。

实验报告模板1

实验报告模板1

实验报告
学院:专业:年月日
4.实验方法、步骤、程序及测试结果建立S,P,J,SPJ表:
1.找出所有供应商的姓名和所在城市
运行程序:SELECT SNAME,CITY FROM S;
运行结果图:
2.找出所有零件的名称、颜色、重量
运行程序: SELECT PNAME,COLOR,WEIGHT FROM P;
运行结果图:
3.找出使用供应商S1所供应零件的工程号码
运行程序: SELECT JNO FROM SPJ
WHERE SNO='S1';
运行结果图:
4.找出工程项目J2使用的各种零件的名称及其数量
运行程序: SELECT PNAME,QTY
FROM P,SPJ
WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2';
运行结果图:
5.找出天津厂商供应的所有零件号码
运行程序: select PNO
FROM S,SPJ
WHERE S.SNO=SPJ.SNO AND CITY='天津';
运行结果图:。

实验报告格式一

实验报告格式一
正确
运行结果:
错误
错误所在行:
应改为:
(五)编写程序
1.编写程序输出用6颗星构成的等边三角形。*
* *
* * *
2.编写一个C程序,输入a,b,c三个值,输出其中最大者。
四、实验心得体会及存在问题
指导教师批改意见:
批改日期:
1.求(a+b)×c的值。(设a=3,b=2,c=1)
main( )
{int a,b,c;
a=3;
;
c=1;
printf(“\n%d”,(a+b)*c);}
2.求圆的面积。
#define PI 3.14
main( )
{float r,area;
printf(“\n Enter r value:”);
scanf(“%f”,&r);
area=PI*r*r;
printf(“ \n area=%f”,); }
(四)调试程序
要求:调试运行下列程序是否正确,若有错,写出错在何处?填写正确的运行结果。
行号#include <stdio.h>
1 main( )
2 {int x,y;
3 x=5,y=8,
4 printf(“\n%d,%d,%d\n”,x,(x+5)*2,y); }
void main()
{printf(“*********************\n\n”);
printf(“ very good!\n\n”);
printf(“*********************\n”);
}
分析
结果
运行
结果
思考:可否采用一个输出函数实现此输出结果。

实验报告内容格式范文5篇

实验报告内容格式范文5篇

实验报告内容格式范文5篇实验报告内容格式范文5篇实验报告的分析讨论,主要分析实验结果和数值是否匹配,如果有误差,分析具体原因。

下面是小编为大家整理的实验报告格式范文,如果大家喜欢可以分享给身边的朋友。

实验报告格式内容范文【篇1】准备材料:一个玻璃杯、一枚硬币、小半杯水(最好是有颜色的)、蜡烛和一个平底的容器。

实验内容:在一个盘子里倒半杯水,放入一枚硬币。

手既不许接触到水,又不能把水倒出来,怎样才能把硬币取出来呢?实验过程:第1次:我们首先在平底的容器中倒入小半杯水,淹没硬币。

然后点燃一节蜡烛放在盘子里,罩上玻璃杯,蜡烛会因为缺氧停止燃烧,这时,外面的水便源源不断地涌进玻璃杯。

(可惜吸水不够多,所以没有把硬币取出来)结果:失败。

第2次:和第一次一样,失败。

第3次:我们换了一根大一点的蜡烛,这次流进去的水很多,成功。

第4次:我们用了两根蜡烛,不过因为杯子扣的太紧,杯口被盘子吸住,水没能流进玻璃杯,失败。

第5次:我把杯子扣下去的速度慢了一点点,导致蜡烛提前熄灭,失败。

第6次:同样是放了两根蜡烛,这次很正常,成功。

实验总结:我做这个实验是为了证实气体冷却后,能让压力下降,于是外面正常的大气压把盘子中的水挤进了杯中。

另外,在实验中,我观察到,用玻璃杯盖住蜡烛的时候,火焰不是马上熄灭,是继续燃烧一会儿才熄灭,说明玻璃杯的空气也是含有一定量的氧气的。

而做这个实验应注意:1、杯子不要扣的太慢,否则会让火焰提前熄灭导致实验失败。

2、水最好是有颜色的水,我选择在水中滴蓝墨水,效果不错,这样方便观看。

3、可以用燃烧的纸片代替蜡烛,但是水一定要放少一点,放多了难吸光。

4、要保持距离,让火焰离自己远一点。

实验报告格式内容范文【篇2】电路实验课已经结束,请按题目要求认真完成实验报告,并要仔细检查一遍,以免退回,具体要求如下:一、绘制电路图要工整、选取适宜比例,元件参数标注要准确、完整。

二、计算题要有计算步骤、解题过程,要代具体数据进行计算,不能只写得数。

实验报告模板 (1)

实验报告模板 (1)
睁开眼睛,展开纸,发现同学们的纸上的洞数量有1个、2个、3个三种情况。
再一次,老师将指令细化,同学更具指令动作
睁开眼睛,展开纸,发现只有1个、2个,两种情况,且2个的情况占大多数
三、实验心得(结合理论知识谈谈自己的心得和收获,请着重论述)
信息的处理具有主观性,所以相同的指令会造成不同的结果。但是如果将指令细化,尽量考虑到细节,则最终的差异将会大大减少。所以在公司的决策传达时应考虑指令的清晰明确,以便尽量减少理解上的差异,以便于更好的完成决策
管理学实验报告
实验名称
信息的传达
专业班级
酒店管理一班
姓名学号
胡晶旌2014064138
小组号
5
1、实验接收和处理信息的准确性
二、实验内容(对实验过程及结果进行描述和说明)
每人一张白纸,闭上眼睛,听从老师的指令
老师说出指令,同学闭上眼睛听从指令折叠白纸,撕下指令中所指的纸角。

实验报告封面及格式(一)

实验报告封面及格式(一)

实验报告封面及格式(一)引言概述:
实验报告封面及格式是实验报告写作中非常重要的一部分。

封面是实验报告的开篇,能够提供报告的基本信息,并为读者提供整体的概览。

而格式则是规范实验报告的排版和呈现方式,使报告更加易读和专业。

本文将从封面设计、报告标题、作者信息、日期和编号以及报告目录等方面探讨实验报告封面及格式的相关要点。

正文内容:
一、封面设计
1. 封面的设计应简洁大方,突出实验报告的主题。

2. 封面可以包含实验报告的标题、作者和机构的名称,以及相应的标志或图标。

3. 可以使用不同字体、字号和颜色来设计标题,使其醒目易读。

二、报告标题
1. 报告标题应简明扼要,能够准确概括实验的内容和目的。

2. 可以使用粗体、居中和加大字号等方式使标题突出。

三、作者信息
1. 应在封面上标明作者的姓名、学号和所在机构信息。

2. 作者信息应按一定格式排列,如姓名在上,学号在下,均使用统一的字体和字号。

四、日期和编号
1. 封面上应标明实验报告的完成日期。

2. 可以为实验报告编号,方便文档归档和检索。

五、报告目录
1. 报告目录应按照章节和页码的顺序进行编排,以便读者快速导航报告内容。

2. 目录的标题和页码应使用清晰可辨的字体和字号,并居中显示。

总结:
实验报告封面及格式对于报告的整体形象和读者阅读体验具有重要影响。

设计简洁大方的封面、准确明了的报告标题、清晰规范的作者信息、明确的日期和编号、以及规范的报告目录可以提高报告的可读性和专业性。

在编写实验报告时,应注意封面及格式的设计和排版,以确保报告的质量和效果。

标准格式-浙江大学实验报告-1_封面

标准格式-浙江大学实验报告-1_封面

实验报告课程名称: 营养与食品卫生学 指导老师: 焦晶晶 成绩:__________________ 实验名称: 维生素B2负荷尿试验与应用 实验类型: 应用型一、实验目的和要求(必填) 二、实验内容和原理(必填)三、主要仪器设备(必填) 四、操作方法和实验步骤五、实验数据记录和处理 六、实验结果与分析(必填)七、讨论、心得一、实验目的和要求1、通过负荷尿试验测定尿中核黄素排出量,评价人体核黄素营养状况。

2、掌握荧光分析法的基本原理及方法。

3、熟悉荧光分光光度计的使用方法。

二、实验原理1、核黄素为荧光化合物,在紫外线下发黄绿色荧光,在稀溶液中荧光强度与核黄素浓度成正比。

2、核黄素可被低亚硫酸钠还原而失去荧光,故测定还原前后的荧光强度可去除干扰性荧光物质的影响。

3、核黄素属于水溶性维生素,易从尿中排出体外,在满足人体组织方面的需要后,多余的都将从尿中排出。

在服用大剂量核黄素后,若人体组织中核黄素充足,则尿中排出核黄素含量高;若人体中缺乏核黄素,则给予的核黄素将大量被组织利用,尿中排出量少。

因此人体核黄素营养水平可在通过负荷尿试验检测,24小时负荷尿核黄素排出量在200μg 及以上视为人体核黄素营养水平充足,200μg 以下视为不足。

三、仪器与试剂1、荧光光度计2、酸性水:浓硫酸0.3ml 加蒸馏水至200ml 。

3、核黄素标准储备液:精密称取25mg 核黄素于1000ml 容量瓶中,用酸性水稀释至刻度,移植棕色瓶内,冷藏备用。

4、核黄素标准应用液:吸取上液4ml ,用酸性水稀释至100ml ,临用时配置。

5、低亚硫酸钠。

四、操作方法和实验步骤1、取尿样1ml 加酸性水19ml 于一具塞试管内,混匀,在激发波长420mm 和发射波长530mm 处测定荧光强度,记作读数A 。

再取10mg 低亚硫酸钠直接加入比色杯内,摇匀,立即测定荧光强度,记作读数B 。

2、取尿样1.0ml 加核黄素标准应用液1.5ml ,加酸性水17.5ml 于一具塞试管内,混匀,在激发波长420mm 和发射波长530mm 处测定荧光强度,记作读数C 。

实验报告模板.doc

实验报告模板.doc

实验报告模板不知道如何写实验报告的朋友,下面请看我给大家整理收集的实验报告模板,希望对大家有帮助。

实验报告模板1一、演示目的气体放电存在多种形式,如电晕放电、电弧放电和火花放电等,通过此演示实验观察火花放电的发生过程及条件。

二、原理首先让尖端电极和球型电极与平板电极的距离相等。

尖端电极放电,而球型电极未放电。

这是由于电荷在导体上的分布与导体的曲率半径有关。

导体上曲率半径越小的地方电荷积聚越多(尖端电极处),两极之间的电场越强,空气层被击穿。

反之越少(球型电极处),两极之间的电场越弱,空气层未被击穿。

当尖端电极与平板电极之间的距离大于球型电极与平板电极之间的距离时,其间的电场较弱,不能击穿空气层。

而此时球型电极与平板电极之间的距离最近,放电只能在此处发生。

三、装置一个尖端电极和一个球型电极及平板电极。

四、现象演示让尖端电极和球型电极与平板电极的距离相等。

尖端电极放电,而球型电极未放电。

接着让尖端电极与平板电极之间的距离大于球型电极与平板电极之间的距离,放电在球型电极与平板电极之间发生雷电暴风雨时,最好不要在空旷平坦的田野上行走。

为什么?实验报告模板2一、实验目的及要求:本实例是要创建边框为1像素的表格。

二、仪器用具1、生均一台多媒体电脑,组建内部局域网,并且接入国际互联网。

2、安装windows xp操作系统;建立iis服务器环境,支持asp。

3、安装网页三剑客(dreamweaver mx;flash mx;fireworks mx)等网页设计软件;4、安装acdsee、photoshop等图形处理与制作软件;5、其他一些动画与图形处理或制作软件。

三、实验原理创建边框为1像素的表格。

四、实验方法与步骤1) 在文档中,单击表格""按钮,在对话框中将"单元格间距"设置为"1"。

2) 选中插入的表格,将"背景颜色"设置为"黑色"(#0000000)。

实习一 实验报告

实习一   实验报告

实习一实验报告一、实验目的本次实习实验的主要目的是通过实际操作和观察,深入了解实验主题的相关原理和过程,提高自己的实践能力和问题解决能力,同时培养科学严谨的实验态度和团队协作精神。

二、实验设备与材料1、设备名称 1:设备型号 1,设备数量 12、设备名称 2:设备型号 2,设备数量 23、实验材料 1:材料名称 1,材料规格 1,材料数量 14、实验材料 2:材料名称 2,材料规格 2,材料数量 2三、实验原理简要阐述实验所依据的科学原理和相关理论知识,以帮助读者理解实验的设计和预期结果四、实验步骤1、实验准备检查实验设备和材料是否齐全完好。

对实验设备进行校准和调试,确保其正常工作。

熟悉实验操作流程和注意事项。

2、实验操作第一步:详细描述第一步的操作内容和方法第二步:按照步骤依次描述第三步:……3、实验数据记录在实验过程中,及时、准确地记录各项实验数据,包括数据名称1、数据名称 2等。

记录数据时,要注明数据的单位和测量条件。

4、实验结束关闭实验设备,清理实验现场,整理好实验材料和工具。

五、实验数据与结果1、实验数据将实验中记录的数据整理成表格形式,以便清晰地展示和分析。

|序号|数据名称 1|数据名称2|……|||||||1|数据值 11|数据值12|……||2|数据值 21|数据值22|……||3|数据值 31|数据值32|……||……|……|……|……|2、实验结果根据实验数据,通过计算、分析和绘图等方法,得出实验结果。

例如,得到了实验结果 1,表明结果解释 1;得到了实验结果 2,表明结果解释 2。

六、实验分析与讨论1、误差分析对实验中可能存在的误差进行分析,包括系统误差和随机误差。

分析误差的来源,如设备精度、实验环境、操作方法等,并评估误差对实验结果的影响程度。

2、结果讨论将实验结果与预期结果进行比较,分析两者之间的差异。

讨论实验结果的合理性和可靠性,以及实验过程中遇到的问题和解决方法。

3、改进建议根据实验分析,提出改进实验的建议和措施,以提高实验的准确性和可靠性。

实验报告_1

实验报告_1

实验报告篇一:实验报告范本研究生实验报告(范本)实验课程:实验名称:实验地点:学生姓名:学号:指导教师:(范本)实验时间:年月日一、实验目的熟悉电阻型气体传感器结构及工作原理,进行基于聚苯胺敏感薄膜的气体传感器的结构、材料制作、材料表征、探测单元制作与测试、实验结果分析,通过该实验获得气体传感器从到性能测试完整的实验流程,锻炼同学学习能力、动手能力和分析问题能力。

二、实验内容1、理解电阻式气体传感器工作原理2、进行传感器结构设计3、进行敏感材料的合成与测试4、开展气体传感器制作5、器件性能测试与分析讨论三、实验原理气体传感器是化学传感器的一大门类,是气体检测系统的核心,通常安装在探测头内。

从本质上讲,气体传感器是一种将某种气体体积分数转化成对应电信号的转换器。

根据气敏特性来分类,主要分为半导体气体传感器、固体电解质气体传感器、接触燃烧式气体传感器、光学式气体传感器、石英谐振式气体传感器、表面声波气体传感器等。

气体传感器的检测原理一般是利用吸附气体与高分子半导体之间产生电子授受的关系,通过检测相互作用导致的物性变化从而得知检测气体分子存在的信息,大体上可以分为:(l)气体分子的吸附引起聚合物材料表面电导率变化(2)p型或n型有机半导体间结特性变化(3)气体分子反应热引起导电率变化(4)聚合物表面气体分子吸、脱附引起光学特性变化(5)伴随气体吸附脱附引起微小量变化对于电阻型气体传感器,其基本的机理都是气体分子吸附于膜表面并扩散进体内,从而引起膜电导的增加,电导变化量反应了气体的浓度情况。

四、实验器材电子天平BS2245:北京赛多利斯仪器系统有限公司KSV5000自组装超薄膜设备:芬兰KSV设备公司Keithley2700数据采集系统:美国Keithley公司KW-4A 型匀胶机:Chemat Technologies Inc.85-2 型恒温磁力热搅拌机:上海司乐仪器公司优普超纯水制造系统:成都超纯科技有限公司动态配气装置北京汇博隆仪器S-450型扫描电镜:日本日立公司UV1700紫外一可见分光光度计:北京瑞利分析仪器公司BSF-GX-2型分流式标准湿度发生器:国家标准物质研究中心、北京耐思达新技术发展公司五、实验步骤1、电阻型气体探测器工作原理认识(见三、实验原理)2、器件结构设计电阻型气体探测器基于敏感薄膜电阻变化来进行气体浓度测定,因此电阻是探测器件的一个重要参数。

实验报告的书写格式模版_1

实验报告的书写格式模版_1

( 实验报告)姓名:____________________单位:____________________日期:____________________编号:YB-BH-004610实验报告的书写格式模版Writing format template of experimental report实验报告的书写格式模版有关实验报告的书写格式一、完整实验报告的书写完整的一份实验报告一般包括以下项目:实验名称:实验目的:实验器材:实验原理:实验步骤:实验数据记录(表格)及处理:实验结论(结果推导):实验讨论或分析等。

二、实验报告书写方法1、实验名称:就是这个实验是做什么的。

2、实验目的:一般都写掌握什么方法啊;了解什么啊;知道什么啊;会什么啊;……等。

3、实验器材:就是做这个实验需要的所有器材(仪器)。

4、实验原理:就是这个实验是根据什么来做的,一般书上会写,抄一下也就可以啦。

5、实验步骤:就是你做实验的过程,开始操作时,(1)做什么;(2)做什么;(3)做什么;……6、实验数据记录(表格)及处理:根据实验中涉及以及实验得到的数据,设计表格,将有关数据填在表格相应的位置;数据处理,就是该计算的,按要求计算后填入表格对应位置。

7、实验结论(结果推导):就是做这个实验要得到的结果。

8、分析于讨论:写你的实验结果是否适合真实值?如果有误差要分析产生误差的原因,还有实验的一些比较关键的步骤的注意事项等。

对于初中生或小学生来说,书写的实验报告也可简单一点,有时也可不要分析于讨论,也可不写实验原理等。

三、探究实验书写一般有七个环节1.提出问题:就是在生活中发现、提出问题。

2.猜想与假设:发现问题,就要弄清楚问题,在没有搞清楚之前总有基本的猜测和设想,这就是猜想与假设。

3.制定计划与设计实验:有了猜想,就有了实验的目的,再根据实验的目的设计实验方案,制定实验计划,包括取得证据的途径和方法,确定收集证据的范围。

包括实验的理论依据(实验原理)、实验器材、实验步骤等。

《大学计算机基础》实验报告格1

《大学计算机基础》实验报告格1

利用格式工具栏按钮为数字设置“货币样式”和“千位分隔符样式”;调整行高与列宽,使它们以“最合适的行高”与“最合适的列宽”显示;为表格设置网格边框线,外边框线为双线,内边框线为细实线;为表格添加棕黄色底纹;为工作表添加页眉和页脚;(7)打开“销售报告”工作簿,并添加一个工作表,命名为“全年总计”,然后进行如下操作:将“上半年”工作表的单元格区域A2:D10复制到“全年总计”工作表的单元格区域A2:D10位置;将“下半年”工作表的单元格区域A3:D10复制到“全年总计”工作表的单元格区域A11:D18位置;在B列的位置插入一列,输入列标题“年度”,在单元格区域B3:B10中输入数据“上半年”;在单元格B11:B18中输入数据“下半年”;在A1单元格中输入文本“财务管理系统(单用户)全年销售情况”,之后将其A列至E列合并及居中对齐。

(8)打开工作簿“销售报告”,对工作表“全年总计”进行下列操作:对数据清单按“广州销售部”降序及“项目”升序进行排列;利用自动筛选功能,筛选出数据清单中“北京销售部”大于800或小于500的记录;利用自动筛选功能,筛选出数据清单中“上海销售部”销售量最多的3个记录;利用高级筛选功能,筛选出数据清单中“广州销售部”销售量大于800或“北京销售部”销售量大于900或“上海销售部”销售量大于850的记录;在数据清单中,以“项目”为关键字段分类汇总各销售部全年的销售情况;取消分类汇总,再对数据清单以“年度”为关键字段分类汇总各销售部上半年和下半年的平均销售量和总的平均销售量。

(9)打开“销售报告”工作簿,进行下列操作:利用工作表“上半年”单元格区域A2:D10的数据创建一个条形嵌入式图表;利用工作表“下半年”单元格区域A2:D10的数据创建一个柱形图表工作表,放在Sheet4工作表中。

2、按要求完成以下操作(1) 在以自己姓名为名称的文件夹中新建一个工作簿,取名为“练习”,将Sheet1改名为“销售表”,输入如图3-4所示内容,要求:①“月份”数据自动填充;“货物A”的单价自动填充,“货物B”的单价分两次填充;“货物C”的单价以3-4月为基本数据进行复制;②“货物A”的“数量”以10为起点,按步长为5填充等差序列;“货物B”的“数量”以10为起点,按步长为2填充等比序列,最多为100,然后重复填充;“货物C”的“数量”以40为起点,重复填充数据(2)打开“练习”工作簿,对其中的“销售表”进行如下操作:货物A、货物B、货物C的金额=单价×数量,利用公式复制实现数据填充;分别对货物A、货物B、货物C的“数量”、“金额”以及“月销售额”进行求和,并把结果填写在“合计”一栏对应的单元格中;分别计算货物A、货物B、货物C的“单价”平均值,并把结果填写在“合计”一栏对应的单元格中;图3-4(3)建立如图3-5所示的“职工工资表”,并按下列要求进行计算操作:销售额超过5000的职工按10%提成,其他职工按5%提成;统计销售额为5678的职工人数,并将其放在E12单元格;计算销售额为5678的职工提成之和,并将其放在E13单元格;计算每个职工的“实发工资”(实发工资=基本工资+提成),并将其放在相应单元格中;计算所有职工的“销售额”、“基本工资”、“提成”和“实发工资”的合计,并分别将其放在“合计”所在行相应的单元格中;计算所有职工“实发工资”的平均值,并将其放在H12单元格;求“实发工资”最高值,结果放在H132单元格;最后以“职工工资表”为工作簿名存于自己的文件夹。

实验一 实验报告模板

实验一  实验报告模板

实验一基础知识和绘图环境设置班级:学号:姓名:一、实验目的通过本实习应达到以下目标:1、熟悉AutoCAD的界面,并可以修改(移动工具栏,命令窗口到合适的位置)。

掌握文件的操作(打开,新建,保存,退出)。

熟练掌握鼠标的操作和定制工具栏。

掌握命令的输入和终止方法。

2、掌握坐标的输入和数据的输入3、掌握绘图环境的设置方法4、掌握捕捉和追踪的方法二、实验内容1、熟悉AutoCAD的界面,并可以修改(移动工具栏,命令窗口到合适的位置)2、反复练习基本操作(新建,打开,保存,退出)3、学会打开和关闭工具栏4、练习命令的输入和终止方法5、练习坐标输入,完成P42的图形绘制(图如下),其中点A是点B在水平线上的投影,要求用点过滤器实现。

在绘图之前完成图形界限和单位的设置,完成后保存到E盘下自己的文件夹中(如:E:/张三)并将文件名命名为1.dwg。

7、练习图层的设置,完成如下图的设置与绘制。

(说明:每个图形对象分别放在不同的图层上,并以矩形,椭圆,圆命名图层). 完成后保存到E盘下自己的文件夹中(如:E:/张三)并将文件名命名为2.dwg。

8、运用正交功能、并结合对象捕捉、极轴追踪等完成以下图形,并保存。

三、实验步骤第一题:把鼠标放在工具栏或命令窗口的边缘,按住左键拖动到适合的位置释放。

第二题:新建文件•标准”工具栏:(推荐用这种方法)• “文件”菜单:新建•命令行:new以上三种方式执行后,AutoCAD 将显示“创建新图形”对话框。

打开文件•“标准”工具栏:(推荐用这种方法)•“文件”菜单:打开•命令行:openAutoCAD 显示“选择文件”对话框。

保存文件•“标准”工具栏:(推荐用这种方法)• [文件]→[保存]•命令行:save注意:如果当前图形未保存过,则弹出[另存为]对话框。

如果当前图形已命名保存过,则无[另存为]对话框,如果需要另存要从文件的菜单下点击“另存为”的菜单命令。

退出•选择“文件”/“退出”•单击标题栏中的“关闭”按钮•在命令行输入Quit(或Exit)后按回车键第三题:•打开“视图”工具栏下的“工具栏”命令通过勾选可打开或者关闭工具栏。

实验报告(一)

实验报告(一)

实验报告(1)
学号:20135101245 姓名:张文杰一、程序的目的
用GoldWave软件处理音频中的噪音,学习并掌握基本的音频处理手段
二、运行环境
GoldWave平台
三、实验步骤
1:打开GoldWave软件
2:将要处理的音频用GoldWave软件打开(这里以老师给的自己录制音频运筹学微课为例),放大整段音频的幅度,选定需要处理的区域(设置开始标记设置结束标记)。

3:复制该段选中的音频(目的是进行噪音采样),全选整个音频,点击效果滤波器降噪使用粘贴板确定
4:另存为.wav文件就完成了降噪处理。

四、运行结果
降噪处理前:
降噪处理后:
五、实验总结
本节实验通过学习GoldWave软件学会了将音频去除噪音的技能,加深了对音频去噪的了解。

由于第一次实践,对软件的掌握还不够熟练,通过以后的自学,肯定能够熟运用。

实验一实验报告表

实验一实验报告表

实验一实验报告表一、实验目的本次实验的主要目的是探究_____在_____条件下的_____变化规律,并通过实验数据的分析和处理,验证相关理论和假设,为进一步的研究和应用提供基础数据和理论支持。

二、实验原理本实验基于_____原理,该原理指出_____。

在实验中,我们通过控制_____变量,观察_____因变量的变化情况,从而揭示其内在的规律和机制。

三、实验设备与材料1、实验设备主要设备:_____,其型号为_____,精度为_____,用于_____。

辅助设备:_____,用于_____。

2、实验材料材料名称:_____,其规格为_____,纯度为_____。

材料用量:_____。

四、实验步骤1、实验准备检查实验设备是否正常运行,确保仪器的精度和准确性。

准备实验所需的材料,按照规定的用量和规格进行称量和配制。

2、实验操作步骤一:_____。

步骤二:_____。

步骤三:_____。

(详细描述每个步骤的具体操作方法和注意事项)3、数据记录在实验过程中,按照规定的时间间隔和测量指标,准确记录实验数据。

数据记录表格如下:|时间|测量指标 1 |测量指标 2 |测量指标 3 |||||||||||||||||||||五、实验数据处理与分析1、数据处理对实验数据进行整理和筛选,去除异常值和错误数据。

采用合适的数学方法对数据进行处理,如平均值、标准差等,以提高数据的可靠性和准确性。

2、数据分析绘制实验数据的图表,如折线图、柱状图等,直观地展示数据的变化趋势和规律。

通过对图表的分析,找出数据之间的关系和趋势,并与实验预期结果进行比较。

(结合具体数据和图表进行详细的分析和讨论)六、实验结果与讨论1、实验结果本次实验得到的主要结果如下:结果一:_____。

结果二:_____。

结果三:_____。

2、结果讨论对实验结果进行分析和讨论,解释结果产生的原因和机制。

与相关理论和前人的研究成果进行比较,讨论实验结果的一致性和差异性。

实验报告格式

实验报告格式

实验报告格式(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如报告总结、合同协议、申报材料、规章制度、计划方案、条据书信、应急预案、心得体会、教学资料、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample texts for everyone, such as report summaries, contract agreements, application materials, rules and regulations, planning schemes, doctrine letters, emergency plans, experiences, teaching materials, other sample texts, etc. If you want to learn about different sample formats and writing methods, please pay attention!实验报告格式实验报告格式(通用6篇)在日常生活和工作中,报告与我们的生活紧密相连,报告包含标题、正文、结尾等。

实验报告模板【18篇】

实验报告模板【18篇】

实验报告模板【18篇】实验报告模板(精选18篇)实验报告模板篇1一、实验目的及要求:本实例是要创立边框为1像素的表格。

二、仪器用具1、生均一台多媒体电脑,组建内部局域网,并且接入国际互联网。

2、安装windowsxp操作系统;建立iis服务器环境,支持asp。

3、安装网页三剑客(dreamweavermx;flashmx;fireworksmx)等网页设计软件;4、安装acdsee、photoshop等图形处理与制作软件;5、其他一些动画与图形处理或制作软件。

三、实验原理创立边框为1像素的表格。

四、实验方法与步骤1)在文档中,单击表格“”按钮,在对话框中将“单元格间距”设置为“1”。

2)选中插入的表格,将“背景颜色”设置为“黑色”(#0000000)。

3)在表格中选中所有的单元格,在“属性”面版中将“背景颜色”设置为“白色”(#ffffff)。

4)设置完毕,保存页面,按下“f12”键预览。

五、实验结果六、讨论与结论本实验主要通过整个表格和单元格颜色的差异来衬托出实验效果,间距的作用主要在于表现这种颜色差异。

表格的背景颜色和单元格的背景颜色容易混淆,在实验中要认真推断,一旦操作错误则得不到实验的效果。

“表格宽度”文本框右侧的表格的宽度单位,包括“像素”和“百分比”两种,容易混淆,要充分地理解这两种单位表示的意义才能正确地进行选择,否则就不能到达自己想要的效果,设置错误就会严峻影响实验效果。

实验报告模板篇2一、演示目的气体放电存在多种形式,如电晕放电、电弧放电和火花放电等,通过此演示实验观看火花放电的发生过程及条件。

二、原理首先让尖端电极和球型电极与平板电极的距离相等。

尖端电极放电,而球型电极未放电。

这是由于电荷在导体上的分布与导体的曲率半径有关。

导体上曲率半径越小的地方电荷积聚越多(尖端电极处),两极之间的电场越强,空气层被击穿。

反之越少(球型电极处),两极之间的电场越弱,空气层未被击穿。

当尖端电极与平板电极之间的距离大于球型电极与平板电极之间的距离时,其间的电场较弱,不能击穿空气层。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1实验报告格式《计算机图形学》实验1实验报告实验题目:用户坐标、视图坐标、Java awt坐标概念的建立和应用实验内容:掌握用户坐标、视图坐标、Java awt坐标概念,掌握三类坐标的转换算法。

编写自己的算法函数,并形成Java语言程序包。

编写程序调用验证之。

参考程序:有两个示范程序MyTest.java和MyLineDrawApplet.java基本概念:用户坐标:是独立于设备的逻辑坐标,可以是用户用来定义设计对象的各种坐标。

应用程序使用该坐标系:所有传给Java 2D渲染过程的坐标都是指用户坐标。

例如下面程序中的默认用户坐标的范围是X轴从-1到1,Y轴也是凑够-1到1。

视图坐标:是设备相关的坐标,随目标渲染设备不同而不同。

下面程序中定义的视图坐标的缺省值为(0,0)和(1,1)。

Java awt坐标:使用java.awt时使用的坐标,即窗口显示图像时的边界坐标。

填充:这个过程可以抽象的理解为以已知的线为中心,向周围扩展像素,然后对这些像素所在的方块进行着色。

将用户坐标转换为视图坐标实际上是将独立于设备的逻辑坐标转换为设备相关的坐标,将视图坐标转化为A WT坐标就是将视图坐标按照显示窗口的大小进行缩放。

算法设计:(详细叙述自己设计程序的功能、算法及实现)程序的功能:可以根据传入的用户坐标进行视图坐标、A WT坐标之间的转换,其反向转换同理也可以实现,即将转换的方法逆过去即可。

此外,程序还可以进行图形的绘画和填充,比如矩形、椭圆、多边形等。

算法及其实现函数:用户坐标到视图坐标的转换:对于相应的用户坐标应用数学中的平移与放缩,就可以得到视图坐标。

具体方法如下:在用户坐标系下,设矩形窗口的左下角坐标为(Ux1,Uyb), 右上角为(Uxr,Uyt),视图坐标系下的两个点坐标分别为(Vx1,V yb)和(Vxr,V yt),则视图坐标的表达式为:(Xu,Y u)是已知的用户坐标,(Xv ,Y v)是要求的视图坐标Xv=aXu+b Y v=cY u+d其中:a=(Vxr-Vxl)/(Uxr-Uxl) b=Vxl-aUxlc=(V yt-V yb)/(Uyt-Uyb) d=V yb-cUyb//将用户坐标的点转换到视图坐标public double view_x(double x) {double s=(x-user_i_x)/(user_a_x- user_i_x);double t=view_i_x[currentV iew]+s* //坐标的平移及压缩(view_a_x[currentView]-view_i_x[currentV iew]);return t;}public double view_y(double y) {double s=(y-user_i_y)/(user_a_y-user_i_y);double t=view_i_y[currentV iew]+s* //坐标的平移及压缩(view_a_y[currentView]-view_i_y[currentV iew]);return t;}视图坐标到A WT坐标的转换:由于视图坐标在0到1之间,因此将显示窗口的宽和高按照视图坐标缩小就得到A WT坐标。

具体算法如下:视图坐标为(Vx ,V y),窗口的宽和高分别为:Ww和Wh,A WT坐标为(X,Y),其中X、Y均为整数,因此计算之后应将计算结果转为整数,并且与V y坐标方向相反。

那么X=Vx*Ww Y=(1-V y)*Wh//将视图坐标系的点转换到Java A WT坐标public int getIntX(double x) {return (int)(windowWidth * x); //注意视图坐标0-1之间}public int getIntY(double y) {return (int)(windowHeight * (1-y)); //Y轴方向相反}用户坐标到A WT坐标的转换:先按照用户坐标转视图坐标的方法转为视图坐标,然后按照视图坐标转A WT坐标的方法转为A WT坐标,简而言之,就是将第一种和第二种转换相结合。

//将用户坐标的点转换到Java A WT坐标public int getX(double x) {double xx=view_x(x); //先将x转换到视图坐标int ix=getIntX(xx); //将视图坐标转换到Java A WT坐标return ix;}public int getY(double y) {double yy=view_y(y); //先将y转换到视图坐标int iy=getIntY(yy); //将视图坐标转换到Java A WT坐标return iy;}椭圆的画法:用到圆心坐标和两个半径,画的时候首先将用户坐标转成java A WT坐标。

public void drawOval(double x, double y, double xr, double yr) {// 圆心从用户坐标转换到Java A WT坐标int ix = getX(x);int iy = getY(y);int ixr = getDimensionX(xr); // x轴半径投影到Java A WT坐标int iyr = getDimensionX(yr); // y轴半径投影int x0 = ix - ixr; // 椭圆外切矩形的左上角x坐标int y0 = iy - iyr; // 椭圆外切矩形的左上角y坐标graphics.drawOval(x0, y0, 2 * ixr, 2 * iyr);}代码:(给出主要的Java程序和注解)package first;import java.io.*;import java.awt.*;import java.awt.image.*;//定义容器类public class MyTest extends Component {//用户坐标系范围缺省值([-1,1],[-1,1])protected double user_i_x=-1; //用户坐标系X轴的最小值protected double user_a_x=1; //用户坐标系X轴的最大值protected double user_i_y=-1; //用户坐标系Y轴的最小值protected double user_a_y=1; //用户坐标系Y轴的最大值//视图的坐标范围缺省值([0,1],[0,1])protected double[] view_i_x; //各视图X轴最小值的数组protected double[] view_a_x; //各视图X轴最大值的数组protected double[] view_i_y; //各视图Y轴最小值的数组protected double[] view_a_y; //各视图Y轴最大值的数组final static int DefaultViewport_a=256; //缺省的视图数protected int viewport_a=DefaultViewport_a; //最大视图数protected int viewportNum=0; //当前视图数protected int currentView=0; //当前视图的索引号//窗口大小final static int DefaultWindowSize=256; //缺省的窗口大小protected int windowWidth=DefaultWindowSize; //窗口宽度protected int windowHeight=DefaultWindowSize; //窗口宽度//定义Java A WT 的Graphics 和Componentprotected Graphics graphics; //MyTest的Graphics数据类protected Component component; //MyTest的component数据类protected Color fontColor=Color.white; //当前前景颜色protected Color backColor=Color.white; //当前背景色//构造方法public MyTest(Component a) {component=a; //设定MyTest类所用的Componentgraphics=a.getGraphics(); //设定MyTest类所用的graphicswindowWidth=a.getSize().width; //窗口宽度windowHeight=a.getSize().height; //窗口高度createViewport(DefaultViewport_a); //创建视图}//创建视图private void createViewport(int max) {currentV iew=0; //设定当前视图索引号viewport_a=max; //设定视图数的最大值view_i_x=new double[viewport_a]; //存放各视图X轴最小值view_a_x=new double[viewport_a]; //存放各视图X轴最大值view_i_y=new double[viewport_a]; //存放各视图y轴最小值view_a_y=new double[viewport_a]; //存放各视图y轴最大值view_i_x[currentView]=0.0; //设定当前视图的坐标轴范围view_i_y[currentView]=0.0;view_a_x[currentV iew]=1.0;view_a_y[currentV iew]=1.0;viewportNum=1; //当前视图数}//设定用户坐标系范围public void setWindow(double x1,double x2,double y1,double y2) { user_i_x=x1; //设定窗口(用户坐标系)X轴的最小值user_a_x=x2; //设定窗口(用户坐标系)X轴的最大值user_i_y=y1; //设定窗口(用户坐标系)y轴的最小值user_a_y=y2; //设定窗口(用户坐标系)y轴的最大值}//设定视图public void setViewport(double x1,double x2,double y1,double y2) { currentV iew=viewportNum; //设定新的当前视图索引号viewportNum++; //当前视图数加1view_i_x[currentView]=x1; //存放视图的X轴最小值view_a_x[currentV iew]=x2; //存放视图的X轴最大值view_i_y[currentView]=y1; //存放视图的y轴最小值view_a_y[currentV iew]=y2; //存放视图的y轴最大值}//视图复位public void resetViewport() {currentV iew=0; //当前视图索引号重归于零view_i_x[currentView]=0.0; //设定当前视图的坐标轴范围view_i_y[currentView]=0.0;view_a_x[currentV iew]=1.0;view_a_y[currentV iew]=1.0;viewportNum=1; //当前视图数}//将视图坐标系的点转换到Java A WT坐标public int getIntX(double x) {return (int)(windowWidth * x); //注意视图坐标0-1之间}public int getIntY(double y) {return (int)(windowHeight * (1-y)); //Y轴方向相反}//将用户坐标的点转换到视图坐标public double view_x(double x) {double s=(x-user_i_x)/(user_a_x-user_i_x);double t=view_i_x[currentV iew]+s* //坐标的平移及压缩(view_a_x[currentView]-view_i_x[currentV iew]);return t;}public double view_y(double y) {double s=(y-user_i_y)/(user_a_y-user_i_y);double t=view_i_y[currentV iew]+s* //坐标的平移及压缩(view_a_y[currentView]-view_i_y[currentV iew]);return t;}//将用户坐标的点转换到Java A WT坐标public int getX(double x) {double xx=view_x(x); //先将x转换到视图坐标int ix=getIntX(xx); //将视图坐标转换到Java A WT坐标return ix;}public int getY(double y) {double yy=view_y(y); //先将y转换到视图坐标int iy=getIntY(yy); //将视图坐标转换到Java A WT坐标return iy;}//将用户坐标系的宽度、高度值投影到Java A WT坐标public int getDimensionX(double w) {double x=view_a_x[currentV iew]-view_i_x[currentView];x*=windowWidth*w/(user_a_x-user_i_x); //按比例投影,经由视图坐标系return ((int)Math.abs(x)); //用户坐标系可能反向}public int getDimensionY(double h) {double y=view_a_y[currentV iew]-view_i_y[currentView];y*=windowHeight*h/(user_a_y-user_i_y); //按比例投影,经由视图坐标系return ((int)Math.abs(y)); //用户坐标系可能反向}//有关当前颜色的设定方法:画笔颜色、前景色、背景色public Color getColor() {return fontColor; //得到当前颜色序号}public void setColor(Color c) {graphics.setColor(c); //设置图形对象的颜色fontColor=c; //设定当前颜色序号}public Color getForeground() {return fontColor; //得到当前前景色序号}public void setForeground(Color c) {component.setForeground(c); //设置前景色fontColor=c; //设定当前前景色序号}public Color getBackground() {return backColor; //得到当前背景色序号}public void setBackground(Color c) {component.setBackground(c); //设置背景色backColor=c; //设定当前背景色序号}//-----各类图形的描画方法-----------//直线画法:两点式参数public void drawLine(double x1,double y1,double x2,double y2) { //从用户的点坐标转换到Java A WT坐标int ix1=getX(x1); int iy1=getY(y1);int ix2=getX(x2); int iy2=getY(y2);graphics.drawLine(ix1,iy1,ix2,iy2); //这个方法它是怎样画直线的?}//矩形画法:对角式参数public void drawRect(double x1,double y1,double x2,double y2) { //从用户的点坐标转换到Java A WT坐标int ix1=getX(x1); int iy1=getY(y1);int ix2=getX(x2); int iy2=getY(y2);int ix0=(ix1<ix2)?ix1:ix2; //矩形左上角坐标int iy0=(iy1<iy2)?iy1:iy2;int width=Math.abs((ix1-ix2))+1; //矩形宽度,单位像素int height=Math.abs((iy1-iy2))+1; //矩形高度graphics.drawRect(ix0,iy0,width,height);}//矩形填充public void fillRect(double x1,double y1,double x2,double y2) { //从用户的点坐标转换到Java A WT坐标int ix1=getX(x1); int iy1=getY(y1);int ix2=getX(x2); int iy2=getY(y2);int ix0=(ix1<ix2)?ix1:ix2; //矩形左上角坐标int iy0=(iy1<iy2)?iy1:iy2;int width=Math.abs((ix1-ix2))+1; //矩形宽度,单位像素int height=Math.abs((iy1-iy2))+1; //矩形高度graphics.fillRect(ix0,iy0,width,height); //填充算法如何实现?}//椭圆的画法(圆心坐标和两个半径)public void drawOval(double x,double y,double xr,double yr) {//圆心从用户坐标转换到Java A WT坐标int ix=getX(x); int iy=getY(y);int ixr=getDimensionX(xr); //x轴半径投影到Java A WT坐标int iyr=getDimensionX(yr); //y轴半径投影int x0=ix-ixr; //椭圆外切矩形的左上角x坐标int y0=iy-iyr; //椭圆外切矩形的左上角y坐标graphics.drawOval(x0,y0,2*ixr,2*iyr);}//椭圆的填充(圆心坐标和两个半径)public void fillOval(double x,double y,double xr,double yr) {//圆心从用户坐标转换到Java A WT坐标int ix=getX(x); int iy=getY(y);int ixr=getDimensionX(xr); //x轴半径投影到Java A WT坐标int iyr=getDimensionX(yr); //y轴半径投影int x0=ix-ixr; //椭圆外切矩形的左上角x坐标int y0=iy-iyr; //椭圆外切矩形的左上角y坐标graphics.fillOval(x0,y0,2*ixr,2*iyr);}//多边形public void drawPolygon(double[] x,double[] y,int numPoints) { int[] ix=new int[numPoints];int[] iy=new int[numPoints];for(int i=0;i<numPoints;i++) {ix[i]=getX(x[i]); //从用户坐标点转换到Java A WT坐标iy[i]=getY(y[i]);}graphics.drawPolygon(ix,iy,numPoints); //封闭的折线图}//多边形填充public void fillPolygon(double[] x,double[] y,int numPoints) { int[] ix=new int[numPoints];int[] iy=new int[numPoints];for(int i=0;i<numPoints;i++) {ix[i]=getX(x[i]); //从用户坐标点转换到Java A WT坐标iy[i]=getY(y[i]);}graphics.fillPolygon(ix,iy,numPoints); //掌握填充的算法是重点}//写字符串public void drawString(String str,double x,double y) {//从用户坐标点转换到Java A WT坐标int ix=getX(x); int iy=getY(y);graphics.drawString(str,ix,iy);}//获取当前Graphics类的字体public Font getFont() {return graphics.getFont();}//设定当前Graphics类的字体public void setFont(Font f) {graphics.setFont(f);}//定义一种字体:仅对window已有字体放大尺寸public Font MyFont(String name,int style,double size) {int DefaultFontSize=12;if(size<=0) size=1.0; //字体大小不能为负数int isize=(int)(DefaultFontSize*size); //定义字体的大小Font f=new Font(name,style,isize); //构造字体return f;}//Java A WT坐标系到视图坐标系的反向转换public int getViewport(int ix,int iy){if(viewportNum==1) return 0; //默认视图double s=(double)(ix)/(double)windowWidth;double t=(double)(windowHeight-iy)/(double)windowHeight;for(int i=0;i<viewportNum;i++) { //视图索引号if(s>=view_i_x[i] && s<=view_a_x[i] &&t>=view_i_y[i] && t<=view_a_y[i]) return i;}return 0;}//视图到用户坐标系的反向转换(x坐标)public double getUserX(int ix,int v) {double t=(double)(ix)/(double)windowWidth;double x=user_i_x+(t-view_i_x[v])/(view_a_x[v]-view_i_x[v])*(user_a_x-user_i_x);return x;}//视图到用户坐标系的反向转换(y坐标)public double getUserY(int iy,int v) {double t=(double)(windowHeight-iy)/(double)windowHeight;double y=user_i_y+(t-view_i_y[v])/(view_a_y[v]-view_i_y[v])*(user_a_y-user_i_y);return y;}//******线段光栅化的成员变量********protected Image image; //Java图像类的对象protected MemoryImageSource mis; //内存图像数据源protected int pixelWidth; //图像点阵的宽度(像素数)protected int pixelHeight; //图像点阵的高度(像素数)protected int[] pixel; //存放图像点的颜色(行优先一维存放)protected int xoffset; //像素数据窗口内X坐标的偏移protected int yoffset; //像素数据窗口内Y坐标的偏移//直线(光栅化)实数型Bresenham算法public void rasterizeDrawLine(double x1,double y1,double x2,double y2) { double leftTopx,leftTopy;//从用户坐标到Java A WT坐标int ix1=getX(x1);int iy1=windowHeight-getY(y1); //到窗口下方的像素数int ix2=getX(x2);int iy2=windowHeight-getY(y2); //到窗口下方的像素数if(x1<x2){leftTopx=x1; //左上角的X坐标值设为x1(用户坐标)xoffset=ix1; //窗口中的偏移量是Java A WT坐标}else{leftTopx=x2; //左上角的X坐标值设为x2(用户坐标)xoffset=ix2; //窗口中的偏移量是Java A WT坐标}if(y1<y2){ //用户坐标原点在左下,Java A WT在左上leftTopy=y2; //左上角的y坐标值设为y2yoffset=iy1; //窗口中的偏移量是Java A WT坐标}else{ //用户坐标原点在左下,Java A WT在左上leftTopy=y1; //左上角的y坐标值设为y1(用户坐标)yoffset=iy2; //窗口中的偏移量是Java A WT坐标}int dx=ix2-ix1; //取得X向的间距int dy=iy2-iy1; //取得y向的间距int adx=Math.abs(dx); //X向的间距的绝对值int ady=Math.abs(dy); //Y向的间距的绝对值pixelWidth=adx+1; //图像点阵的宽度(像素数)pixelHeight=ady+1; //图像点阵的高度(像素数)//一维数组存放图像点的颜色(行优先)pixel=new int[pixelWidth*pixelHeight];for(int k=0;k<pixelWidth*pixelHeight;k++)pixel[k]=0x00000000; //预设透明背景,32位0int sx=(dx>0)?1:-1; //取正负号,1或者-1int sy=(dy>0)?1:-1;int x=ix1; //x从ix1开始循环int y=iy1; //y从iy1开始循环if(adx==0) { //说明这是平行于Y轴的直线for(int j=1;j<=ady;j++) {myPutPixel(x,y); //调用同类成员函数,设当前定像素颜色y+=sy; //y坐标的改变量为1或者-1个像素}}else if(ady==0) { //说明这是平行于x轴的直线for(int i=1;i<=adx;i++) {myPutPixel(x,y); //调用同类成员函数,设当前定像素颜色i+=sx; //x坐标的改变量为1或者-1个像素}}else if(adx>ady) { //直线走向贴近x轴方向double d=(double)dy/(double)dx; //直线斜率double ty=(double)y;for(int i=1;i<=adx;i++,x+=sx) { //x增加1或者-1个像素myPutPixel(x,y); //调用同类成员函数,设定当前像素颜色ty+=sx*d; //y坐标相应的改变量(像素)if(Math.abs(ty-y)>Math.abs(ty-y-sy))y+=sy; //沿y向前进了一个像素}}else { //直线走向贴近Y轴方向(adx<=ady)double d=(double)dx/(double)dy; //直线斜率double tx=(double)x;for(int j=1;j<=ady;j++,y+=sy) { //y增加1或者-1个像素myPutPixel(x,y); //调用同类成员函数,设当前定像素颜色tx+=sy*d; //y坐标相应的改变量(像素)if(Math.abs(tx-x)>Math.abs(tx-x-sx))x+=sx; //沿x向前进了一个像素}}/**作成内存图像源**/mis=new MemoryImageSource(pixelWidth,pixelHeight,pixel,0,pixelWidth); //生成内存图像有五个参数image=createImage(mis); //生成图像/**调用显示图像方法,需要四个参数**/myDrawImage(image,leftTopx,leftTopy,this);} //结束Bresenham算法//设定当前像素的颜色public void myPutPixel(int i,int j) {int r=getColor().getRed()&0xff; //获取当前红色值int g=getColor().getGreen()&0xff; //绿色值int b=getColor().getBlue()&0xff; //蓝色值int a=0xff000000|(r<<16)|(g<<8)|b;//组成像素值为32位二进制数,存放到像素数组的相应位置pixel[(pixelHeight-1-(j-yoffset))*pixelWidth+(i-xoffset)]=a;//其它位置为初始设置的透明色,不覆盖原来已显示的像素}//图像的显示public boolean myDrawImage(Image img,double x,double y,ImageObserver observer) {//从用户坐标点转换到Java A WT坐标int ix=getX(x); int iy=getY(y);//调用A WT的图像显示return graphics.drawImage(img,ix,iy,observer);}//******画笔移动方法*******protected double lastX=0; //画笔当前位置X坐标protected double lastY=0; //画笔当前位置Y坐标//抬笔移动到指定位置public void moveTo(double x,double y) {lastX=x; //更新画笔的当前位置lastY=y;}//落笔移动到指定位置public void lineTo(double x,double y) {drawLine(lastX,lastY,x,y); //画直线lastX=x; //更新画笔的当前位置lastY=y;}} //结束MyTest类package first;import first.MyTest; //引入自制包中的类MyTestimport java.applet.Applet;import java.awt.*;//===============测试MyTest类==================//定义主类MyLineDrawAppletpublic class MyLineDraw Applet extends Applet {MyTest m; //定义对象//Applet程序的自动初始化方法public void init(){m=new MyTest(this); //构造方法有参数}//Applet程序的绘图方法public void paint(Graphics g){m.setBackground(new Color(200,200,200)); //背景色灰白m.setColor(Color.black);//设定前景色为黑色m.setWindow(-1,1,-1,1); //设定用户坐标系范围//缺省的视图为m.setV iewport(0,1,0,1)和Java A WT窗口大小一样//画X轴double[] x1={0.95,1.0,0.95}; //箭头三个点的X坐标double[] y1={-0.03,0.0,0.03}; //箭头三个点的Y坐标m.drawLine(-1,0,1,0); //画X轴m.fillPolygon(x1,y1,3); //填充箭头m.drawString("X轴",0.8,-0.1); //X轴写字符串//画Y轴double[] y2={0.95,1.0,0.95}; //箭头三个点的Y坐标double[] x2={-0.03,0.0,0.03}; //箭头三个点的X坐标m.drawLine(0,-1,0,1); //画Y轴m.fillPolygon(x2,y2,3); //填充箭头m.drawString("Y轴",-0.2,0.9); //Y轴写字符串//画线m.setColor(Color.GREEN);m.drawLine(-1,-1,1,1); //画对角直线//利用光栅化Bresenham算法画直线m.setColor(Color.BLUE); //设定前景色为红色//画矩形m.drawRect(-0.5, 0.5, 0.5, -0.5);//画椭圆m.drawOval(-0.5, 0.5, 0.5, 0.3);m.setColor(Color.RED);//写字m.drawString("蔡敏沙作业", 0.5, -0.8);}} //主类MyLineDrawApplet运行结果:(给出运行结果的截屏和说明)第一幅截图中程序只调用了画直线的方法,因此画了一条直线,第二个分别又调用了画矩形和画椭圆的方法。

相关文档
最新文档