我使用PyGame已有一段时间了,我不得不进行坐标转换以将数学中使用的法线坐标系(其原点位于左下角)更改为PyGame坐标系(其原点位于顶部,左上角)。我发现这篇文章对此非常有用。
但是我想知道,为什么PyGame使用这种奇数坐标系?
不只是PyGame,它还是图形显示的古老惯例。许多API允许您覆盖并选择自己的约定,但即使如此,它们仍在后台映射回该左上角约定。
对于旧的CRT显示器,该约定的起源很容易看到。每帧的光栅扫描自上而下进行,每行从左到右扫描。由于以这种方式进行扫描,因此以这种方式发送信号,并且以这种方式组织了内存中的像素缓冲区,以使硬件可以为每个帧实现相对简单有效的内存线性扫描。
对于LCD和其他较新的显示技术,我很确定惯例只是出于历史原因-几十年前在栅格应如何扫描图像以获取电视信号和CRT的某一时刻,可能会做出任意决定。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句