本文告诉大家给定点的集合,求点的集合的外接矩形

已知点的集合 P L PL PL 求点的外接矩形 R R R 包括 R R R 的坐标和 R R R 的宽度高度

假设坐标的计算是按照左上角为 ( 0 , 0 ) (0,0) (0,0) 从左到右的坐标值增加,从上到下的坐标值增加

第一步是通过 P L PL PL 计算左上角的点和右下角的点,设 P L i PL_i PLi​ 为 P L PL PL 的元素

M i n X = M i n ( P L i . X ) MinX=Min(PL_i.X) MinX=Min(PLi​.X)

M i n Y = M i n ( P L i . Y ) MinY=Min(PL_i.Y) MinY=Min(PLi​.Y)

M a x X = M a x ( P L i . X ) MaxX=Max(PL_i.X) MaxX=Max(PLi​.X)

M a x Y = M a x ( P L i . Y ) MaxY=Max(PL_i.Y) MaxY=Max(PLi​.Y)

左上角的点

L e f t T o p P o i n t = ( M i n X , M i n Y ) LeftTopPoint=(MinX,MinY) LeftTopPoint=(MinX,MinY)

右下角的点

R i g h t B o t t o m P o i n t = ( M a x X , M a x Y ) RightBottomPoint=(MaxX,MaxY) RightBottomPoint=(MaxX,MaxY)

矩形 R R R 可以用左上角的点和右下角的点表示

R = ( L e f t T o p P o i n t , R i g h t B o t t o m P o i n t ) R=(LeftTopPoint,RightBottomPoint) R=(LeftTopPoint,RightBottomPoint)

这时 R R R的宽度和高度就可以计算出来

R . W i d t h = R i g h t B o t t o m P o i n t . X − L e f t T o p P o i n t . X R . H e i g h t = R i g h t B o t t o m P o i n t . Y − L e f t T o p P o i n t . Y R.Width=RightBottomPoint.X-LeftTopPoint.X \\ R.Height=RightBottomPoint.Y-LeftTopPoint.Y R.Width=RightBottomPoint.X−LeftTopPoint.XR.Height=RightBottomPoint.Y−LeftTopPoint.Y