导航:首页 > 源码编译 > 多边形交集算法

多边形交集算法

发布时间:2022-09-25 00:33:35

‘壹’ 多边形的布尔运算有几种方式,并说明如何计算

种布尔运算方式:Union(并集)、Intersection(交集)和Subtraction(差集,包括A-B和B-A两种)。数字符号化的逻辑推演法,包括联合、相交、相减。在图形处理操作中引用了这种逻辑运算方法以使简单的基本图形组合产生新的形体。并由二维布尔运算发展到三维图形的布尔运算。

举例:

组合结果运算符.....And.......Or.........Xor。

0......0.......................0..........0............0。

1......0.......................0..........1............1。

0......1.......................0..........1............1。

1......1.......................1..........1............0。

简单的说:And:同为真时为真、Or:同为假时为假、Xor:相同为假。

(1)多边形交集算法扩展阅读:

表示方法

"∨" 表示"或"。

"∧" 表示"且"。

"┐"表示"非"。

"=" 表示"等价"。

1和0表示"真"和"假"

(还有一种表示,"+"表示"或", "·"表示"与")。

‘贰’ 判断两个多边形是否相交

看看这个办法行不行,
设这两个多边形为A和B,
你把A,B中的顶点的横纵坐标值分别整理出来,
分步,
1,先看A,B的横坐标的最大值与最小值,判断两多边形的左右位置,列出A的横坐标区间
2,再看A,B的纵坐标的最大值与最小值,判断两多边形的上下位置,列出B的横坐标区间
3,判断关系
(1)在A,B的横、纵坐标区间中,同时出现交集时,视为相交
(2)在A,B的横、纵坐标区间中,同时出现包含关系时,视为包含
(3)其他情况视为隔离

‘叁’ C#,求判断线与多边形、多边形与多边形是否相交的算法

首先我得知道你的多边形是不是凸多边形(高中书里的多边形默认都是指凸多边形)
假设,这个多边形的顶点是
N个按顺时针或逆时针顺序排列的点的
集合
如果是凸多边形就简单了,
线与多边形相交,就只要判断
这条线
是否与线段L1,2(第一和第二个顶点组成的线段)、L2,3、...LN,1这些线段相交就行了。
凹多边形就判断是不是和所有的顶点组合成的线段中存在相交的情况。
多边形与多边形相交
也转换成线段和线段相交的问题来做吧。

‘肆’ 判断两个多边形是否相交

看看这个办法行不行,

设这两个多边形为A和B,
你把A,B中的顶点的横纵坐标值分别整理出来,
分步,
1,先看A,B的横坐标的最大值与最小值,判断两多边形的左右位置,列出A的横坐标区间
2,再看A,B的纵坐标的最大值与最小值,判断两多边形的上下位置,列出B的横坐标区间
3,判断关系
(1)在A,B的横、纵坐标区间中,同时出现交集时,视为相交
(2)在A,B的横、纵坐标区间中,同时出现包含关系时,视为包含
(3)其他情况视为隔离

‘伍’ 请教检测2个多边形相交的算法

设A多边形点子:
int npol;
float xp[npol],yp[npol];

设B多边形点子 NN 个,坐标:
float x[NN],y[NN];

做循环,判断B多边形有无任何一点落在A多边形中,有则相交或重叠:

for (i=0;i<NN;i++) {
调用pnpoly( npol, &xp[0], &yp[0],x[i],y[i]);
}

判断一点落在多边形中的子程序:
int pnpoly(int npol, float *xp, float *yp, float x, float y)
{
int i, j, c = 0;
for (i = 0, j = npol-1; i < npol; j = i++) {
if ((((yp[i]<=y) && (y<yp[j])) ||
((yp[j]<=y) && (y<yp[i]))) &&
(x < (xp[j] - xp[i]) * (y - yp[i]) / (yp[j] - yp[i]) + xp[i]))

c = !c;
}
return c;
}

‘陆’ C#,求判断线与多边形、多边形与多边形是否相交的算法

首先我得知道你的多边形是不是凸多边形(高中书里的多边形默认都是指凸多边形)
假设,这个多边形的顶点是 N个按顺时针或逆时针顺序排列的点的 集合
如果是凸多边形就简单了,
线与多边形相交,就只要判断 这条线 是否与线段L1,2(第一和第二个顶点组成的线段)、L2,3、...LN,1这些线段相交就行了。
凹多边形就判断是不是和所有的顶点组合成的线段中存在相交的情况。

多边形与多边形相交 也转换成线段和线段相交的问题来做吧。

‘柒’ 计算机制图怎样求俩多边形的交点,已知其拓扑结构

在数据结构中,弧段或链段是数据组织的基本对象。弧段文件由弧段记录组成, 每个弧段记录包括号段标识码、FN、TN、LP 和 RP。结点文件由结点记录组成,包括每个 结点的结点号、结点坐标及与该结点连接的弧段标识码等。多边形文件由多边形记录组成, 包括多边形标识码、组成该多边形的弧段标识码以及相关属性等。现以图 2-11 为例,列出 拓扑数据结构的弧段文件格式(表 2-5): 3 表2-5 拓扑数据结构的弧段文件构成 拓扑数据结构最重要的技术特征和贡献是具有拓扑编辑功能。这种拓扑编辑功能,不 但保证数字化原始数据的自动查错编辑, 而且可以自动形成封闭的多边形边界, 为由各个单 独存储的弧段组成所需要的各类多边形及建立空间数据库奠定基础。 拓扑编辑功能包括多边形连接编辑和结点连接编辑,前者指顺序连接组成封闭多边形 一组线段的编辑,后者指顺序连接环绕某个结点所有多边形的编辑。具体的编辑算法如下: (1)多边形连接编辑。例如,设需要对多边形 P1 进行编辑,其算法过程为: ①从表 2-5 所示的弧段文件中,检出与当前编辑的多边形 P1 相关的所有记录: ②在检出的记录中,计算机检查当前编辑的多边形 P1 所处的位置: 如果 P1 位在左多边形位置,将之与位于右多边形位置的多边形号相交换,同时 也将该记录的结点号位置作相应的交换;反之,如果当前编辑的多边形 P1 位于右多边形位 置,则该记录的所有数据项顺序不作改变。 按照上述规则,检出的记录变为以下形式: ③从经过代码位置转换的记录中, 任取一个起结点作为起点, 顺序连接各个结点, 必要时可对记录的前后顺序作调整,使得连接的结点能自行封闭,如图 2-12 所示。 如果依照上述顺序连接的结点不能自行闭合,或者出现记录缺损或记录多余等情 况,则表示弧段文件有错,必须改正出错的记录。直到所有多边形都经过编辑和改正,再转 入结点连接编辑。 (2)结点连接编辑。例如,设需要对结点 N2 进行编辑,其算法过程为: 4 ①从表 2-5 所示的弧段文件中,检出与当前编辑的结点 N2 相关的所有记录: ②在检出的记录中,计算机检查当前编辑的结点 N2 所处的位置: 如果 N2 位在起结点位置,将之与位于终结点位置的结点号相交换,同时也符该 记录的多边形号位置作相应的交换;反之, 如果当前编辑的结点 N2 位于终结点位置, 则该记 录所有数据项顺序不作改变。 按照上述规则,检出的记录变为以下形式: ③从经过代码位置转换的记录中,任取一个左多边形作为起点,顺序连接各个多 边形,同样,必要时可对记录的前后顺序作调整,使得连接的多边形能首尾呼应,如图 2-13 所示。 如果依照上述序连接的多边形不能首尾呼应,或者出现记录缺损或记录多余等情 况,同样也表示弧段文件有错,必须改正出错的记录。直到所有结点都经过编辑和改正,才 能将该弧段文件用于结点文件和多边形文件的自动生成以及数据库的建立。

‘捌’ 如何判断2个多边形相交

设这两个多边形为A和B,
你把A,B中的顶点的横纵坐标值分别整理出来,
分步,
1,先看A,B的横坐标的最大值与最小值,判断两多边形的左右位置,列出A的横坐标区间
2,再看A,B的纵坐标的最大值与最小值,判断两多边形的上下位置,列出B的横坐标区间
3,判断关系
(1)在A,B的横、纵坐标区间中,同时出现交集时,视为相交
(2)在A,B的横、纵坐标区间中,同时出现包含关系时,视为包含
(3)其他情况视为隔离

‘玖’ CAD中交集,差集,并集的操作应用以及原理

  1. 正常启动auto cad2013软件,选择“文件|保存”菜单命令,将其保存为“差集运算.dwg”;

  2. 执行“圆”命令(c)和执行“多边形”命令(pol),随意绘制一个圆图形和一个多边形图形相交;

  3. 执行“绘图|面域”菜单命令,根据命令行提示,将二个图形转换为面域;

  4. 执行“修改|实体编辑|差集”菜单命令,根据命令行提示“subtract选择要从中减去的实体、曲面和面域:”,选择“圆”对象,按空格键确定,命令行提示“选择要减去的实体、曲面和面域:”,再选择多边形对象,并按空格键确定,从而完成图形的差集运算。

用同样的方法,还可以对图形对象进行“并集”和“交集”操作。


布尔运算是针对两个或者两个以上实体或者面域来说的概念。交集的结果就是共有部分,差集的结果是从一个实体里面 去掉共有部分,并集的结果是所有的部分加在一起。

‘拾’ 在CAD的布尔运算中交集与差集怎么操作

1、正常启动auto cad2013软件,选择“文件|保存”菜单命令,将其保存为“差集运算.dwg”。

阅读全文

与多边形交集算法相关的资料

热点内容
应用被加密但不知道密码 浏览:584
百度云黑马android 浏览:771
java格式化long 浏览:893
汽车如何加密文档 浏览:625
公司理财第9版pdf 浏览:524
微信个人表情在文件夹 浏览:833
加密狗密码监控 浏览:437
重载发生在编译时 浏览:417
怎么用app买东西 浏览:532
ug后处理多坐标宏命令 浏览:34
性教育pdf 浏览:863
解释方式编译方式名词解释 浏览:851
wrf编译出现module 浏览:616
插入算法最基础代码 浏览:27
powermill和ug编程 浏览:843
vf命令按钮 浏览:283
涂鸦王国app怎么 浏览:37
oppo如何关闭加密应用震动 浏览:802
直接拍PDF 浏览:580
服务器有一个自动分配的ip地址吗 浏览:470