您尚未登录。

楼主 #1 2020-02-21 15:11:34

pythinker
会员
注册时间: 2019-02-12
已发帖子: 215
积分: 215

请问Qt如何判断一个点是否在多边形内部呢?

如题

离线

#2 2020-02-21 16:39:43

Quotation
会员
注册时间: 2018-10-04
已发帖子: 289
积分: 271.5

Re: 请问Qt如何判断一个点是否在多边形内部呢?

QPolygon.containsPoint

离线

楼主 #3 2020-02-21 17:06:06

pythinker
会员
注册时间: 2019-02-12
已发帖子: 215
积分: 215

Re: 请问Qt如何判断一个点是否在多边形内部呢?

太感谢楼上的胸弟了, 根据关键字搜索到, 自己撸了几行测试, 没毛病

from PySide2.QtCore import QPointF, Qt
from PySide2.QtGui import QPolygonF

poly = QPolygonF([QPointF(0.0, 0.0), QPointF(0.0, -100.0), QPointF(100.0, -100.0), QPointF(100.0, 0.0)])
print(poly.containsPoint(QPointF(50, -50.0), Qt.FillRule.WindingFill))
print(poly.containsPoint(QPointF(99, -99.0), Qt.FillRule.WindingFill))
print(poly.containsPoint(QPointF(99, -101.0), Qt.FillRule.WindingFill))

结果正确:

True
True
False

离线

#4 2020-02-21 18:20:51

超级萌新
会员
注册时间: 2018-05-04
已发帖子: 408
积分: 407

Re: 请问Qt如何判断一个点是否在多边形内部呢?

Quotation 说:

QPolygon.containsPoint

请问这个算法是什么原理?

离线

#5 2020-02-21 23:24:06

Quotation
会员
注册时间: 2018-10-04
已发帖子: 289
积分: 271.5

Re: 请问Qt如何判断一个点是否在多边形内部呢?

超级萌新 说:

请问这个算法是什么原理?

Qt里有两种算法。比较好理解的一种经典算法是,过该点画一条穿过多边形的直线,数一数和几条边相交。为奇数则点在多边形内。

离线

楼主 #6 2020-02-22 15:46:22

pythinker
会员
注册时间: 2019-02-12
已发帖子: 215
积分: 215

Re: 请问Qt如何判断一个点是否在多边形内部呢?

Quotation 说:

Qt里有两种算法。比较好理解的一种经典算法是,过该点画一条穿过多边形的直线,数一数和几条边相交。为奇数则点在多边形内。

嗯,谢谢,我去再补一补算法基础知识。

离线

#7 2020-02-22 21:59:24

bunny
会员
注册时间: 2020-05-23
已发帖子: 152
积分: 152

Re: 请问Qt如何判断一个点是否在多边形内部呢?

需要c源码吗?

离线

#8 2020-02-22 22:21:59

daydayup
会员
注册时间: 2017-10-09
已发帖子: 343
积分: 343

Re: 请问Qt如何判断一个点是否在多边形内部呢?

xxzouzhichao 说:

需要c源码吗?

求分享

离线

#9 2020-02-22 22:56:45

bunny
会员
注册时间: 2020-05-23
已发帖子: 152
积分: 152

Re: 请问Qt如何判断一个点是否在多边形内部呢?

有偿编写,有兴趣吗?价格2k,带注释,可众筹,交期一个晚上

离线

#10 2020-02-22 23:15:05

daydayup
会员
注册时间: 2017-10-09
已发帖子: 343
积分: 343

Re: 请问Qt如何判断一个点是否在多边形内部呢?

xxzouzhichao 说:

有偿编写,有兴趣吗?价格2k,带注释,可众筹,交期一个晚上

路过,只是随便问问,目前还没有需求哈

离线

#11 2020-02-23 03:48:47

bunny
会员
注册时间: 2020-05-23
已发帖子: 152
积分: 152

Re: 请问Qt如何判断一个点是否在多边形内部呢?

TIM截图20200223034603.png
TIM截图20200223034517.png
TIM截图20200223034504.png
TIM截图20200223034417.png
TIM截图20200223034339.png
TIM截图20200223034314.png

离线

#12 2020-02-23 03:50:39

bunny
会员
注册时间: 2020-05-23
已发帖子: 152
积分: 152

Re: 请问Qt如何判断一个点是否在多边形内部呢?

代码写出来了,函数支持三个返回值,点在多边形内(多边形合法),点在多边形外(多边形合法),多边形非法

离线

#13 2020-02-23 08:18:46

daydayup
会员
注册时间: 2017-10-09
已发帖子: 343
积分: 343

Re: 请问Qt如何判断一个点是否在多边形内部呢?

牛批6666,还能判断多边形非法,有项目需求的朋友买了不吃亏不上当,

顺便再请教楼上的大神,是不是matlab是不是直接可以输出c语言代码?

离线

#14 2020-02-23 09:04:17

bunny
会员
注册时间: 2020-05-23
已发帖子: 152
积分: 152

Re: 请问Qt如何判断一个点是否在多边形内部呢?

daydayup 说:

牛批6666,还能判断多边形非法,有项目需求的朋友买了不吃亏不上当,

顺便再请教楼上的大神,是不是matlab是不是直接可以输出c语言代码?

这次代码用c撸的,编译成exe,用matlab调用做测试
matlab代码是可以编译成c/c++代码的,但我没这么用过

写代码扒漏洞,历时四小时,你猜代码多少行?

离线

#15 2020-02-23 10:02:43

daydayup
会员
注册时间: 2017-10-09
已发帖子: 343
积分: 343

Re: 请问Qt如何判断一个点是否在多边形内部呢?

xxzouzhichao 说:

这次代码用c撸的,编译成exe,用matlab调用做测试
matlab代码是可以编译成c/c++代码的,但我没这么用过

写代码扒漏洞,历时四小时,你猜代码多少行?

看大佬的口气,应该不超过50行。

离线

#16 2020-02-23 10:24:09

bunny
会员
注册时间: 2020-05-23
已发帖子: 152
积分: 152

Re: 请问Qt如何判断一个点是否在多边形内部呢?

daydayup 说:

看大佬的口气,应该不超过50行。

100行

离线

#17 2020-03-05 13:26:40

演技担当黄晓明
会员
注册时间: 2017-10-17
已发帖子: 183
积分: 121.5

Re: 请问Qt如何判断一个点是否在多边形内部呢?

秦琼卖马,杨志买刀????会不会有人来问,你这个刀不太锋利........

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn