基于NetBeans IDE 8.2的图形学

   日期:2020-11-12     浏览:97    评论:0    
核心提示:计算机图形学实训教程(修订1)第五章八卦的练习**## 第一步:**Shape s1 = new Ellipse2D.Double(0,0,100,100);Shape s2 = new Rectangle(50,0,100,100);输出为; g2.draw(s1); g2.draw(s2); (此时仅为观看图像作为参考用,观后务必删除,否则影响画面效果)添加a1、a2对分别对s1、s2实例化Area a1 = new Area(s1); Area a2 = new Area

计算机图形学实训教程(修订1)
第五章八卦的练习

第一步:

Shape s1 = new Ellipse2D.Double(0,0,100,100);
Shape s2 = new Rectangle(50,0,100,100);

输出为; g2.draw(s1); g2.draw(s2); (此时仅为观看图像作为参考用,观后务必删除,否则影响画面效果)
添加a1、a2对分别对s1、s2实例化

Area a1 = new Area(s1);
  Area a2 = new Area(s2);
//圆形(a1)与矩形(a2)的集合
  a1.intersect(a2);
//void intersect(Area a)//将此区域的形状设置为当前形状与指定区域形状的交集
g2.fill(a1); 
//填充 输出 半圆a1

第二步:

 //上 白圈
 Shape s4= new Ellipse2D.Double(25,0,51,51);
输出结果为: g2.draw(s4);

 Area a4 = new Area(s4);
  a1.subtract(a4);
//void subtract(Area a)//从此区域的形状中减去指定区域的形状
  g2.translate(180,0);
//将所画图像在原图像的基础上进行重新定位 水平180 ,垂直0
     g2.fill(a1);

第三步:

Shape s7 = new Ellipse2D.Double(50,70,10,10);
 Area a7= new Area(s7);
   a1.subtract(a7);
   g2.translate(180,0);
     g2.fill(a1);     

想法:在圆圈a1中减去a7小圆的面积 重点!!移动小圆的位置在黑色区域显示,否则只有一半

第四步:

//圆形 
Shape s3 = new Ellipse2D.Double(100,50,51,51);
//矩形 长100,宽100
Shape s8= new Rectangle(125,1,100,100);

Area a3 = new Area(s3);
Area a8= new Area(s8);

//void subtract(Area a)//从此区域的形状中减去指定区域的形状
   a3.subtract(a8); 
   g2.translate(-73,-1);
   g2.fill(a3);


想法:为保留中心白色小球 ,不应直接画黑圈,解决办法 矩形(a8)截半画圆(A3)
此时调整的不是//Ellipse2D.Double(100,50,51,51);,而是 g2.translate(-73,-1)
整体!!!!

第五步:

   Shape s6= new Ellipse2D.Double(360,0,100,100);
g2.draw(s6);   
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201111120359325.png#pic_center)

Shape s5= new Ellipse2D.Double(410,22,10,10);
 g2.fill(s5);

注:所有坐标都依据前一个图像来调整

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服