资源描述:
《《计算机图形学》实验1实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《计算机图形学》实验1实验报告实验题目:用户坐标、视图坐标、Javaawt坐标概念的建立和应用实验内容:掌握用户坐标、视图坐标、Javaawt坐标概念,掌握三类坐标的转换算法。编写自己的算法函数,并形成Java语言程序包。编写程序调用验证之。基本概念:(详细叙述自己对实验内容的理解)本实验建立用户坐标和视图坐标以及Javaawt坐标。用户坐标:用户自定义设计并建立的坐标。视图坐标:根据视图的不同,初始坐标不同,如下面的矩形和椭圆的画法。Javaawt坐标:窗口显示图像的边界图标。算法设计:(详细叙述自己设计程序的功能、算法及实现)publicabs
2、tractvoiddrawLine(intx1,inty1,intx2,inty2)使用当前颜色,在点(x1,y1)和(x2,y2)之间画线。publicabstractvoiddrawOval(intx,inty,intwidth,intheight)画椭圆。publicabstractvoidfillOval(intx,inty,intwidth,intheight)画实心椭圆。publicabstractvoiddrawPolygon(int[]xPoints,int[]yPoints,intnPoints)画x和y坐标定义的多边形。publ
3、icvoiddrawRect(intx,inty,intwidth,intheight)画矩形。publicvoiddrawRect(intx,inty,intwidth,intheight)画实心矩形。publicabstractvoiddrawRoundRect(intx,inty,intwidth,intheight,intarcWidth,intarcHeight)使用当前颜色画圆角矩形。publicabstractvoiddrawString(Stringstr,intx,inty)使用当前字体和颜色画字符串str。publicabstr
4、actvoidsetColor(Colorc)设置图形上下文的当前颜色。publicabstractvoidsetPaintMode()设置画模式。publicabstractbooleandrawImage(Imageimg,intx,inty,ImageObserverobserver)画特定图。publicabstractvoidsetFont(Fontfont)设置特定的font字体。使用时首先得到font对象的一个实例,Font类常用构造函数为:publicFont(Stringname,intstyle,intsize)publicCo
5、lor(intred,intgreen,intblue,intalpha)其中:前三个分量即RGB颜色模式中的参数,第四个alpha分量指透明的程度。当alpha分量为255时,表示完全不透明,正常显示;当alpha分量为0时,表示完全透明,前三个分量不起作用,而介于0~255之间的值可以制造出颜色不同的层次效果。代码:(给出和实验内容相关的Java程序和注解,不要辅助代码,否则扣分)//定义主类MyCoordinatepublicclassMyCoordinateextendsApplet{MyCanvasm;//定义对象//Applet程序的自
6、动初始化方法publicvoidinit(){m=newMyCanvas(this);//构造方法有参数}//Applet程序的绘图方法publicvoidpaint(Graphicsg){m.setBackground(newColor(251,254,30));//背景色黄色m.setColor(Color.black);//设定前景色为黑色m.setWindow(-1,1,-1,1);//设定用户坐标系范围//缺省的视图为m.setViewport(0,1,0,1)和JavaAWT窗口大小一样//画X轴double[]x1={0.95,1.0
7、,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
8、);//填充箭头m.drawString("Y轴",-0.2,0.9);//Y轴写字符串//画圆m.setColor(Co