为什么PyGame坐标系的原点在左上角



我使用PyGame已经有一段时间了,我不得不进行坐标转换,将数学中使用的法线坐标系(原点在左下角)更改为PyGame坐标系(起点在左上角)。我发现这篇文章非常有用。

但我想知道,为什么PyGame使用这个奇怪的坐标系?

这不仅仅是PyGame,它还是图形显示的一个古老惯例。许多API允许您覆盖和选择自己的约定,但即使这样,它们也会映射回后台的左上角约定。

对于旧的CRT显示器来说,这种惯例的起源很容易看出。每一帧的光栅扫描从上到下进行,每一行从左到右扫描。由于扫描是以这种方式完成的,因此信号是以这种方法发送的,并且存储器中的像素缓冲器是以这种形式组织的,以允许硬件为每一帧实现相对简单高效的存储器线性扫描。

对于LCD和其他较新的显示技术,我敢肯定,这只是出于历史原因——几十年前,光栅应该如何扫描出电视信号和CRT的图像,这可能是一个武断决定的遗留问题。

最新更新