实验2实验报告格式
《计算机图形学》实验2实验报告
实验题目:多视图绘图程序
实验内容:掌握多视图绘图的概念,掌握二维统计图的绘制方法。调用实验1中自己编写的基本包,绘制自己所设计的统计图形(饼图、直方图以及折线)。编写程序调用验证之。 参考程序:有一个示范程序MultiViewport.java
基本概念:(详细叙述自己对实验内容的理解)
多视图绘图:就是将若干个绘制好的图形按照一定的规则,组成一个具有特定意义的图形,在同一个视图中显示出来。
算法设计:(详细叙述自己设计的多视图统计图以及程序的功能、算法及实现)
饼图:仅排列在工作表的一列或一行中的数据可以绘制到饼图中。饼图显示一个数据系列中各项的大小与各项总和的比例。饼图中的数据点显示为整个饼图的百分比。本程序中的饼图统计的是学生成绩状况。
直方图:又称柱状图、质量分布图。是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。本程序使用矩形的填充来实现柱状图形。程序中横轴表示成绩分段,纵轴表示人数分布。
折线:以折线的上升或下降来表示统计数量的增减变化的统计图,叫作折线统计图。可以反应事物的变化趋势。本程序是统计学生成绩趋势,折线的转折点就是某个等级的人数所占总人数的比例。
本程序功能:实现饼图、直方图和折线对学生成绩的统计。
饼图算法:根据各个类别所占总统计数的比例来确定其在饼图中所占的比例大小,每一个类别就是一个扇形,扇形的大小是根据所占比例确定的。假设在中等成绩段的学生人数是m人,统计的总人数是n人,那么中等成绩段在饼图中的比例就是m/n,其在饼图中的大小是m/n*360。
直方图算法:根据每个类别占总调查人数的比例来确定柱状图的高低,每一个类别所占的比例就是一个矩形在直方图中的相对高度,一个类别就是用一个矩形表示,矩形的宽度就是成绩分布段。如果在图中绘制出来就是按照每个类别所占的比例扩大或缩小多少倍,在图形中较好的表现出来。如果人数多,则柱状就会高,反之则低。
折线算法:以折线的上升或下降来表示统计数量的增减变化的统计图,叫作折线统计图。在本程序中的折线的每一段都是一条线段。简单的说,就是将直方图的柱状的最高点改为一个点,然后将不同类别的点连接起来,就形成了折线图。折线的转折点就是某个等级的人数所占总人数的比例。
代码:(给出主要的Java程序和注解)
(1)画圆饼统计图
package 实验2;
//MultiViewport.java
//多视图程序
import java.awt.*; //绘图基于java AWT包
import java.applet.Applet;
//定义多视图类
public classextends Applet {
MyCanvas m; //定义MyCanvas类的对象 final static int idealSizeX=600; //窗口宽度