四交模型的模拟(C#窗体应用程序)

基于C#窗体应用程序进行点点、点线、点面的四交模型的实现。

目录

一、基础知识

 二、代码实现步骤

三、实现效果(部分)

一、基础知识

  拓扑关系

    拓扑关系是指满足拓扑几何学原理的各空间数据间的相互关系。即用结点、弧段和多边形所表示的实体之间的邻接、关联、包含和连通关系。如:点与点的邻接关系、点与面的包含关系、线与面的相离关系、面与面的重合关系等。

  四交集模型

    交模型以点集拓扑学为基础,通过边界和内部两个点集的交进行定义,并根据其内容进行关系划分。
    优点:方法简练,在一些商用数据库系统,GIS软件设计中应用广泛。缺点:许多通过人眼都可明显区分开的一些情形,利用该方法却无法区分。

  四交集模型表示

    设有两个空间实体A、B。ψ(A)ψ(B)表示A、B的边界,A°、B°表示A、B的内部。

     二者之间的关系可用下图来表示:

R4=\begin{bmatrix}A^{0}\bigcap B^{0}\ &\ A^{0}\bigcap \partial B\ & \\\partial A\bigcap B^{0}\ &\partial A\bigcap \partial B\ \end{bmatrix}

(1)基于四交集模型的点与点的拓扑关系。

有两种情况:

①重叠,表示为 \begin{bmatrix}1 &0 & \\ 0 &0 \end{bmatrix}

②分离,表示为 \begin{bmatrix}0 & 0 & \\ 0 & 0 \end{bmatrix}

(2)基于四交集模型的点与线的拓扑关系。

有三种情况:

①点与线分离,表示为\begin{bmatrix}0 & 0 & \\ 0 & 0 \end{bmatrix}

②点在线端点处,表示为\begin{bmatrix}0 & 1 & \\ 0 & 0 \end{bmatrix}

③点在线上,表示为 \begin{bmatrix}1 &0 & \\ 0 &0 \end{bmatrix}

(3)基于四交集的点与面的拓扑关系。

有三种情况:

①点与面分离,表示为 \begin{bmatrix}0 & 0 & \\ 0 & 0 \end{bmatrix}

②点在面内,表示为\begin{bmatrix}1 &0 & \\ 0 &0 \end{bmatrix}

③点在面的边界时,表示为\begin{bmatrix}0 & 1 & \\ 0 & 0 \end{bmatrix}

 二、代码实现步骤

1、首先要实现船体应用程序的自定义画点、线、面。

①添加所需控件:Button、PictureBox、Label。Button用于控制画图工具;PictureBox为画板工具;对于相应点线面四交模型计算,对应结果会显示在Label标签中。

②创建画板,使用PictureBox的CreateGraphic()函数。

③设置相应的画图开关,添加MouseDown()等事件。

④界面设计、调试程序。

界面设计如下图:

2、点点四交

判断两个点的XY坐标是否相同即可。

3、点线四交

按顺序进行判断:

①点是否与线段的两个端点的坐标值相同。

②比较点与线的距离:如果距离为零,则判断点在线上;否则为点与线分离。

4、点面四交

借助旋转法来进行判断。

三、实现效果(部分)

四交模型的模拟(C#窗体应用程序)_第1张图片

四交模型的模拟(C#窗体应用程序)_第2张图片

 

四交模型的模拟(C#窗体应用程序)_第3张图片

原创作品,禁止抄袭

你可能感兴趣的:(c#,开发语言)