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

杰昌格

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

但是我想知道,为什么PyGame使用这种奇数坐标系?

史蒂夫314

不只是PyGame,它还是图形显示的古老惯例。许多API允许您覆盖并选择自己的约定,但即使如此,它们仍在后台映射回该左上角约定。

对于旧的CRT显示器,该约定的起源很容易看到。每帧的光栅扫描自上而下进行,每行从左到右扫描。由于以这种方式进行扫描,因此以这种方式发送信号,并且以这种方式组织了内存中的像素缓冲区,以使硬件可以为每个帧实现相对简单有效的内存线性扫描。

对于LCD和其他较新的显示技术,我很确定惯例只是出于历史原因-几十年前在栅格应如何扫描图像以获取电视信号和CRT的某一时刻,可能会做出任意决定。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将图像坐标系的原点更改为左下角,而不是默认的左上角

将图形视图的坐标系设置为居中于左下角而不是左上角

OpenTK-左上角原点和像素坐标

为什么说在函数pygame中未定义左上角?

如何设置 NSTextField 左上角原点?

如果“金属原点”位于左上角,为什么此图像在左下角显示?

为什么Java 2D起源在左上角?

为什么NavigationView中的动画从左上角开始?

为什么我的画布仅加载左上角的图像?

为什么图像的左上角有水印?

核心图形坐标系原点混淆

Swift 1.2 SpriteKit坐标系原点

opengl:将原点更改为左上角

放置在原点的窗口左上角缺少像素

如何将StretchDIBits的原点设置在左上角?

Matplotlib:将原点移动到左上角

如何在其左上角坐标中旋转 UIVIew?

获取模态的左上角坐标(jquery kendo-ui)

将UIView原点转换为其窗口坐标系

当我尝试使用 pygame.transform.rotate 旋转它时,为什么我的精灵会重置到屏幕的左上角?

为什么窗口的左上角有一个奇怪的白色矩形?

为什么无法在Unity中使用wmctrl将窗口移至左上角?

当基础组件重新渲染时,为什么popper跳到左上角?

为什么在此... div画中的左上角有方形集会

为什么slideDown从左上角而不是整个宽度扩展图像?

例如,当我想用 <4> 使其变大时,为什么文本会移到左上角?

为什么角半径仅应用于自定义视图的左上角和右上角?

UIOffsetMake()是使用传统的左上角原点(0,0)还是左下角原点?

对齐坐标系