• 大小: 94KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: Java
  • 标签:

资源简介

Eclipse平台JAVA实现 1. 实验内容 用基本增量算法和Bresenham算法画直线 2.实验目的 1)理解在显示器上画图与在纸上画图的本质区别; 2)掌握直线的光栅扫描转换过程; 3)掌握不同算法绘制直线的思路和优缺点。 3. 实验要求 1)将像素网格表现出来,建立网格坐标系; 2)用橡皮筋的形式输入参数; 3)鼠标移动时,显示鼠标当前位置; 4)显示判别式的计算过程和下一点的选择策略; 5)记录生成点的坐标,建议用表的形式; 6)图形生成过程可以重复进行。 1. 实验内容 用正负法和Bresenham算法画圆弧 2.实验目的 1)掌握圆及圆弧的光栅扫描转换过程; 2)掌握不同算法绘制圆弧的技巧和优缺点。 3. 实验要求 1)将像素网格表现出来,建立网格坐标系; 2)用橡皮筋的形式输入参数; 3)鼠标移动时,显示鼠标当前位置; 4)显示判别式的计算过程和下一点的选择策略; 5)记录生成点的坐标,建议用表的形式; 6)图形生成过程可以重复进行。 1. 实验内容 用Cohen-SutherLand算法和liang _barsky算法进行线段裁剪 2.实验目的 1)理解裁剪的相关概念 2)掌握直线段的一般裁剪过程; 3)理解并掌握Cohen-SutherLand 算法的编码思想; 4)理解并掌握Liang_Barsky算法的参数化裁剪思想; 3. 实验要求 1)将像素网格表现出来,建立网格坐标系; 2)用橡皮筋的形式输入剪裁线段和裁剪窗口; 3)鼠标移动时,显示鼠标当前位置; 4)对于线段裁剪,线段被窗口的四条边裁剪的过程要显示出来; 6)裁剪过程可以重复进行。 1. 实验内容 用Sutherland-Hodgman算法进行多边形裁剪 2.实验目的 1)理解多边形裁剪与直线段裁剪的区别; 2)掌握多边形的裁剪过程; 3)理解并掌握Sutherland-Hodgman算法的裁剪思想。 3. 实验要求 1)将像素网格表现出来,建立网格坐标系; 2)用橡皮筋的形式输入剪裁多边形和裁剪窗口; 3)鼠标移动时,显示鼠标当前位置; 4)多边形被窗口的四条边裁剪的过程以及多边形顶点增删的过程要显示出来; 5)裁剪过程可以重复进行。

资源截图

代码片段和文件信息

package shiyan;
import     javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import     java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import     java.applet.*;
import     java.awt.*;
import     java.awt.event.*;
import     java.util.Date;
import     java.text.*;
import java.io.*; 



import java.util.ArrayList;

import javax.swing.JOptionPane;

public class Shiyan extends Jframe{                
             JMenuBar mb;
         JMenu m_gongNm_help;    //菜单
         JMenuItem mi_Linemi_Roundmi_LineCutmi_LinesCutmi_exit;   //菜单选项         
         JMenuItem mi_aboutmi_help;                
         Date now = new Date(); 
         DateFormat d = DateFormat.getDateInstance();
      public RoundWindow RB;
      public SetPixe_1 Set1;
      public SetPixe_2 Set2;
      public SetPixe_3 Set3;
      public SetPixe_4 Set4;
     
  //构造函数
 public Shiyan(){
   creatComponents();     //调用方法创建窗体组
   layoutComponents();   //调用方法设置窗体布 
   registerEvent();      //调用方法添加事件处理
   setSize(800700);    //设置窗口大小
   settitle(“图形学实验“); //设置窗口标题  
   
   Icon Piture = new ImageIcon( “piture.jpg“ );
   JButton PButton;
   PButton = new JButton(Piture);
   add(PButton); 
   
   setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); //关闭窗口时什么都不做   
   addWindowListener(new WindowAdapter(){ //关闭窗口时执行
    public void windowClosing(WindowEvent   e)   {   
     int   option=JOptionPane.showConfirmDialog(null“是否完全退出该系统?“
         “系统提示“JOptionPane.YES_NO_CANCEL_OPTIONJOptionPane.QUESTION_MESSAGE);   
     if(option==JOptionPane.YES_OPTION)   
        System.exit(0);   
    }}); 
   
  }  
 


//创造窗体组件
private  void  creatComponents(){
 mb=new JMenuBar();
 m_gongN=new JMenu(“功能“);
 m_help=new JMenu(“帮助“);
 mi_Line=new JMenuItem(“画直线“);
 mi_Round=new JMenuItem(“画圆“);
 mi_LineCut=new JMenuItem(“直线裁剪“);
 mi_LinesCut=new JMenuItem(“多边形裁剪“);
 mi_exit=new JMenuItem(“退出“);
 mi_about=new JMenuItem(“关于我们“);
 mi_help=new JMenuItem(“友情链接“);        
}
//窗体布局
private void   layoutComponents(){       
     m_gongN.add(mi_Line);     //添加菜单项
     m_gongN.add(mi_Round);
     m_gongN.add(mi_LineCut);
     m_gongN.add(mi_LinesCut);
     m_gongN.add(mi_exit);     
     m_help.add(mi_help);
     m_help.add(mi_about);       
         mb.add(m_gongN);
       mb.add(m_help);      
         setJMenuBar(mb);    //添加菜单条
         //设置快捷键
         mi_Line.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_OInputEvent.CTRL_MASK));
         mi_Round.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_SInputEvent.CTRL_MASK));
         mi_LineCut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_XInputEvent.CTRL_MASK));
         mi_LinesCut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_YInputEvent.CTRL_MASK)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        232  2009-04-01 19:20  图形学\.classpath

     文件        385  2009-04-01 19:20  图形学\.project

     文件        891  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$1.class

     文件       1506  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$AboutActionEventHander.class

     文件       1062  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$ExitActionEventHander.class

     文件       1355  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$HelpActionEventHander.class

     文件        827  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$LineActionEventHander.class

     文件        817  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$Linecut.class

     文件        833  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$LineCutActionEventHander.class

     文件        845  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$LinesCutActionEventHander.class

     文件        832  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$LinesWindow.class

     文件        812  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$LineWindow.class

     文件        886  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$RoundActionEventHander.class

     文件        838  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$RoundWindow.class

     文件       1836  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_1$1.class

     文件       2629  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_1$2.class

     文件       1399  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_1$clenHander.class

     文件       4042  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_1$comdHander.class

     文件       6702  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_1.class

     文件       1527  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_2$1.class

     文件       2120  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_2$2.class

     文件       1869  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_2$clenHander.class

     文件       1473  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_2$comdHander.class

     文件       6642  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_2.class

     文件       2825  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_3$1.class

     文件       2139  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_3$2.class

     文件       1334  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_3$clenHander.class

     文件       1052  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_3$comdHander.class

     文件       6335  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_3.class

     文件       3751  2009-04-11 20:04  图形学\bin\shiyan\Shiyan$SetPixe_4$1.class

............此处省略15个文件信息

评论

共有 条评论

相关资源