资源简介
计算机图形学裁剪算法。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
代码片段和文件信息
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个文件信息
评论
共有 条评论