我已经使用PyGame一段时间了,我不得不进行坐标转换,将数学中使用的法线坐标系(原点在左下角)更改为PyGame坐标系(原点为左上角)。我发现this post非常有用。
但我想知道,为什么PyGame使用这个奇数坐标系?
答案 0 :(得分:9)
这不仅仅是PyGame - 它是图形显示的旧惯例。许多API允许您覆盖并选择自己的约定,但即便如此,它们也会在后台映射回左上角的约定。
旧CRT显示器很容易看到约定的起源。每帧的光栅扫描从上到下进行,每条线从左到右扫描。由于扫描以这种方式完成,信号以这种方式发送,并且内存中的像素缓冲区以这种方式组织,以允许硬件为每个帧实现相对简单和有效的内存线性扫描。
随着液晶显示器和其他更新的显示技术的出现,我非常肯定它的惯例仅仅是出于历史原因 - 一个关于光栅应如何扫描出电视信号和CRT数十年的可能任意决定的遗留问题前。