题目描述
在二维坐标系中,所有的值是double类型,那么一个矩形可以由四个点来代表,(x1, y1)为最左的点,(x2, y2)为最上的点,(x3, y3)为最下的点,(x4, y4)为最右的点。
给定4个点代表的矩形,再给定一个点(x, y),判断(x, y)是否在矩形中
方法一:旋转
分析
- 矩阵平行于坐标轴:直接判断(x,y)和矩阵左下、右上的顶点的大小。
- 矩阵倾斜:将倾斜的矩形旋转,使其平行于坐标轴
代码
import math
# 1 矩形平行于坐标轴
def isInMatrix(x1,y1,x2,y2,x,y):
if x<=x1 or x>=x2 or y<=y1 or y>=y2: return False
return True
# 2 矩形为一般矩形,可旋转
def isInSide(x1,y1,x2,y2,x3