当前位置:文档之家› 计算表图形面积课程设计报告

计算表图形面积课程设计报告

计算表图形面积课程设计报告
计算表图形面积课程设计报告

中南林业科技大学

课程设计报告

设计名称:计算图形面积

姓名:学号:

专业班级:

院(系):计算机与与信息工程

设计时间:

设计地点:中南林业科技大学

一、设计目的

1.深入理解Java面向对象的设计思想

2.提高用Java语言编程的能力

3.学会制作软件开发文

二、课程要求分析

2.1本课程及程序功能要求

课程名称:计算图形面积的制作

要求:编写一个体现MVC结构的GUI程序。首先编写一个图形接口以及实现该接口的圆类、梯形类、三角形类等,然后再编写一个窗口。要求:

1.能够选择具体的图形;

2.使用若干文本框和一个文本区为该图形对象中的数据提供视图,其中文本框用来显示和更新图形对象的基本要素(如梯形的上底、下底和高),文本区对象用来显示图形的面积。窗口中有一个按钮,用户单击该按钮后,程序用文本框中的数据作为图形对象的基本要素,并将计算出的图形面积显示在文本区中。

2.2课程介绍

计算图形面积使用的事JavaSE中的GUI和线程基本技术,可以实现三角形、圆、梯形的面积计算。

具体操作如下:

1.点击单选按钮选择要计算面积的图形形状。

2.输入所选择图形对象的基本要素(如梯形的上底、下底、高)。

3.点击按钮“确定”,可以在文本区显示计算得出的结果。

4.点击右上角的关闭键可以退出本程序。

三、程序流程图

开始

四、程序设计介绍

4.1本程序所用知识点

(1)GUI概念

图形用户界面(Graphical User Interface,简称 GUI)是指采用图形方式显示的计算机操作用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。运行Java程序有两种方式,一是命令行输出,另一种就是图形用户界面输出(2)MVC结构

模型-视图-控制器(Model-View-Controller),简称MVC。MVC是一种先进的设计结构,其目的是以会话框形式提供方便的GUI支持。

(3)布局管理

FlowLayout (流式布局管理器)这个简单的“Flow”的组件安装在窗体中,从左到右,直到顶部的空格全部再移去一行,并继续循环这些组件。

(4)创建一个窗体

窗口中可以存放各种组件,所以窗体是容器,可以被直接显示、绘制在操作系统所控制的平台上。

(5)事件处理

事件处理机制

事件:用户对组件的一个操作

事件源:发生事件的组件

监听器:我们需要处理某个事件的时候,就需要在发生事件的组件上添加监听器。

事件处理器:监听器中的方法,添加监听器后,组件发生了对应的事件就会执行指定的方法(6)所用组件

JLabel创建标签;JTextField 创建文本框;JRadioButton创建单选按钮;

JTextArea 创建文本区;JButton 创建可单击按钮

五、程序代码设计

Main.java

public class Main {

public static void main(String[] args) {

NewFrame nf=new NewFrame();

nf.setVisible(true);

}

}

NewFrame.java

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JRadioButton;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;

public class NewFrame extends JFrame implements ActionListener { //创建对象

int flag;

Triangle triangle=new Triangle();//创建对象triangle并分配内存空间

Circle circle=new Circle(5);//创建对象circle并分配内存空间

Lader lader=new Lader(10,20,10);//创建对象lader并分配内存空间ButtonGroup group;//创建按钮群

JLabel label,a,b,c,r,a1,a2,h,result;//创建标签

JTextField t1,t2,t3,t4,t5,t6,t7;// 创建文本框

JRadioButton radio1,radio2,radio3;//创建单选按钮

JTextArea area;//创建文本区

JButton button;//创建可单击按钮

NewFrame() {

//设置窗体风格,包括大小,界面,标题等等

this.setSize(400, 500);//设置窗口大小

this.setTitle("计算图形面积");//设置窗口标题

this.setLayout(null);//设置布局为空

this.setResizable(false);//不可改变窗体大小

this.setLocationRelativeTo(null);//窗口居中显示

this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);//关闭窗口时退出

//为对象分配内存

group=new ButtonGroup();

radio1=new JRadioButton("三角形");

radio2=new JRadioButton("圆");

radio3=new JRadioButton("梯形");

label=new JLabel("选择形状");

a=new JLabel("边 a:");

b=new JLabel("边b:");

c=new JLabel("边c:");

r=new JLabel("半径:");

a1=new JLabel("上底:");

a2=new JLabel("下底:");

h=new JLabel("高:");

t1=new JTextField(5);

t2=new JTextField(5);

t3=new JTextField(5);

t4=new JTextField(5);

t5=new JTextField(5);

t6=new JTextField(5);

t7=new JTextField(5);

area=new JTextArea(400,50);

result=new JLabel("输出结果");

button=new JButton("确定");

////设置单选按钮大小并添加到窗体

radio1.setBounds(40,30,80, 50);

this.add(radio1);

group.add(radio1);

radio2.setBounds(40,80,80, 50);

this.add(radio2);

group.add(radio2);

radio3.setBounds(40,130,80, 50);

this.add(radio3);

group.add(radio3);

//设置标签的大小并添加到窗体上

label.setBounds(40, 10, 100, 20);

this.add(label);

a.setBounds(120, 50,40, 10);

this.add(a);

b.setBounds(210,50, 40, 10);

this.add(b);

c.setBounds(300, 50, 40, 10);

this.add(c);

r.setBounds(120,100, 40, 10);

this.add(r);

a1.setBounds(120, 145, 50, 20);

this.add(a1);

a2.setBounds(210, 145, 50, 20);

this.add(a2);

h.setBounds(300, 145, 50, 20);

this.add(h);

result.setBounds(40, 250, 60, 20);

this.add(result);

//设置文本框、文本区的大小并添加到窗体上

t1.setBounds(150,45, 50, 20);

this.add(t1);

t2.setBounds(240,45, 50, 20);

this.add(t2);

t3.setBounds(330,45,50, 20);

this.add(t3);

t4.setBounds(160, 95, 50, 20);

this.add(t4);

t5.setBounds(150, 145, 50, 20);

this.add(t5);

t6.setBounds(240,145,50, 20);

this.add(t6);

t7.setBounds(330,145,50, 20);

this.add(t7);

area.setBounds(100, 250, 200, 100);

this.add(new JScrollPane(area));//为area绑定一个滚动条并添加到窗体

this.add(area);

button.setBounds(150, 400, 100, 30);

this.add(button);

//在按钮上添加命令

radio1.addActionListener(this);

radio2.addActionListener(this);

radio3.addActionListener(this);

button.addActionListener(this);

}

//以下是按钮按下的事件处理

public void actionPerformed(ActionEvent e) {

if(e.getSource().equals(radio1))//如果按下“三角形”按钮

{

flag=1;

}

if(e.getSource().equals(radio2))//如果按下“圆”按钮

{

flag=2;

}

if(e.getSource().equals(radio3))//如果按下“梯形”按钮

{

flag=3;

}

if(e.getSource().equals(button))//如果按下“确定”按钮

{

if(flag==1)//按下“三角形”按钮时调用triangle

{

try{double a=Double.parseDouble(t1.getText());

double b=Double.parseDouble(t2.getText());

double c=Double.parseDouble(t3.getText());

triangle.setA(a);

triangle.setB(b);

triangle.setC(c);//输入三边长到文本框中

area.setText("");

if(triangle.getArea()!=0)

{

area.append("三角形的面积是:");

area.append("\n");

area.append(""+triangle.getArea());//输入结果到文本区

}

else

{

area.append("无法计算面积");

}

}

catch(Exception ex){

area.append("\n"+"\n");

}

}

if(flag==2)//按下“圆”按钮时调用circle

{

try{double

r=Double.parseDouble(t4.getText().trim());

circle.setRadius(r);//输入半径到文本框中

area.setText("");

area.append("圆的面积是:");

area.append("\n");

area.append(""+circle.getArea());//插入结果到文本区

}

catch(Exception ex){

area.append("\n"+"\n");

}

}

if(flag==3)//按下“梯形时”按钮时调用lader

{

try{double

a1=Double.parseDouble(t5.getText().trim());

lader.setAbove(a1);

double

a2=Double.parseDouble(t6.getText().trim());

lader.setBottom(a2);

double

h=Double.parseDouble(t7.getText().trim());

lader.setHeight(h);//输入上底、下底、高到文本框中

area.setText("");

area.append("梯形的面积是:");

area.append("\n");

area.append(""+lader.getArea());//输入结果到文本区

}

catch(Exception ex){

area.append("\n"+"\n");

}

}

}

}

}

Picture.java

interface Picture {//创建Picture接口

double getArea();

}

Triangle.java

public class Triangle implements Picture {//实现 Picture接口double sideA,sideB,sideC,area;

boolean isTriangle;

public double getArea() {

if(isTriangle) {

double p=(sideA+sideB+sideC)/2.0;

area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));

}

else{

System.out.print("无法计算面积") ;

}

return area;

}

//判断a、b、c是否构成三角形

public void setA(double a){

sideA=a;

if(sideA+sideB>sideC&&sideA+sideC>sideB&&sideB+sideC>sideA) {

isTriangle=true;

}

else{

isTriangle=false;

}

}

public void setB(double b){

sideB=b;

if(sideA+sideB>sideC&&sideA+sideC>sideB&&sideB+sideC>sideA) {

isTriangle=true;

}

else{

isTriangle=false;

}

}

public void setC(double c){

sideC=c;

if(sideA+sideB>sideC&&sideA+sideC>sideB&&sideB+sideC>sideA) {

isTriangle=true;

}

else{

isTriangle=false;

}

}

}

Circle.java

public class Circle implements Picture{//实现Picture接口double radius,area;

Circle(double r) {

radius=r;

}

public double getArea() {

return area=3.14*radius*radius;

}

void setRadius(double newRadius) {

radius=newRadius;

}

double getRadius() {

return radius;

}

}

Lader.java

public class Lader implements Picture{//实现 Picture接口double above,bottom,height,area;

Lader(double a1,double a2,double h) {

above=a1;

bottom=a2;

height=h;

}

void setAbove(double newAbove) {

above=newAbove;

}

double getAbove() {

return above;

}

void setBottom(double newBottom){

bottom=newBottom;

}

double getBottom(){

return bottom;

}

void setHeight(double newHeight){ height=newHeight;

}

double getHeight(){

return height;

}

public double getArea() {

area=(above+bottom)*height/2;

return area;

}

}

六、程序效果演示

运行后的初始效果

计算三角形面积

计算圆的面积

计算梯形的面积

七、总结报告

a.课程设计中所遇到的主要问题和解决方法。

问题:1.标签不显示

2.不知道怎么监听

3.输出结果不显示在文本区,输出结果被覆盖

4.文本区换行

解决办法:1.给标签设置大小,并移到合适的位置

2 在发生事件的组件上添加监听器,在监听器中定义方法使组件发上来对应的

事件就会执行指定的方法

3使用setText(""),并用append("")追加序列。

4使用append("\n")在文本区换行

b.创新和得意之处。

1.窗口不改变大小,居中显示,较美观。

2.被监听的组件之间不混乱,命令清晰

c.课程设计中存在的不足,需要进一步改进的设想。

1.变换另一个图形的操作时,以前输入文本的数据没能释放掉

2.选择图形时用下拉列表做,更美观方便

d.课程设计的感想和心得体会。

经过一个星期的课程设计,我再老师和同学的帮助下,顺利完成了该课程设计,通过本次课程设计,我了解了java语言用途广泛,加深了对java语言的理论知识的理解,让我更加熟练的掌握了以前很多没掌握的知识并做出了一个解决实际问题的程序,加深了我对java 的学习兴趣和好感。

八、参考文献

1. Java程序设计教程(第2版)雍俊海编著清华大学出版社

2. Java 2实用教程(第4版)耿祥义等编著清华大学出版社

电力系统潮流计算课程设计报告

课程设计报告 学生姓名:学号: 学院:电气工程学院 班级: 题目: 电力系统潮流计算 职称: 副教授 指导教师:李翠萍职称: 副教授 2014年 01月10日

1 潮流计算的目的与意义 潮流计算的目的:已知电网的接线方式与参数及运行条件,计算电力系统稳态运行各母线电压、个支路电流与功率及网损。对于正在运行的电力系统,通过潮流计算可以判断电网母线电压、支路电流和功率是否越限,如果有越限,就应采取措施,调整运行方式。对于正在规划的电力系统,通过潮流计算,可以为选择电网供电方案和电气设备提供依据。潮流计算还可以为继电保护和自动装置定整计算、电力系统故障计算和稳定计算等提供原始数据。 潮流计算的意义: (1)在电网规划阶段,通过潮流计算,合理规划电源容量及接入点,合理规划网架,选择无功补偿方案,满足规划水平的大、小方式下潮流交换控制、调峰、调相、调压的要求。 (2)在编制年运行方式时,在预计负荷增长及新设备投运基础上,选择典型方式进行潮流计算,发现电网中薄弱环节,供调度员日常调度控制参考,并对规划、基建部门提出改进网架结构,加快基建进度的建议。 (3)正常检修及特殊运行方式下的潮流计算,用于日运行方式的编制,指导发电厂开机方式,有功、无功调整方案及负荷调整方案,满足线路、变压器热稳定要求及电压质量要求。 (4)预想事故、设备退出运行对静态安全的影响分析及作出预想的运行方式调整方案。 2 潮流计算数学模型 1.变压器的数学模型: 变压器忽略对地支路等值电路:

2.输电线的数学模型: π型等值电路: 3 数值方法与计算流程 利用牛顿拉夫逊法进行求解,用MATLAB 软件编程,可以求解系统潮流分 布根据题目的不同要求对参数进行调整,通过调节变压器变比和发电厂的电压,求解出合理的潮流分布,最后用matpower 进行潮流分析,将两者进行比较。 牛顿—拉夫逊法 1、牛顿—拉夫逊法概要 首先对一般的牛顿—拉夫逊法作一简单的说明。已知一个变量X 函数为: 0)(=X f 到此方程时,由适当的近似值) 0(X 出发,根据: ,......)2,1() ()() ()() () 1(='-=+n X f X f X X n n n n 反复进行计算,当) (n X 满足适当的收敛条件就是上面方程的根。这样的方 法就是所谓的牛顿—拉夫逊法。 这一方法还可以做下面的解释,设第n 次迭代得到的解语真值之差,即) (n X 的误差为ε时,则: 0)()(=+εn X f 把)() (ε+n X f 在) (n X 附近对ε用泰勒级数展开 0......)(! 2)()()()(2 )() () (=+''+ '+=+n n n n X f X f X f X f εεε 上式省略去2ε以后部分 0)()()()(≈'+n n X f X f ε

多核编程与并行计算实验报告 (1)

(此文档为word格式,下载后您可任意编辑修改!) 多核编程与并行计算实验报告 姓名: 日期:2014年 4月20日

实验一 // exa1.cpp : Defines the entry point for the console application. // #include"stdafx.h" #include #include #include #include using namespace std; void ThreadFunc1(PVOID param) { while(1) { Sleep(1000); cout<<"This is ThreadFunc1"<

实验二 // exa2.cpp : Defines the entry point for the console application. // #include"stdafx.h" #include #include using namespace std; DWORD WINAPI FunOne(LPVOID param){ while(true) { Sleep(1000); cout<<"hello! "; } return 0; } DWORD WINAPI FunTwo(LPVOID param){ while(true) { Sleep(1000); cout<<"world! "; } return 0; } int main(int argc, char* argv[]) { int input=0; HANDLE hand1=CreateThread (NULL, 0, FunOne, (void*)&input, CREATE_SUSPENDED,

计算机图形学实验

实验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 ;

计算方法上机实验报告

《计算方法》上机实验报告 班级:XXXXXX 小组成员:XXXXXXX XXXXXXX XXXXXXX XXXXXXX 任课教师:XXX 二〇一八年五月二十五日

前言 通过进行多次的上机实验,我们结合课本上的内容以及老师对我们的指导,能够较为熟练地掌握Newton 迭代法、Jacobi 迭代法、Gauss-Seidel 迭代法、Newton 插值法、Lagrange 插值法和Gauss 求积公式等六种算法的原理和使用方法,并参考课本例题进行了MATLAB 程序的编写。 以下为本次上机实验报告,按照实验内容共分为六部分。 实验一: 一、实验名称及题目: Newton 迭代法 例2.7(P38):应用Newton 迭代法求 在 附近的数值解 ,并使其满足 . 二、解题思路: 设'x 是0)(=x f 的根,选取0x 作为'x 初始近似值,过点())(,00x f x 做曲线)(x f y =的切线L ,L 的方程为))((')(000x x x f x f y -+=,求出L 与x 轴交点的横坐标) (') (0001x f x f x x - =,称1x 为'x 的一次近似值,过点))(,(11x f x 做曲线)(x f y =的切线,求该切线与x 轴的横坐标) (') (1112x f x f x x - =称2x 为'x

的二次近似值,重复以上过程,得'x 的近似值序列{}n x ,把 ) (') (1n n n n x f x f x x - =+称为'x 的1+n 次近似值,这种求解方法就是牛顿迭代法。 三、Matlab 程序代码: function newton_iteration(x0,tol) syms z %定义自变量 format long %定义精度 f=z*z*z-z-1; f1=diff(f);%求导 y=subs(f,z,x0); y1=subs(f1,z,x0);%向函数中代值 x1=x0-y/y1; k=1; while abs(x1-x0)>=tol x0=x1; y=subs(f,z,x0); y1=subs(f1,z,x0); x1=x0-y/y1;k=k+1; end x=double(x1) K 四、运行结果: 实验二:

计算机图形学课程设计书

计算机图形学课程设计 书 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

课程设计(论文)任务书 理学院信息与计算科学专业2015-1班 一、课程设计(论文)题目:图像融合的程序设计 二、课程设计(论文)工作: 自2018 年1 月10 日起至2018 年1 月12日止 三、课程设计(论文) 地点: 2-201 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)熟悉Delphi7的使用,理论与实际应用相结合,养成良好的程序设计技能;(2)了解并掌握图像融合的各种实现方法,具备初步的独立分析和设计能力;(3)初步掌握开发过程中的问题分析,程序设计,代码编写、测试等基本方法;(4)提高综合运用所学的理论知识和方法独立分析和解决问题的能力; (5)在实践中认识、学习计算机图形学相关知识。 2.课程设计的任务及要求 1)基本要求: (1)研究课程设计任务,并进行程序需求分析; (2)对程序进行总体设计,分解系统功能模块,进行任务分配,以实现分工合作;(3)实现各功能模块代码; (4)程序组装,测试、完善系统。 2)创新要求: 在基本要求达到后,可进行创新设计,如改进界面、增加功能或进行代码优化。

3)课程设计论文编写要求 (1)要按照书稿的规格打印誊写课程设计论文 (2)论文包括封面、设计任务书(含评语)、摘要、目录、设计内容、设计小结(3)论文装订按学校的统一要求完成 4)参考文献: (1)David ,《计算机图形学的算法基础》,机械工业出版社 (2)Steve Cunningham,《计算机图形学》,机械工业出版社 (3) 5)课程设计进度安排 内容天数地点 程序总体设计 1 实验室 软件设计及调试 1 实验室 答辩及撰写报告 1 实验室、图书馆 学生签名: 2018年1月12日 摘要 图像融合是图像处理中重要部分,能够协同利用同一场景的多种传感器图像信息,输出一幅更适合于人类视觉感知或计算机进一步处理与分析的融合图像。它可明显的改善单一传感器的不足,提高结果图像的清晰度及信息包含量,有利于更为准确、更为可靠、更为全面地获取目标或场景的信息。图像融合主要应用于军事国防上、遥感方面、医学图像处理、机器人、安全和监控、生物监测等领域。用于较多也较成熟的是红外和可见光的融合,在一副图像上显示多种信息,突出目标。一般情况下,图像融合由

电力系统潮流计算课程设计报告

课程设计报告 学生:学号: 学院: 班级: 题目: 电力系统潮流计算课程设计

课设题目及要求 一 .题目原始资料 1、系统图:两个发电厂分别通过变压器和输电线路与四个变电所相连。 2、发电厂资料: 母线1和2为发电厂高压母线,发电厂一总装机容量为( 300MW ),母线3为机压母线,机压母线上装机容量为( 100MW ),最大负荷和最小负荷分别为50MW 和20MW ;发电厂二总装机容量为( 200MW )。 3、变电所资料: (一) 变电所1、2、3、4低压母线的电压等级分别为:35KV 10KV 35KV 10KV (二) 变电所的负荷分别为: 60MW 40MW 40MW 50MW (三) 每个变电所的功率因数均为cos φ=0.85; 变电所1 变电所母线 电厂一 电厂二

(四) 变电所1和变电所3分别配有两台容量为75MVA 的变压器,短路损 耗414KW ,短路电压(%)=16.7;变电所2和变电所4分别配有两台容 量为63MVA 的变压器,短路损耗为245KW ,短路电压(%)=10.5; 4、输电线路资料: 发电厂和变电所之间的输电线路的电压等级及长度标于图中,单位长度的电阻为Ω17.0,单位长度的电抗为Ω0.402,单位长度的电纳为S -610*2.78。 二、 课程设计基本容: 1. 对给定的网络查找潮流计算所需的各元件等值参数,画出等值电路图。 2. 输入各支路数据,各节点数据利用给定的程序进行在变电所在某一负荷 情况下的潮流计算,并对计算结果进行分析。 3. 跟随变电所负荷按一定比例发生变化,进行潮流计算分析。 1) 4个变电所的负荷同时以2%的比例增大; 2) 4个变电所的负荷同时以2%的比例下降 3) 1和4号变电所的负荷同时以2%的比例下降,而2和3号变电所的 负荷同时以2%的比例上升; 4. 在不同的负荷情况下,分析潮流计算的结果,如果各母线电压不满足要 求,进行电压的调整。(变电所低压母线电压10KV 要求调整围在9.5-10.5 之间;电压35KV 要求调整围在35-36之间) 5. 轮流断开支路双回线中的一条,分析潮流的分布。(几条支路断几次) 6. 利用DDRTS 软件,进行绘制系统图进行上述各种情况潮流的分析,并进 行结果的比较。 7. 最终形成课程设计成品说明书。 三、课程设计成品基本要求: 1. 在读懂程序的基础上画出潮流计算基本流程图 2. 通过输入数据,进行潮流计算输出结果 3. 对不同的负荷变化,分析潮流分布,写出分析说明。 4. 对不同的负荷变化,进行潮流的调节控制,并说明调节控制的方法,并 列表表示调节控制的参数变化。 5. 打印利用DDRTS 进行潮流分析绘制的系统图,以及潮流分布图。

课程设计报告

课程设计报告 题 目 基于数据挖掘的航电系统故障诊断 专业名称 电子信息工程 学生姓名 王腾飞 指导教师 陈 杰 完成时间 2014年3月18日

摘要 航电系统是飞机的重要组成部分,由于其综合应用了电子、机械、计算机及自动检测等许多学科的先进技术,结构层次很多,所以对其实施故障诊断具有涉及专业领域多、诊断难度大、要求时间短等特点。这对快速处理故障数据提出了很大的挑战。 从独立的联合式航电机箱的按键通电测试,到集中式飞机管理系统数据收集,飞机维修系统经过漫长的发展已演变成故障诊断工具。 现代飞机均采用了中央维修系统,用以收集所有子系统的故障报告、判断故障根源并推荐修理方法。飞机的故障信息和历史数据存放在数据库中。如果用传统的数据分析方法对这些海量的数据进行分析时会显得力不从心,不仅浪费时间而且对于隐含的知识难以有效的进行挖掘。数据挖掘技术十分符合现实的需要,它可以客观地挖掘出历史数据库中潜在的故障规则,这些规则能更好地指导故障的定位与检修,并对潜在的故障做出预测。随着数据的不断增长,如何能自动获取知识已经成为故障诊断技术发展的主要制约条件,而数据挖掘技术为解决这个“瓶颈”问题提供了一条有效的途径。 本文详细介绍了故障诊断技术与数据挖掘技术,并总结了航电系统的故障诊断的特点。拟采用聚类分析的技术对故障数据快速处理,实现对故障的快速定位。 关键词:故障诊断数据挖掘聚类分析航电系统

故障诊断技术 故障诊断技术简介 故障诊断就是指当设备系统不能完成正常的功能时,利用一定的方法找出使该功能丧失的原因及发生故障的部位,实现对故障发展趋势的预测的过程。故障诊断涉及到多方面的技术背景,主要以系统论、信息论、控制论、非线性科学等最新技术理论为基础,它是一门综合性的学科,具有重要的实用价值。 设备系统故障及故障诊断 随着现代化工业的发展,设备系统能够以最佳状态可靠地运行,对于保证产品质量、提高企业的产能、保障生命财产安全都具有极其重要的意义。设备系统的故障是指设备系统在规定时间内、规定条件下丧失规定功能的状况。故障诊断的作用则是发现并确定发生故障的部位及性质,找出故障的起因,预测故障的发展趋势并提出应对措施。故障诊断技术的使用范围不应只局限于设备系统使用和维修过程中,在设备系统的设计制造过程中也可以使用故障诊断技术,为以后的故障监测和设备系统维护创造条件。因此,故障诊断技术应该贯穿于设备系统的设计、制造、运行和维护的全过程当中。 机载设备的故障诊断流程框图:

计算方法实验报告格式

计算方法实验报告格式 小组名称: 组长姓名(班号): 小组成员姓名(班号): 按贡献排序情况: 指导教师评语: 小组所得分数: 一个完整的实验,应包括数据准备、理论基础、实验内容及方法,最终对实验结果进行分析,以达到对理论知识的感性认识,进一步加深对相关算法的理解,数值实验以实验报告形式完成,实验报告格式如下: 一、实验名称 实验者可根据报告形式需要适当写出. 二、实验目的及要求 首先要求做实验者明确,为什么要做某个实验,实验目的是什么,做完该实验应达到什么结果,在实验过程中的注意事项,实验方法对结果的影响也可以以实验目的的形式列出. 三、算法描述(实验原理与基础理论) 数值实验本身就是为了加深对基础理论及方法的理解而设置的,所以要求将实验涉及到的理论基础,算法原理详尽列出. 四、实验内容 实验内容主要包括实验的实施方案、步骤、实验数据准备、实验的算法以及可能用到的仪器设备. 五、程序流程图 画出程序实现过程的流程图,以便更好的对程序执行的过程有清楚的认识,在程序调试过程中更容易发现问题. 六、实验结果 实验结果应包括实验的原始数据、中间结果及实验的最终结果,复杂的结果可以用表格

形式列出,较为简单的结果可以与实验结果分析合并出现. 七、实验结果分析 实验结果分析包括对对算法的理解与分析、改进与建议. 数值实验报告范例 为了更好地做好数值实验并写出规范的数值实验报告,下面给出一简单范例供读者参考. 数值实验报告 小组名称: 小组成员(班号): 按贡献排序情况: 指导教师评语: 小组所得分数: 一、实验名称 误差传播与算法稳定性. 二、实验目的 1.理解数值计算稳定性的概念. 2.了解数值计算方法的必要性. 3.体会数值计算的收敛性与收敛速度. 三、实验内容 计算dx x x I n n ? += 1 10 ,1,2,,10n = . 四、算法描述 由 dx x x I n n ? += 1 10 ,知 dx x x I n n ?+=--101110,则

图形学场景设计

图形学场景设计

计算机图形学课程设计报告 题目自然场景设计 院(系、部) 专业班级 学号

姓名成绩

1 设计目的与要求 1.1设计题目 自然场景设计 1.2 设计目的 以小组合作的方式绘制一个自然场景,给绘制的实体添加纹理光照效果,进一步巩固所学知识,提高团队合作能力 1.3 设计要求 (1)采用真实感图形学技术设计一个自然场景(2)模拟出水、云、山体等至少三种景物(3)实现场景的漫游 (4)对设计出的图像进行光照处理 (5)将图片的纹理贴附到物体表面 2 总体设计 2.1 功能简介 创建一个900*600的Windows窗口,在窗口中显示冰箱、电灯、茶壶三个实体,根据电灯位置在

地面上绘制个实体的投影;为茶壶添加纹理;利用键盘的方向键控制冰箱旋转,实现场景漫游2.2 功能模块图 主 初始化实体绘键盘操 作函数 电灯冰箱 茶壶 2.3 软件各模块功能介绍 2.3.1冰箱和茶壶的绘制 由四边形拼接出冰箱,通过平移旋转函数放置到指定位置,同时实现茶壶的绘制,在茶壶上添加纹理效果,通过平移旋转变换放置到冰箱上面2.3.2顶灯的绘制

绘制出一个带灯罩的电灯,并且将光源放置在灯泡的位置 2.3.3 设置光照 设置光照的各种参数,为场景添加光照效果,让实体具有立体效果 2.3.4 纹理图片生成 用数组存储一幅自己设计的纹理图片,方便实体添加纹理效果时的调用 2.3.5 影子生成 根据需求为场景中的实体添加阴影效果,使得场景效果更加逼真 2.3.6 法向量设置 为场景设置法向量,确保实体在不同的角度都能被看到 3 详细设计及关键代码 3.1 光照模块详细设计 3.1.1 光照设置功能 设置光照的各种参数,为场景添加光照效果,让实体具有立体效果 3.1.2 光照设置设计

基于matlab--psat软件的电力系统潮流计算课程设计

东北电力大学课程设计改革试用任务书: 电力系统潮流计算课程设计任务书 设计名称:电力系统潮流计算课程设计 设计性质:理论计算,计算机仿真与验证 计划学时:两周 一、设计目的 1.培养学生独立分析问题、解决问题的能力; 2.培养学生的工程意识,灵活运用所学知识分析工程问题的能力 3.编制程序或利用电力系统分析计算软件进行电力系统潮流分析。 二、原始资料 1、系统图:IEEE14节点。 2、原始资料:见IEEE14节点标准数据库 三、课程设计基本内容: 1.采用PSAT仿真工具中的潮流计算软件计算系统潮流; 1)熟悉PSAT仿真工具的功能; 2)掌握IEEE标准数据格式内容; 3)将IEEE标准数据转化为PSAT计算数据; 2.分别采用NR法和PQ分解法计算潮流,观察NR法计算潮流中雅可比矩阵的变化情况, 分析两种方法计算潮流的优缺点; 3.分析系统潮流情况,包括电压幅值、相角,线路过载情况以及全网有功损耗情况。

4.选择以下内容之一进行分析: 1)找出系统中有功损耗最大的一条线路,给出减小该线路损耗的措施,比较各种措施 的特点,并仿真验证; 2)找出系统中电压最低的节点,给出调压措施,比较各种措施的特点,并仿真验证; 3)找出系统中流过有功功率最大的一条线路,给出减小该线路有功功率的措施,比较 各种措施的特点,并仿真验证; 5.任选以下内容之一作为深入研究:(不做要求) 1)找出系统中有功功率损耗最大的一条线路,改变发电机有功出力,分析对该线路有 功功率损耗灵敏度最大的发电机有功功率,并进行有效调整,减小该线路的损耗; 2)找出系统中有功功率损耗最大的一条线路,进行无功功率补偿,分析对该线路有功 功率损耗灵敏度最大的负荷无功功率,并进行有效调整,减小该线路的损耗; 3)找出系统中电压最低的节点,分析对该节点电压幅值灵敏度最大的发电机端电压, 并有效调整发电机端电压,提高该节点电压水平; 四、课程设计成品基本要求: 1.绘制系统潮流图,潮流图应包括: 1)系统网络参数 2)节点电压幅值及相角 3)线路和变压器的首末端有功功率和无功功率 2.撰写设计报告,报告内容应包括以下几点: 1)本次设计的目的和设计的任务; 2)电力系统潮流计算的计算机方法原理,分析NR法和PQ分解法计算潮流的特点; 3)对潮流计算结果进行分析,评价该潮流断面的运行方式安全性和经济性; 4)找出系统中运行的薄弱环节,如电压较低点或负载较大线路,给出调整措施; 5)分析各种调整措施的特点并比较它们之间的差异; 6)结论部分以及设计心得; 五、考核形式 1.纪律考核:学生组织出勤情况和工作态度等; 2.书面考核:设计成品的完成质量、撰写水平等; 3.答辩考核:参照设计成品,对计算机方法进行电力系统潮流计算的相关问题等进行答辩; 4.采用五级评分制:优、良、中、及格、不及格五个等级。

并行计算第一次实验报告

并行计算上机实验报告题目:多线程计算Pi值 学生姓名 学院名称计算机学院 专业计算机科学与技术时间

一. 实验目的 1、掌握集群任务提交方式; 2、掌握多线程编程。 二.实验内容 1、通过下图中的近似公式,使用多线程编程实现pi的计算; 2、通过控制变量N的数值以及线程的数量,观察程序的执行效率。 三.实现方法 1. 下载配置SSH客户端 2. 用多线程编写pi代码 3. 通过文件传输界面,将文件上传到集群上 4.将命令行目录切换至data,对.c文件进行编译 5.编写PBS脚本,提交作业 6.实验代码如下: #include

#include #include #include #include #include static double PI=0; static int N=0; static int numOfThread=0; static int length=0; static int timeUsed=0; static int numOfThreadArray[]={1,2,4,6,8,10,12,14,16,20,24,30}; static int threadArraySize=12; static int nTime=4; static int repeatTime=30; static double totalTime=0; struct timeval tvpre, tvafter; pthread_mutex_t mut; clockid_t startTime,endTime;

河海大学水文分析与计算课程设计报告

水文分析计算课程设计报告书 学院:水文水资源 专业:水文与水资源工程 学号: 姓名: 指导老师:梁忠民、李国芳 2015年06月12日 南京

目录 1、设计任务 (1) 2、流域概况 (1) 3、资料情况及计算方案拟定 (1) 4、计算步骤及主要成果 (2) 4.1 设计暴雨X p(t)计算 (2) 4.1.1 区域降雨资料检验 (2) 4.1.2 频率分析与设计雨量计算 (3) 4.2计算各种历时同频率雨量X t,P (9) 4.3 选典型放大推求X P (t) (9) 4.4 产汇流计算 (9) 4.4.1 径流划分及稳渗μ值率定 (12) 4.4.2 地表汇流 (17) 4.5 由设计暴雨X P(t)推求Q P(t) (18) 4.5.1 产流计算 (18) 4.5.2 地面汇流 (18) 4.5.3地下汇流计算 (19) 4.5.4 设计洪水过程线 (20) 5、心得体会 (22)

1、设计任务 推求江西良田站设计洪水过程线,本次要求做P 校,即推求Q 0.01%(t)。 2、流域基本概况 良田是赣江的支流站。良田站以上控制的流域面积仅为44.5km 2,属于小流域,如右图所示。年降水均值在1500~1600mm 之内,变差系数Cv 为0.2,即该地区降雨充沛,年际变化小,地处湿润地区。暴雨集中。暴雨多为气旋雨、台风雨,季节为3~8月,暴雨历时为2~3日。 3、资料情况及计算方案拟定 3.1资料情况 设计站(良田)流量资料缺乏,邻近站雨量资料相对充分,具体如表3-1: 表3-1 良田站及邻近地区的实测暴雨系列、历时洪水、特大暴雨资料 (设计站(良田)流量资料缺乏,邻近站雨量资料相对充分。) 站名 实测暴雨流量系列 特大暴雨、历史洪水 良田 75~78 (4年) Q=216m 3 /s ,N=80(转化成X 1日,移置峡江站) 峡江 53~80 (28年) 吉安 36~80 (45年) 桑庄 57~80 (24年) X 1日=416mm ,N=100~150(74.8.11) 寨头 57~80 (24年) 沙港 特大暴雨 X 1日=396mm ,N=100~150(69.6.30) (移置到寨头站)

计算机图形学 课程设计作品

《计算机图形学Visual c++版》考试作业报告 题目:计算机图形学图形画板 专业:推荐IT学长淘宝日用品店530213 班级:推荐IT学长淘宝日用品店530213 学号:推荐IT学长淘宝日用品店530213 姓名:推荐IT学长淘宝日用品店530213 指导教师:推荐IT学长淘宝日用品店530213 完成日期: 2015年12月2日

一、课程设计目的 本课程设计的目标就是要达到理论与实际应用相结合,提高学生设计图形及编写大型程序的能力,并培养基本的、良好的计算机图形学的技能。 设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握计算机图形学基本知识和算法设计的基本技能术,掌握分析、解决实际问题的能力。 通过这次设计,要求在加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。 二、设计内容推荐IT学长淘宝日用品店530213 设计一个图形画板,在这个图形画板中要实现: 1,画线功能,而且画的线要具备反走样功能。 2, 利用上面的画线功能实现画矩形,椭圆,多边形,并且可以对这些图形进行填充。 3,可以对选中区域的图形放大,缩小,平移,旋转等功能。 三、设计过程 程序预处理:包括头文件的加载,常量的定义以及全局变量的定义 #include "stdafx.h" #include "GraDesign.h" #include "GraDesignDoc.h" #include "GraDesignView.h" #include "math.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif //******自定义全局变量 int type = -1; CPoint point1; CPoint point2; CPoint temp[2];

东北电力大学电力系统潮流计算课程设计报告书

目录 一、设计任务 (1) 1.1 课程设计要求 (1) 1.2 课程设计题目 (1) 1.3 课程设计基本容 (2) 二、问题分析 (3) 2.1 节点设置及分类 (3) 2.2 参数求取 (3) 2.3 计算方法 (4) 三、问题求解 (7) 3.1 等值电路的计算 (7) 3.2画出系统等值电路图: (7) 3.3 潮流计算 (8) 四、误差分析 (29) 五、心得体会及总结 (38) 附录: (39) 参考文献 (39) 程序 (39)

电力系统潮流计算课程设计 一、设计任务 1.1 课程设计要求 1、在读懂程序的基础上画出潮流计算基本流程图 2、通过输入数据,进行潮流计算输出结果 3、对不同的负荷变化,分析潮流分布,写出分析说明。 4、对不同的负荷变化,进行潮流的调节控制,并说明调节控制的方法,并 列表表示调节控制的参数变化。 5、打印利用DDRTS进行潮流分析绘制的系统图,以及潮流分布图。 1.2 课程设计题目 系统图:两个发电厂分别通过变压器和输电线路与四个变电所相连。 变电所1 变电所2 母线电厂一电厂二

发电厂资料: 母线1和2为发电厂高压母线,发电厂一总装机容量为( 300MW ),母线3为机压母线,机压母线上装机容量为( 100MW ),最大负荷和最小负荷分别为50MW 和20MW ;发电厂 二总装机容量为( 200MW )。 变电所资料: (一)变电所1、2、3、4低压母线的电压等级分别为:35KV 10KV 35KV 10KV (二)变电所的负荷分别为:60MW 40MW 70MW 50MW (三)每个变电所的功率因数均为cos φ=0.85; (四)变电所1和变电所3分别配有两台容量为75MVA 的变压器,短路损耗414KW ,短路 电压(%)=16.7;变电所2和变电所4分别配有两台容量为63MVA 的变压器,短路损耗为245KW ,短路电压(%)=10.5; 输电线路资料: 发电厂和变电所之间的输电线路的电压等级及长度标于图中,单位长度的电阻为 Ω17.0,单位长度的电抗为Ω0.402,单位长度的电纳为S -610*2.78。 1.3 课程设计基本容 1. 对给定的网络查找潮流计算所需的各元件等值参数,画出等值电路图。 2. 输入各支路数据,各节点数据利用给定的程序进行在变电所在某一负荷情况下的潮 流计算,并对计算结果进行分析。 3. 跟随变电所负荷按一定比例发生变化,进行潮流计算分析。 1) 4个变电所的负荷同时以2%的比例增大; 2) 4个变电所的负荷同时以2%的比例下降 3) 1和4号变电所的负荷同时以2%的比例下降,而2和3号变电所的负荷同时以 2%的比例上升; 4. 在不同的负荷情况下,分析潮流计算的结果,如果各母线电压不满足要求,进行电 压的调整。(变电所低压母线电压10KV 要求调整围在9.5-10.5之间;电压35KV 要求调整围在35-36之间) 5. 轮流断开支路双回线中的一条,分析潮流的分布。(几条支路断几次) 6. 利用DDRTS 软件,进行绘制系统图进行上述各种情况潮流的分析,并进行结果的比 较。 7. 最终形成课程设计成品说明书。

并行计算课程设计报告

并行计算与多核多线程技术 课程报告 专业 班级 学号 姓名 成绩___________________ 年月日

课程报告要求 手写内容:设计目的、意义,设计分析,方案分析,功能模块实现,最终结果分析,设计体会等。 允许打印内容:设计原理图等图形、图片,电路图,源程序。硬件类的设计,要有最终设计的照片图;软件类设计,要有各个功能模块实现的界面图、输入输出界面图等。 评价 理论基础 实践效果(正确度/加速比) 难度 工作量 独立性

目录 1. 设计目的、意义(功能描述) (1) 2. 方案分析(解决方案) (1) 3. 设计分析 (1) 3.1 串行算法设计 (1) 3.2 并行算法设计 (1) 3.3 理论加速比分析 (2) 4. 功能模块实现与最终结果分析 (2) 4.1 基于OpenMP的并行算法实现 (2) 4.1.1 主要功能模块与实现方法 (2) 4.1.2 实验加速比分析 (3) 4.2 基于MPI的并行算法实现 (3) 4.2.1 主要功能模块与实现方法 (3) 4.2.2 实验加速比分析 (4) 4.3 基于Java的并行算法实现 (4) 4.3.1 主要功能模块与实现方法 (4) 4.3.2 实验加速比分析 (5) 4.4 基于Windows API的并行算法实现 (5) 4.4.1 主要功能模块与实现方法 (5) 4.4.2 实验加速比分析 (6) 4.5 基于.net的并行算法实现 (6) 4.5.1 主要功能模块与实现方法 (6) 4.5.2 实验加速比分析 (6) 4.6并行计算技术在实际系统中的应用 (6) 4.6.1 主要功能模块与实现方法 (6) 4.6.2 实验加速比分析 (7) 5. 设计体会 (7) 6. 附录 (9) 6.1 基于OpenMP的并行程序设计 (9) 6.1.1 代码及注释 (9) 6.1.2 执行结果截图 (11) 6.1.3 遇到的问题及解决方案 (12) 6.2 基于MPI的并行程序设计 (12)

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解法、线性方程组的迭代解法、代数插值和最小二乘拟合多项式 实验地点:行勉楼 专业班级:******** 学号:********* 学生:******** 指导教师:誌,冬华 2016年4 月8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

计算机图形学课程设计报告

计算机图形学 课程设计报告 设计课题: 专业班级: 学号: 学生姓名: 指导教师: 设计时间:2018.12.06

中南林业科技大学涉外学院理工系计算机图形学课程设计任务书

指导教师:廖宁教研室主任: 2018年12月06 日注:本表下发学生一份,指导教师一份,栏目不够时请另附页。 课程设计任务书装订于设计计算说明书(或论文)封面之后,目录页之前。 目录 一.设计目的……………………………………………………………二.设计要求…………………………………………………………… 1.构建基础类…………………………………………………… 2.构建直线类…………………………………………………… 3.构建变换类…………………………………………………… 4.构建填充类…………………………………………………… 5.构建光照类……………………………………………………三.开发环境…………………………………………………………四.详细设计 五.源程序 六.程序运行效果图 七.总结

设计目的 ?培养对图形建模、变换、投影、消隐、光照原理的理解和应用。 ?培养图形类的编程能力。 ?培养计算机图形学应用软件开发的能力。 设计要求 深入研究计算机图形学的生成原理,设计算法实现具体的类。 1.构建基础类 实现CP2类绘制二维点;实现CP3类绘制三维点;实现CRGB 类处理RGB颜色;实现CVector类处理矢量。 2.构建直线类 实现CLine类绘制任意斜率的直线、实现CALine类绘制任意斜率的反走样直线、实现CCLine类绘制任意斜率的颜色渐变直线、实现

CACLine类绘制任意斜率的反走样颜色渐变直线。 3.构建变换类 实现CTransForm完成二维和三维图形变换。 4.构建填充类 实现CFill类使用有效边表算法填充多边形、实现CZBuffer类进行深度缓冲消隐,并使用Gouraud和Phong明暗处理填充图形面片。 5.构建光照类 实现CLight类设置点光源、实现CMaterial类设置物体材质、实现CLighting类对物体实施光照。 开发环境 Viusal C++ 6.0的MFC框架。 详细设计 1.利用函数Ellipse画出人物的脸,并用给脸填充颜色。再利 用Ara画出人物的嘴巴。CRect确定人物的眼睛,给眼睛填 充颜色。利用画笔画出人物的鼻子。 2.添加ddaline()成员函数,编写自定义的成员函数ddaline ()程序,编写OnDraw()函数,画出人物的脚和脚趾。 3.添加星星star()成员函数,编写自定义的成员函数star() 程序,确定五角星的位置、大小和颜色。

电力系统潮流计算课程设计(终极版)

目录 摘要................................................. - 1 - 1.设计意义与要求..................................... - 2 - 1.1设计意义 ...................................... - 2 - 1.2设计要求(具体题目)........................... - 2 - 2.题目解析........................................... - 3 - 2.1设计思路 ...................................... - 3 - 2.2详细设计 ...................................... - 4 - 2.2.1节点类型.................................. - 4 - 2.2.2待求量 ................................... - 4 - 2.2.3导纳矩阵.................................. - 4 - 2.2.4潮流方程.................................. - 5 - 2.2.5牛顿—拉夫逊算法.......................... - 6 - 2.2.5.1牛顿算法数学原理:................... - 6 - 2.2.5.2修正方程............................. - 7 - 2.2.5.3收敛条件............................. - 9 - 3.结果分析.......................................... - 10 - 4.小结.............................................. - 11 - 参考文献............................................ - 12 -

并行与串行数据结构与算法课程设计报告

课程实验报告课程名称:并行与串行数据结构与算法 专业班级:ACM1301 学号:U201315057 姓名:李海锋 指导教师:陆枫 报告日期:2015.9.23 计算机科学与技术学院

目录 1、课程设计概述 (2) 1.1 课设目的 (2) 1.2 课设要求 (2) 1.3 实验环境 (3) 2、系统总体设计 (4) 2.1 系统主模块结构体 (4) 2.2 找附近的最近的三个某地 (5) 2.3 找两点之间最短路径 (6) 2.4 数据录入模块 (7) 3、数据结构和算法详细设计 (7) 3.1 地图的存储 (7) 3.1.1 地图背景图片的存储 (7) 3.1.2 地图点 (7) 3.2 找附近的最近的特定地点(findNearby) (8) 3.3 找最短路径 (8) 4、程序实现简要说明 (9) 4.1开发环境 (9) 4.2 支持包 (9) 4.3 函数原型 (10) MainActivity.java:实现了地图主要功能 (10) Setting.java:地图数据的录入 (12) 4.4 函数功能调用关系 (14) MainActivity.java:地图主要功能程序 (15) Setting.java:数据录入程序 (15) 5、程序测试及结果分析 (16) 5.1 功能测试 (16)

5.2 测试结果分析 (22) 6、复杂度分析 (22) 6.1 输入地点名查找,鼠标点击显示 (22) 6.2 找两点之间的最短路径(dijkstra) (22) 6.3 找附近最近的三个某地 (22) 7、软件的用户使用说明 (23) 8、特色与不足 (23) 8.1 特色 (23) 8.2 不足 (23) 九、主要参考文献 (24)

相关主题
文本预览
相关文档 最新文档