阿基米德螺线图形设计_Java基础实验报告

合集下载

java课程设计实验报告

java课程设计实验报告

java课程设计实验报告

一一实验目的

加深学生对课堂讲授内容的理解,从计算机语言的基本概念、程序设

计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良

好基础。在上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规律与技巧。在对Java程序的调试过程中,提高学生分析程序中出现的错误与排除这些错误的能力。通过上机实践,

加深学生对计算机软件运行环境,以及对操作系统与计算机语言支持系统

相互关系的了解。

二、实验要求

(1)问题描述准确、规范;

(2)程序结构合理,调试数据准确、有代表性;(3)界面布局整齐,人机

交互方便;(4)输出结果正确;(5)正确撰写实验报告。

三、设计内容

11、计算器

计算器要有GUI界面,用户可以输入所需计算的数值,可以进行加、减、乘、除四种最基本的运算与混合运算,可以求一个数值的平方及倒数,可以

进行阶乘运算,要能运算小数,并且不会产生精度损失,在必要情况下,可以

进行四舍五入的运算。允许正负数间的运算。要求使用Applet实现该计

算器,当用浏览器运行程序时,点击网页中的按钮,则计算器弹出,浮在网页上,再次点击按钮时,计算器消失。

22、文本编辑器

可以设置文本的字体、大小、颜色等基本参数,可以读取计算机中TXT文件,可以生成一个新的TXT文件。其她功能参照windows的文本编辑器。

四四.实验步骤(1)上机实验之前,为课程设计的内容作好充分准备。对每次上机需要完成的任务进行认真的分析,画出程序流程图,手工写出符合任务要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。

阿基米德螺线图形设计_Java基础实验报告

阿基米德螺线图形设计_Java基础实验报告

南京工程学院

实验报告

课程名称 JAVA基础

实验项目名称图形用户界面设计

实验题目阿基米德螺线图形设计

实验学生班级网络132 实验学生姓名薛康威

学号 202130834 实验时间 2015.5.25 实验地点信息楼

实验成绩评定

指导教师签字年月日

一、实验目的和要求

掌握Java Swing组件的使用方法,理解委托事件处理模型,掌握多种布局方式,掌握窗口菜单和快捷菜单设计方式,熟悉在组件上绘图的方法,设计出具有图形用户界面的、能够响应用户界面的、能够响应事件并处理异常的Java应用程序。要求如下:

(1)采用Swing组件设计图形用户界面,使用3个以上相同组件要声明组件数组。

(2)响应事件。

(3)异常处理,当输入数据错误时,弹出对话框,提示重新输入信息。

二、实验题目

阿基米德螺线图形设计,指定图形大小、位置和颜色。

三、实验方法与步骤(需求分析、算法设计思路、流程图等)

(1)需求分析

这个程序主要由两大块组成,自定义图形用户界面和阿基米德螺线图形算法。

(2)算法设计思路

首先是界面设计。内容窗格采用边布局,North处添加设置面板,Center处添加画布。其中设置面板采用流布局,添加设置圈数的文本框、选择颜色的单选按钮和最终“确定”的按钮。

其次是阿基米德螺线图形算法。根据数学公式r = aθ,转换成直角坐标方程组后,在图形类Graphics中标点填充即可。

最后便是事件处理。在按钮“确定”上注册事件监听,在响应方法里获得圈数(需要做异常处理)、颜色的参数,并调用画布类,将阿基米德螺线画出。

四、实验原始纪录(源程序、数据结构等)

java基础实验报告

java基础实验报告

java基础实验报告

Java基础实验报告

引言:

Java作为一种面向对象的编程语言,广泛应用于软件开发领域。本次实验旨在

通过一系列的实验任务,加深对Java基础知识的理解,并掌握Java编程的基

本技巧。

实验一:Java环境搭建

在本实验中,我们首先需要搭建Java开发环境。Java开发工具包(JDK)是进

行Java编程的基础,我们可以从Oracle官网上下载并安装最新版本的JDK。安装完成后,我们需要配置环境变量,以便在命令行中能够直接运行Java相关的

命令。

实验二:Java语言基础

Java语言基础是进行Java编程的基石。在本实验中,我们需要掌握Java的基

本语法规则、数据类型和运算符等。通过编写简单的程序,如计算两个数的和、判断一个数是否为素数等,加深对Java语言基础的理解。

实验三:面向对象编程

面向对象编程是Java的核心特性之一。在本实验中,我们需要学习Java中的

类和对象的概念,并通过编写简单的类和对象来实现一些功能。例如,创建一

个学生类,包含姓名、年龄和成绩等属性,并实现一些与学生相关的操作方法。实验四:异常处理

异常处理是Java编程中重要的一部分。在本实验中,我们需要学习Java中的

异常处理机制,并通过编写代码来处理可能出现的异常情况。例如,通过try-

catch语句来捕获并处理用户输入非法字符的异常。

实验五:文件操作

在实际的软件开发中,文件操作是非常常见的需求。在本实验中,我们需要学

习Java中的文件操作相关的类和方法,并通过编写代码来实现文件的读取和写

入等功能。例如,读取一个文本文件中的内容,并将其写入到另一个文件中。

java实验报告

java实验报告

java实验报告

Java实验报告

实验名称:Java图形界面编程

实验对象:Java初学者

实验目的:通过实际操作掌握Java图形界面编程的基本知识

和技巧

实验过程:

1. 实验准备:安装Java JDK开发环境,并准备好IDE工具

(如Eclipse或IntelliJ IDEA)

2. 创建工程:打开IDE工具,新建一个Java工程,并指定工

程名和保存路径

3. 创建界面:在工程上新建一个Java类,命名为"MainUI"

4. 设计界面:在"MainUI"类中使用Swing或JavaFX等GUI库,设计界面布局和组件

5. 添加事件监听:在"MainUI"类中添加事件监听器,使组件与逻辑代码进行关联

6. 编写逻辑代码:在"MainUI"类中编写逻辑代码,实现界面交互和功能实现

7. 编译运行:将工程编译成可执行文件,并运行程序,查看界面效果和功能是否符合预期

8. 调试修复:根据实际运行情况,对代码进行调试和修复,确保程序的稳定性和正确性

9. 测试验证:使用不同输入数据对程序进行测试,验证程序的鲁棒性和准确性

10. 总结反思:对实验过程进行总结和反思,提出改进和优化

的建议

实验结果:

通过实验,我成功创建了一个简单的Java图形界面程序,并

实现了基本的交互和功能。在界面设计方面,我使用了Swing

库进行布局和组件的添加,通过事件监听器实现了按钮点击和文本框输入的监听。在逻辑代码方面,我实现了简单的计算器功能,能够进行加减乘除等基本运算。通过测试验证,程序运行稳定,结果准确。

实验心得:

通过这次实验,我对Java图形界面编程有了更深入的了解和

java编程基础实验报告

java编程基础实验报告

Java编程基础实验报告

1. 引言

本实验报告旨在介绍Java编程基础实验的步骤和相关思考过程。通过本实验,我深入了解了Java编程语言的基本概念和语法,并通过实际编程练习提高了我的

编程技巧。

2. 实验目的

本次实验的目的是通过编写Java程序来实现一些基本的编程任务,包括变量

的声明与使用、条件分支、循环结构、函数定义和调用等。通过这些任务的完成,我可以加深对Java编程的理解和掌握。

3. 实验环境

在本次实验中,我使用了以下工具和环境: - Java Development Kit (JDK) - 集成开发环境(IDE):我选择使用IntelliJ IDEA

4. 实验步骤

步骤一:环境搭建

首先,我下载并安装了Java Development Kit (JDK)。然后,我安装了IntelliJ IDEA作为我的集成开发环境。

步骤二:创建Java项目

在IntelliJ IDEA中,我创建了一个新的Java项目。我选择了一个合适的项目名称,并选择了项目的存储路径。

步骤三:编写Java代码

在项目中,我创建了一个Java源代码文件,并开始编写Java程序。根据实验

要求,我定义了必要的变量,并使用条件分支和循环结构来实现程序的逻辑。

步骤四:调试和运行程序

在编写完Java代码后,我使用IntelliJ IDEA提供的调试功能来检查代码中的错误。我逐行运行程序,并观察变量的值和程序的输出,以确保代码的正确性。

步骤五:实验总结

在实验过程中,我遇到了一些困难和问题。通过阅读相关的教程和文档,我解决了这些问题,并加深了对Java编程语言的理解。

阿基米德原理实验研究报告

阿基米德原理实验研究报告

阿基米德原理实验研究报告

实验目的:

研究和验证阿基米德原理,并了解该原理在物理实验中的应用和实际意义。

实验原理:

阿基米德原理是描述浮力现象的物理定律,即在浸入液体或气体中的物体所受到的浮力等于该物体排斥的液体或气体的重量。具体可以表示为:浮力F = ρVg,其中ρ为液体的密度,V为

物体浸入液体中的体积,g为重力加速度。

实验装置与材料:

1.水槽

2.浮子

3.浮力计

4.天秤

5.标尺

6.水桶

7.水

8.容器

实验步骤:

1.将水槽放在平稳的台面上,用标尺量取水平面高度h。

2.测量浮子的体积V,并记录下来。

3.将浮子放入水槽中,测量浮子浸没水的深度,并记录下来。

4.用浮力计测量浮子所受的浮力F,并记录下来。

5.用天秤称出浮子的质量m,记录下来。

6.根据实验数据计算浮子排斥的水的质量,并与称出的质量进行对比。

7.根据阿基米德原理,计算浮子排斥的水的重量,并与实际测量的浮力进行对比。

8.通过对比实验结果和理论值,分析实验误差和可能的原因。

实验结果和讨论:

根据实验数据计算得到的浮子排斥的水的质量与实际测量的质量基本一致,说明实验的准确性较高。通过对比实际测量的浮力和理论计算的浮力,发现两者相差较小,说明阿基米德原理在实验中得到了较好的验证。

实验结论:

阿基米德原理是一种描述浮力现象的重要定律,通过实验可以验证该原理的准确性和在物理实验中的应用。实验结果表明,阿基米德原理在实验中得到了较好的验证,实验数据与理论计算结果符合较好,说明实验结果可信度较高。

java基础实验题和课程设计补充题

java基础实验题和课程设计补充题

《Java基础》课程实验题专业:计算机科学与技术、软件工程、网络工程(2013级起)教材:《Java程序设计实用教程(第4版)》

第6章图形用户界面

实验目的、要求和题意详见教材实验6。选题分配如下。

6-1 裁判评分。

6-2 算术表达式计算。

6-3 计算器。

6-4 货币转换,使用表格组件显示汇率表。

6-5 复数表达式计算。

6-6 整数多种进制转换。

6-7 十进制整数的算术运算及二进制显示。

6-8 整数位运算及二进制显示。

6-9 制作日期组件和月历组件,日期运算。见实验6-38和6-39。

6-10 显示字符串中每个字符的Unicode值。

6-11 例6.4 Person对象信息管理增加功能,见思考题6-3。

6-12 Friends对象信息管理,图形用户界面类似例6.4,Friends类声明见教材实验3。

6-13 Student对象信息管理,见思考题6-3⑤。

6-14 例6.4 Person对象信息管理增加功能,见思考题6-3,使用表格。

6-15 Friends对象信息管理,题同6-12,使用表格。

6-16 Student对象信息管理,见思考题6-3⑤,使用表格。

6-17 例6.5 文本编辑器增加功能,见思考题6-4。

6-18 例6.6 银行贷款计算增加功能,见思考题6-5,并提供等额本息还款法等多种还款方式计算银行贷款每月还本付息金额。

6-19 缴税计算。

6-20 课程成绩多级统计。

6-21 幻方阵的图形用户界面,幻方阵题见教材第44页例2.6。

6-22 杨辉三角的图形用户界面,杨辉三角题见教材第50页例2.8。

java设计实验报告

java设计实验报告

java设计实验报告

Java设计实验报告

一、引言

Java是一种广泛应用于软件开发的编程语言,具有跨平台、面向对象、可移植

等特点。本文将介绍一项基于Java的设计实验,并分析实验过程中的问题和解

决方案。

二、实验目标

本次实验的目标是设计一个简单的学生管理系统,实现学生信息的录入、查询、修改和删除功能。通过这个实验,旨在加深对Java编程语言的理解和应用。

三、实验过程

1. 设计数据结构

在开始编写代码之前,我们需要先设计好数据结构。在这个学生管理系统中,

我们需要存储学生的姓名、学号、年龄、性别等信息。可以使用类来表示学生

对象,每个学生对象包含相应的属性和方法。

2. 编写代码

根据设计好的数据结构,我们开始编写代码。首先,我们需要创建一个学生类,包含学生的属性和方法。然后,我们可以在主类中创建学生对象,并对学生信

息进行操作。

3. 实现录入功能

在学生管理系统中,我们需要实现学生信息的录入功能。可以通过在控制台上

输入学生的姓名、学号、年龄、性别等信息,并将其存储到学生对象中。

4. 实现查询功能

学生管理系统还需要实现学生信息的查询功能。可以通过输入学生的学号或姓

名等关键字,在学生对象中进行查找,并输出相应的学生信息。

5. 实现修改功能

学生信息可能会发生变化,因此我们需要实现学生信息的修改功能。可以通过

输入学生的学号或姓名等关键字,找到对应的学生对象,并修改其相应的属性。

6. 实现删除功能

在一些情况下,我们可能需要删除某个学生的信息。可以通过输入学生的学号

或姓名等关键字,在学生对象中进行查找,并将其删除。

JAVA语言程序设计实验报告

JAVA语言程序设计实验报告

实验一、安装JDK并熟悉java的运行环境实验二、基本语法练习

实验三、面向对象编程实验(4)

实验四、异常处理实验

实验五、小应用程序实验

实验六、图形图像实验

实验七、GUI(图形用户接口)实验(4)

实验八、多线程实验

实验九、输入输出流实验(4)

实验十、数据库应用实验(4)

实验一、安装JDK并熟悉java的运行环境

一、实验目的

熟悉JA V A的运行环境及学习简单的编程。

二、预习内容

安装工具软件的基本方法。

三、实验设备与环境

装有JA V A语言工具软件(Eclipse )的微机若干

四、实验内容

安装Eclipse及JA V A的核心编译程序J2SDK。

1、打开Eclipse的安装盘安装Eclipse。

2、在相同目录下安装J2SDK。

3、打开Eclipse软件对J2SDK文件进行配置。

4、编写一应用程序,在屏幕上显示“HELLO WORLD”和爱心标志。

Pulic class Hello

{

public static void main(String args[])

{

//在屏幕上显示“HELLO WORLD”和爱心标志

}

}

5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”和爱心标志。

实验结果

五、注意事项

⒈认真填写实验报告

⒉遵守实验室各项制度,服从实验指导教师的安排

⒊按规定的时间完成实验

六、说明

本次实验建议学时数2学时

七、实验总结与体会

实验二、基本语法练习

一、实验目的

⒈熟悉Java的基本语法

⒉编写应用程序接收命令行参数

⒊编写应用程序接收用户从键盘的输入

⒋掌握字符串与数组的基本方法

java图形实验报告

java图形实验报告

java图形实验报告

《Java图形实验报告》

摘要:

本实验通过使用Java编程语言,利用图形界面设计工具和图形库,实现了一个简单的图形界面程序。本实验主要包括了界面设计和图形绘制两个部分,通过实验过程,我们深入了解了Java图形界面编程的基本原理和实现方法。

一、实验目的

1. 了解Java图形界面编程的基本原理和实现方法;

2. 掌握Java图形界面设计工具的使用;

3. 掌握Java图形库的使用;

4. 实现一个简单的图形界面程序。

二、实验内容

1. 界面设计:使用Java图形界面设计工具,设计一个简单的界面,包括按钮、文本框等基本组件;

2. 图形绘制:利用Java图形库,实现在界面上绘制简单的图形,如直线、矩形等。

三、实验步骤

1. 界面设计:使用Java图形界面设计工具,创建一个新的界面窗口,添加按钮和文本框等组件,设置它们的位置和大小;

2. 图形绘制:在界面上添加一个画布组件,利用Java图形库在画布上绘制简单的图形,如直线、矩形等;

3. 编写Java代码,实现界面和图形的交互功能,如按钮点击事件等。

四、实验结果

通过实验,我们成功实现了一个简单的图形界面程序。界面上包括了按钮和文本框等组件,通过按钮点击事件,可以在画布上绘制直线、矩形等图形。

五、实验总结

通过本次实验,我们深入了解了Java图形界面编程的基本原理和实现方法,掌握了Java图形界面设计工具和图形库的使用。通过实验过程,我们对Java图形界面编程有了更深入的认识,为以后的学习和实践打下了坚实的基础。

六、参考资料

1. 《Java图形界面编程实例详解》;

验证阿基米德原理实验报告

验证阿基米德原理实验报告

验证阿基米德原理实验报告

篇一:验证阿基米德原理实验练习卷

验证阿基米德原理

1.阿基米德原理的内容是什么?

2.在实验中如何测量物体受到的浮力,如何测量排开液体受到的重力。

(二)实验要求

实验目的:用实验来定量研究,浸没在液体中无物体受到的浮力与它排开液体重力的关系。

实验器材:弹簧测力计、量筒、细线、金属块

题型训练:

1.在“验证阿基米德原理”的实验中,请填写空格处的内容。

(1)实验目的:用实验来定量研究,浸没在液体中的物体受到的浮力与它排开的液体所受__________之间的关系。

(2)实验器材:__________、量筒、金属块、细线和水。

(3)某同学在弹簧测力计下端用细线悬挂一块金属块,记下弹簧测力计的示数F1;将金属块完全浸没在量筒内的水中,记下弹簧测力计的示数F2,则金属块所受的浮力表达式为F浮=__________。

(4)该同学在量筒中盛适量的水,记下水面的示数V1,将金属块

浸没在水中后,记下水面的示数V2, (V2-V1)表示了金属块排开水的体积。如果用ρ水表示水的密度,那么金属块排开水所受重力的表达式为__________。最后,比较金属块排开的水所受的重力与弹簧测力计示数减小量之间的数量关系。

2

F2 F1

V2 V1

图12

3、为“验证阿基米德原理”,小明与同学一起进行了实验。他们用弹簧测力计、量筒、水、金属块等器材,按图12所示的实验方法测量了实验数据,并将实验数据记录在表格中。①请写出实验目的:。

②为了能直接对表格中的数据进行分析比较,表格中不但记录了原始的实验数据,还记录了经计算后得到的数据,如第5列中的(F1-F2)。请根据实验目的,结合图12所示的实验方法,将实验数据记录表格的首行填完整。

物理学中教法《阿基米德实验报告》

物理学中教法《阿基米德实验报告》

实验六阿基米德实验

一、实验结果

空气中比重比水轻的物体重力:G轻=0.6N,比重比水重:G重=1.57N量筒:G量=0.3N 拉F1/N V排cm3 G物=pvg /N G排=M-m/N 浮力F2= G -F1/N 比重比水重0.8 76 1.57 0.6 0.77

比重比水轻0 54 0.6 0.8 0.6

结果分析:由阿基米德原理物体在液体中所受到的浮力等于它排开的液体受到的重力。

二、思考题

1、请总结出做好本实验关键点。

答:阿基米德实验教案看似很简单,但要得到误差少的实验结果还是要注意很多细节:1)要注意先测量空气中小量筒的质量,若忘记测量则实验结果会偏大。

2)溢水杯中的水要装满,可以先多到一些水,让其将多余的水流出,在进行实验。

3)若水未装满则所测得的数据会偏小。在测量时挂钩不能浸入水中。测量比水重的物体时物体要全部浸入水中,测量比水轻的物体时应当等物体平衡时测出弹簧测力计

的读数。

4)物体放入水中时,注意不要碰到溢水杯杯壁。

2、做这个实验应引导学生观察那些实验现象?

答:1)两个实验物体浸入水中时,在水中的位置如何,是否一样?2)物体在放入水中后测力计的示数变化;3)观察两个实验的测量数据,学会分析;

3、你觉得本实验还有哪些不合理的地方吗?请提出改进的措施和方法?

答:不合理及改进措施:在做比水轻的实验时,物体应在未放入水中时就测两其在空气中的重力,即在做比重比水中的物体的浮力的是就应同时测量比水轻的物体在空气中的重力。

4、请设计一个验证阿基米德原理的演示实验的教案。

阿基米德原理演示实验教案

java实验报告实验报告java实验报告Java

java实验报告实验报告java实验报告Java

java实验报告实验报告java实验报告Java

一、实验目的

本次实验的目的是熟悉Java语言,了解Java程序结构,掌握Java程序的开发流程,加深对Java语言特性的认识和理解。

二、实验内容

本次实验内容为设计一个简单的Java程序,包括设计程序的需求分析、设计方案、编写代码、测试运行结果等环节。

三、实验分析

3.1 需求分析

设计一个Java程序,要求该程序能够实现以下功能:

1. 用户可以输入两个数,程序可以对这两个数进行加、减、乘、除的操作,并输出运算结果。

2. 用户可以输入一个字符串,程序可以对该字符串进行反转输出。

3.2 设计方案

根据需求分析,我们可以先设计一个简单的界面,包括输入框、选择运算符号的下拉框,以及一个按钮,当用户输入完毕后点击按钮即可进行相应的操作。

3.3 编写代码

根据设计方案,我们先编写一个简单的界面代码:

import java.awt.*;

import javax.swing.*;

public class Calculator extends JFrame {

private JTextField text1, text2, text3;

private JComboBox<String> combo;

private JButton calcBtn, reverseBtn, factBtn;

public Calculator() {

super("Calculator");

text1 = new JTextField(5);

text2 = new JTextField(5);

java图形实验报告范文

java图形实验报告范文

java图形实验报告范文

篇一:java实验报告实验六Java图形用户界面

信息工程学院

Java程序设计

JAVA图形用户界面

实验六Java图形用户界面

1.实验目的

(1)掌握图形用户界面基本组件。

(2)了解如何使用布局管理器对组件进行管理。

(3)掌握Java事件处理机制。

2.实验内容

实验题1编写一个模拟计算器的程序,使用面板和网格布局,添加一个文本框,10个数字按钮(0-9),4个加减乘除按钮,一个等号按钮,一个清除按钮,要求将计算公式和结果显示在文本框中。

运行结果:

的内容与格式按任课教师的要求书写。

加法:

主要代码:

etStub(null);jButton1=newjava

某.wing.JButton();jButton2=newjava

某.wing.JButton();jButton3=newjava

某.wing.JButton();jButton4=newjava

某.wing.JButton();jButton5=newjava

某.wing.JButton();jButton6=newjava

某.wing.JButton();jButton7=newjava

某.wing.JButton();jButton8=newjava

某.wing.JButton();jButton9=newjava

某.wing.JButton();jButton10=newjava

某.wing.JButton();jButton11=newjava

某.wing.JButton();jButton12=newjava

java实验报告完整版

java实验报告完整版

java实验报告完整版

验报告(计算机与信息工程学院实验中心)学期:

全文结束》》-xx 课程名称:

《Java程序设计实验》班级:

信息1202 姓名:

方逸梅学号:1212100231 指导老师:

费玉莲《Java程序设计》独立实验教学安排

一、实验的教学方式、安排及实验环境

(一)教学方式对照本课程的实验教材,实验一至实验一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验二的内容由学生自行设计完成。

(二)教学安排学时数:30课时学时安排:每次实验3学时,从学期第五周开始,共次上机实验。

(三)实验环境实验环境为JDK

1、6。

(四)具体安排地点:信息大楼实验室。辅导:每个班次一名辅导老师,原则上由任课老师担任。登记:实验完成,由辅导老师登记实验纪录。学生:实验做完,完成实验报告内容,并在学期末上交实验册。老师:批改实验,成绩与平时成绩一起占期末的30%。

二、实验的具体内容和要求见实验报告。浙江工商大学计算机与信息工程学院实验报告(1)日期:

地点:

成绩:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容:

一、实验目的:熟悉Java开发环境及简单程序Java设计。

二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。

三、实验内容及要求:

1、下载、安装并设置Java SDK 软件包。

2、熟悉Eclipse 编辑软件。

3、掌握运行Java 程序的步骤。

阿基米德螺旋线

阿基米德螺旋线

8.1阿基米德螺旋线

阿基米德螺旋线的标准极坐标方程为

ρ=at+P0

式中:

a—阿基米德螺旋线系数,mm/°,表示每旋转1度时极径的增加(或减小)量;

t—极角,单位为度,表示阿基米德螺旋线转过的总度数;

ρo—当t=0°时的极径,mm。

实例

图8-1为一个具有阿基米德螺旋线的凸轮,点P1至点P2为第一段阿基米德螺旋线,点P3至点P4为第二段阿基米德螺旋线。

1.绘图

1)作圆C1和C2

单击“基本曲线”按钮,在弹出的功能工具栏菜单中单击“圆”按钮,选立即菜单中1:圆心_半径,提示圆心点时,输0,0(回车),提示输入半径时,输10(回车)作出R=10的圆C1,提示输入半径时,输12(回车)作出R=12的圆C2,按鼠标右键结束。

因为图形尺寸太小,为了看得更清楚,可将显示的图形放大至屏幕大小。单击屏幕上方常用工具栏中的“动态缩放”按钮,按住鼠标左键,从屏幕下方向上方推动光标时,图形随之放大。

2)作点P1至点P2之间的阿基米德螺旋线

作图前必需先算出这段阿基米德螺旋线条数a和当极角t=0°时的极径ρo。

(1)计算点P1和点P2之间的阿基米德螺旋线系数a

P1点的极径为10,P2点的极径为12,P1至P2点转过90°,每转过1度时极径的增大量就是a,故该段的阿基米德螺旋线系数为

a=(12-10)÷90=0.02222mm/°

(2)计算当极角t=0°(即X轴正向)时的极径P0

P1点(极角为180°)时的极径P180=10mm,极角每减小1度时极径减小

a=0.02222mm/°,当极角减小至t=0°时的极径为P0,计算如下P0=10-

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

南京工程学院

实验报告

课程名称 JAVA基础

实验项目名称图形用户界面设计

实验题目阿基米德螺线图形设计

实验学生班级网络132 实验学生姓名薛康威

学号 202130834 实验时间 2015.5.25 实验地点信息楼

实验成绩评定

指导教师签字年月日

一、实验目的和要求

掌握Java Swing组件的使用方法,理解委托事件处理模型,掌握多种布局方式,掌握窗口菜单和快捷菜单设计方式,熟悉在组件上绘图的方法,设计出具有图形用户界面的、能够响应用户界面的、能够响应事件并处理异常的Java应用程序。要求如下:

(1)采用Swing组件设计图形用户界面,使用3个以上相同组件要声明组件数组。

(2)响应事件。

(3)异常处理,当输入数据错误时,弹出对话框,提示重新输入信息。

二、实验题目

阿基米德螺线图形设计,指定图形大小、位置和颜色。

三、实验方法与步骤(需求分析、算法设计思路、流程图等)

(1)需求分析

这个程序主要由两大块组成,自定义图形用户界面和阿基米德螺线图形算法。

(2)算法设计思路

首先是界面设计。内容窗格采用边布局,North处添加设置面板,Center处添加画布。其中设置面板采用流布局,添加设置圈数的文本框、选择颜色的单选按钮和最终“确定”的按钮。

其次是阿基米德螺线图形算法。根据数学公式r = aθ,转换成直角坐标方程组后,在图形类Graphics中标点填充即可。

最后便是事件处理。在按钮“确定”上注册事件监听,在响应方法里获得圈数(需要做异常处理)、颜色的参数,并调用画布类,将阿基米德螺线画出。

四、实验原始纪录(源程序、数据结构等)

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class ArchimedesJFrame extends JFrame implements ActionListener{ private ArchimedesCanvas archimedes; //画布类声明

private JButton jb3;

private JPanel jp1;

private JTextField text_q;

private JRadioButton bcolor[];

private double n;

public ArchimedesJFrame(){

super("阿基米德螺线");

Dimension dim=getToolkit().getScreenSize();

this.setBounds(dim.width/4,dim.height/4,dim.width/2,dim.height/2);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

text_q=new JTextField(10);

jp1=new JPanel();

jp1.add(new JLabel("圈数:"));

jp1.add(text_q);

jb3=new JButton("确定");

jp1.add(jb3);

jb3.addActionListener(this);

String lk[]={" "," "};

for(int i=0;i

jp1.add(new JLabel(lk[i]));

}

jp1.add(new JLabel("颜色:"));

String colorstr[]={"红","绿","蓝"};

ButtonGroup colorgroup=new ButtonGroup();

bcolor=new JRadioButton[colorstr.length];

for(int i=0;i

bcolor[i]=new JRadioButton(colorstr[i]);

colorgroup.add(bcolor[i]);

jp1.add(bcolor[i]);

bcolor[i].addActionListener(this);

}

this.getContentPane().add(jp1,"North");

archimedes=new ArchimedesCanvas(Color.black,this.n);

this.getContentPane().add(new JScrollPane(archimedes),"Center");

this.setVisible(true);

}

//响应方法

public void actionPerformed(ActionEvent e){

Color c=null;

if(e.getSource()==bcolor[0]) //获得颜色

c=new Color(255,0,0);

if(e.getSource()==bcolor[1])//获得颜色

c=new Color(0,255,0);

if(e.getSource()==bcolor[2]) //获得颜色

c=new Color(0,0,255);

if(e.getSource()==jb3) {

try{

this.n=Double.parseDouble(text_q.getText());//获得圈数}

catch(NumberFormatException nfex){

JOptionPane.showMessageDialog(this, "无法转换成浮点数", "提醒", JOptionPane.WARNING_MESSAGE); //异常处理

}

}

try{

if(n<0||n>20)

throw new Exception(" ");

archimedes.setn(n); //设置所画圈数

archimedes.setColor(c); //设置所画颜色

archimedes.repaint();

}catch(Exception qwe){

JOptionPane.showMessageDialog(this, "圈数必须在0~20之间", "提醒", JOptionPane.WARNING_MESSAGE); //异常处理

}

}

public static void main(String[] args){

n ew ArchimedesJFrame();

}

}

//画布类方法实现

class ArchimedesCanvas extends Canvas {

private Color color;

private double x;

public ArchimedesCanvas(Color color,double n){

t his.setBackground(Color.WHITE);

this.setColor(color);

this.setn(n);

}

public void setColor(Color color){

相关文档
最新文档