Python 如何检查一个矩形的质心是否存在于另一个矩形内?

Python 如何检查一个矩形的质心是否存在于另一个矩形内?,python,python-3.x,python-2.7,point,rectangles,Python,Python 3.x,Python 2.7,Point,Rectangles,我有一个长方形的ABCD。我用高度和宽度除以3,将矩形分成9等分。现在我有9个矩形。如果我认为这9个矩形中的一个具有坐标=166, 104, 332,156的ABCD1。除此之外,我还有另一个矩形,比如PQRS,它的质心=377.5489.0。我想确定给定的质心是否存在于矩形ABCD_1内。如何解决这个问题 我是Python的完全初学者。任何帮助都是值得感激的。谢谢 假设矩形坐标表示为数组[x1,y1,y2,x2] 并指向[x,y] 然后我们将首先检查x是否位于矩形的x坐标之间,如果是,那么我们

我有一个长方形的ABCD。我用高度和宽度除以3,将矩形分成9等分。现在我有9个矩形。如果我认为这9个矩形中的一个具有坐标=166, 104, 332,156的ABCD1。除此之外,我还有另一个矩形,比如PQRS,它的质心=377.5489.0。我想确定给定的质心是否存在于矩形ABCD_1内。如何解决这个问题


我是Python的完全初学者。任何帮助都是值得感激的。谢谢

假设矩形坐标表示为数组
[x1,y1,y2,x2]
并指向
[x,y]
然后我们将首先检查x是否位于矩形的x坐标之间,如果是,那么我们将检查它们是否位于y坐标之间如果为真,那么点位于矩形内,否则不在。 下面的abcd是矩形,p是点

abcd=[166, 104, 332, 156]
p=[377.5, 489.0]

if p[0]>=abcd[0] and p[0]<=abcd[3]:
    if p[1]>=abcd[1] and p[0]<=abcd[2]:
        print('Inside')
else:
    print('Outside')
abcd=[166104332156]
p=[377.5489.0]

如果p[0]>=abcd[0]和p[0]=abcd[1]和p[0]假设矩形坐标表示为数组
[x1,y1,y2,x2]
并指向
[x,y]
然后我们将首先检查x是否位于矩形的x坐标之间,如果是,那么我们将检查它们是否位于y坐标之间如果为真,那么点位于矩形内,否则不在。 下面的abcd是矩形,p是点

abcd=[166, 104, 332, 156]
p=[377.5, 489.0]

if p[0]>=abcd[0] and p[0]<=abcd[3]:
    if p[1]>=abcd[1] and p[0]<=abcd[2]:
        print('Inside')
else:
    print('Outside')
abcd=[166104332156]
p=[377.5489.0]

如果p[0]>=abcd[0]和p[0]=abcd[1]和p[0]根据您给出的四个数字,我猜它是一个边平行于x和y轴的矩形。如果您的数字是两个对角的
(x1,y1)、(x2,y2)
,以及
P=(x,y)
,那么您的逻辑应该是

if x1 < x < x2 and y1 < y < y2:
    is_in_rect = True

根据你给出的四个数字,我猜它是一个边平行于x和y轴的矩形。如果您的数字是两个对角的
(x1,y1)、(x2,y2)
,以及
P=(x,y)
,那么您的逻辑应该是

if x1 < x < x2 and y1 < y < y2:
    is_in_rect = True

谢谢你的解释和代码。但这并不能解决我的问题。实际上我有一个矩形,我把它分成9等分。上面给出了矩形ABCD的坐标,它是9段中的一段。当我尝试你的逻辑时,它给出了一个点,它在外面,但实际上它在里面。我只是想知道这里出了什么问题。你的矩形旋转了吗?或平行于
x
y
轴的侧面?未旋转。是的,两边是平行的。这些点是x,y,宽度,高度2。假设坐标是两个相对的角,顺序是x1,y1,x2,y2,对吗?谢谢你的解释和代码。但这并不能解决我的问题。实际上我有一个矩形,我把它分成9等分。上面给出了矩形ABCD的坐标,它是9段中的一段。当我尝试你的逻辑时,它给出了一个点,它在外面,但实际上它在里面。我只是想知道这里出了什么问题。你的矩形旋转了吗?或平行于
x
y
轴的侧面?未旋转。是的,两边是平行的。这些点是x,y,宽度,高度2。假设坐标是两个相对的角,顺序是x1,y1,x2,y2,对吗?