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

资源简介

计算机图形学裁剪算法。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Collections;


namespace Cut
{
    public partial class Form1 : Form
    {
        private int TOP = 8;   //编码
        private int BOTTOM = 4;
        private int RIGHT = 2;
        private int LEFT = 1;
        private int XL XR YB YT;

        private ArrayList pointArray;
        private ArrayList cutArray;
        private ArrayList newArray;
        private Point begin;
        private Point end;
        bool change;
        Point o;

        class Vertex
        {
            public int x;
            public int y;
            public  bool use;
            public  int state;//0为入点,1为出点-1为普通顶点
            public Vertex(int a int b int c)
            {
                x = a;
                y = b;
                state = c;
                use = false;
            }
            public Vertex(int a int b)
            {
                x = a;
                y = b;
                state = -1;
                use = false;
            }
        };

        public Form1()
        {
            InitializeComponent();
            
        }
        //初始化
        private void Form1_Load(object sender EventArgs e)
        {
            change = false;
            pointArray = new ArrayList();
            cutArray = new ArrayList();
            newArray = new ArrayList();
        }
        /*
         * 松开鼠标左键事件
         * 添加多边形顶点,或者调用裁剪算法,禁止窗口末尾位置改变
         *
         * */
        private void panel1_MouseUp(object sender MouseEventArgs e)
        {
            change = false;
            if (DrawBtn.Checked)
            {
                pointArray.Add(new Vertex(e.X e.Y));
                newArray.Add(new Vertex(e.X e.Y));
                panel1.Invalidate();
            }
            else if (CutBtn.Checked)
            {
                cutArray = new ArrayList();
                newArray = (ArrayList)pointArray.Clone();
                if(pointArray.Count == 2)
                    LineCut(((Vertex)pointArray[0]).x ((Vertex)pointArray[0]).y
                        ((Vertex)pointArray[1]).x ((Vertex)pointArray[1]).y);
                else
                {
                    Weiler_Athenton();
                }
                panel2.Invalidate();
            }
        }
        /*
         * 按下鼠标左键事件
         * 确定窗口起始位置并允许末尾位置改变
         * 
         * */
        private void panel1_MouseDown(object sender MouseEventArgs e)
        {
            change = true;
            if (CutBtn.Checked)
                begin = e.Location;
        }
        /*
         * 鼠标移动事件
         * 修改窗口数据
         * 
         * */
        private void panel1_MouseMove(object sender MouseEventArgs e)
        {
            i

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

     文件        187  2017-11-06 17:57  Cut\Cut\App.config

     文件      15872  2017-11-16 11:28  Cut\Cut\bin\Debug\Cut.exe

     文件        187  2017-11-06 17:57  Cut\Cut\bin\Debug\Cut.exe.config

     文件      40448  2017-11-16 11:28  Cut\Cut\bin\Debug\Cut.pdb

     文件      24224  2017-11-16 12:21  Cut\Cut\bin\Debug\Cut.vshost.exe

     文件        187  2017-11-06 17:57  Cut\Cut\bin\Debug\Cut.vshost.exe.config

     文件        490  2016-07-16 19:44  Cut\Cut\bin\Debug\Cut.vshost.exe.manifest

     文件       3786  2017-11-06 18:49  Cut\Cut\Cut.csproj

     文件      16046  2017-11-16 11:28  Cut\Cut\Form1.cs

     文件       6846  2017-11-16 00:25  Cut\Cut\Form1.Designer.cs

     文件       5817  2017-11-16 00:25  Cut\Cut\Form1.resx

     文件       1218  2017-11-16 12:21  Cut\Cut\obj\Debug\Cut.csproj.FileListAbsolute.txt

     文件        977  2017-11-16 00:25  Cut\Cut\obj\Debug\Cut.csproj.GenerateResource.Cache

     文件       2211  2017-11-06 18:49  Cut\Cut\obj\Debug\Cut.csprojResolveAssemblyReference.cache

     文件      15872  2017-11-16 11:28  Cut\Cut\obj\Debug\Cut.exe

     文件        180  2017-11-16 00:25  Cut\Cut\obj\Debug\Cut.Form1.resources

     文件      40448  2017-11-16 11:28  Cut\Cut\obj\Debug\Cut.pdb

     文件        180  2017-11-06 18:49  Cut\Cut\obj\Debug\Cut.Properties.Resources.resources

     文件       1609  2017-11-15 23:35  Cut\Cut\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7015  2017-11-15 23:26  Cut\Cut\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件          0  2017-11-06 17:57  Cut\Cut\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2017-11-06 17:57  Cut\Cut\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2017-11-06 17:57  Cut\Cut\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件        515  2017-11-06 17:57  Cut\Cut\Program.cs

     文件       1330  2017-11-06 17:57  Cut\Cut\Properties\AssemblyInfo.cs

     文件       2858  2017-11-06 17:57  Cut\Cut\Properties\Resources.Designer.cs

     文件       5612  2017-11-06 17:57  Cut\Cut\Properties\Resources.resx

     文件       1090  2017-11-06 17:57  Cut\Cut\Properties\Settings.Designer.cs

     文件        249  2017-11-06 17:57  Cut\Cut\Properties\Settings.settings

     文件        978  2017-11-06 17:57  Cut\Cut.sln

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

评论

共有 条评论

相关资源