我看过Craven教授关于在Python中绘制多边形的视频:
https://www.youtube.com/watch?v=7qvsevlb5pg&list=PL1D91F4E6E79E73E1&index=22
他的视频对初学者非常有用.
他的解释非常有用,示例也是如此.
当我尝试他的例子时:
pygame.draw.polygon(screen, black, [[100,100],[0,200],[200,200]], 5)
它运作得很好.
但是,当我尝试自己的东西时,它只画了一条线:
pygame.draw.polygon(screen, black, [[300,200],[150,100],[450,300]],6)
我的错是什么?
提前致谢.
解决方法:
点(150,100),(300,200)和(450,300)是共线的.它们形成的多边形实际上是一个非常扁平的三角形
尝试改变其中一个点,使其不与其他两个点对齐.
pygame.draw.polygon(screen, black, [[300,400],[150,100],[450,300]],6)
在将来,在绘制之前检查共线性可能是有用的,因此您知道您将获得真正的形状.通常,您可以通过比较它们一起形成的线段的斜率来确定点的集合是否共线.
AB线的斜率为(200-100)/(300-150)= 2/3.
线BC的斜率为(300-100)/(450-150)= 2/3.
线AC的斜率为(300-200)/(450-300)= 2/3.
斜率都相等,因此所有点都必须位于同一条线上.