实验2实验报告多视图绘图程序解析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《计算机图形学》实验2实验报告 实验题目:多视图绘图程序 实验内容:掌握多视图绘图的概念,掌握二维统计图的绘制方法。调用实验1中自己编写的基本包,绘制自己所设计的统计图形(饼图、直方图以及折线)。编写程序调用验证之。 参考程序:有一个示范程序MultiViewport.java 基本概念: 多视图绘图:就是将若干个绘制好的图形按照一定的规则,组成一个具有特定意义的图形,在同一个视图中显示出来。 饼图:仅排列在工作表的一列或一行中的数据可以绘制到饼图中。饼图显示一个数据系列中各项的大小与各项总和的比例。直方图又称质量分布图由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据类型,纵轴表示分布情况。以折线的上升或下降来表示统计数量的增减变化的统计图,叫作折线统计图。与条形统计图比较,折线统计图不仅可以表示数量的多少,而且可以反映同一事物在不同时间里的发展变化的情况。直方图 public void paintPIGraph_1(MyCanvas m) { double r=0.8; //外圆半径 double cr=0.3; //内圆半径 /*利用三基色构造颜色*/ m.setColor(new Color((float)0.95,(float)0.75,(float)0.6)); double excellent=0.15*360; //优秀占15%对应的扇形角 m.fillArc(0,0,r,r,0,excellent); //从0度起画优秀对应的扇形 /* 扇弧终止点的坐标 */ double excellentX=r*Math.sin(excellent*Math.PI/180); double excellentY=r*Math.cos(excellent*Math.PI/180); double sum=excellent; //从0度起已经画出的扇弧角度 m.setColor(new Color((float)0.80,(float)0.80,(float)0.50)); double good=0.25*360; //良好占25%对应的扇形角 m.fillArc(0,0,r,r,sum,good); //从sum度起画良好对应的扇形 sum+=good; //从0度起已经画出的扇弧角度 /* 扇弧终止点的坐标 */ double goodX=r*Math.sin(sum*Math.PI/180); double goodY=r*Math.cos(sum*Math.PI/180); m.setColor(new Color((float)0.65,(float)0.85,(float)0.40)); double medium=0.35*360; //中等占35%对应的扇形角 m.fillArc(0,0,r,r,sum,medium); //从sum度起画中等对应的扇形 sum+=medium; //从0度起已经画出的扇弧角度 double mediumX=r*Math.sin(sum*Math.PI/180); //扇弧终止点的坐标 double mediumY=r*Math.cos(sum*Math.PI/180); m.setColor(new Color((float)0.50,(float)0.90,(float)0.30)); double pass=0.20*360; //及格占20%对应的扇形角 m.fillArc(0,0,r,r,sum,pass); //从sum度起画及格对应的扇形 sum+=pass; //从0度起已经画出的扇弧角度 double passX=r*Math.sin(sum*Math.PI/180); //扇弧终止点的坐标 double passY=r*Math.cos(sum*Math.PI/180); m.setColor(new Color((float)0.35,(float)0.95,(float)0.2)); double fail=0.05*360; //不及格占5%对应的扇形角 m.fillArc(0,0,r,r,sum,fail); //从sum度起画不及格对应的扇形 sum+=fail; //从0度起已经画出的扇弧角度 double failX=r*Math.sin(sum*Math.PI/180); //扇弧终止点的坐标 double failY=r*Math.cos(sum*Math.PI/180); m.setColor(Color.

文档评论(0)

三哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档