GUI 画图,web 前端,平面设计等,只要涉及到在电脑屏幕上显示图形对象的问题,其底层都涉及到数学知识 —— 坐标和集合两个知识点。
1、获得矩形对象所占坐标的集合
1.1、例子
一个矩形对象的左上角坐标是 (30, 80),宽度是 20 ,高度是 16 ,单位是像素。那么该矩形对象所覆盖的所有的坐标的集合是什么?
1.2、实现方法
>>> rect = [(30+x, 80+y) for x in range(20) for y in range(16)]
2、获得矩形对象所占坐标的集合
2.1、例子
一个圆形对象的圆心坐标是 (30, 80),半径是10,单位是像素。那么该圆形对象所覆盖的所有的坐标的集合是什么?
2.2、实现方法
>>> circle = [(30-x, 80-y) for x in range(-10, 10) for y in range(-10, 10) if x**2 + y**2 <= 10**2]
3、知识扩展
如果你了解了图形的对象其实就是坐标的集合,那么可以使用 Python 的集合的相关方法,来判断坐标的集合是否相交、重叠,进而来判断图形是否碰撞,是否重叠,或重叠区域是什么等。