Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么PyGame坐标系的原点位于左上角?_Python_Graphics_Pygame - Fatal编程技术网

Python 为什么PyGame坐标系的原点位于左上角?

Python 为什么PyGame坐标系的原点位于左上角?,python,graphics,pygame,Python,Graphics,Pygame,我使用PyGame已经有一段时间了,我必须进行坐标变换,以将数学中使用的法线坐标系(原点位于左下角)更改为PyGame坐标系(原点位于左上角)。我觉得这很有用 但我想知道,为什么PyGame使用这种奇怪的坐标系?不仅仅是PyGame,它是图形显示的一种古老惯例。许多API允许您覆盖和选择自己的约定,但即使如此,它们仍在后台映射回左上角的约定 对于旧的CRT显示器来说,这种惯例的起源是显而易见的。每个帧的光栅扫描从上到下进行,每行从左到右扫描。因为扫描是这样完成的,所以信号是这样发送的,并且内存中

我使用PyGame已经有一段时间了,我必须进行坐标变换,以将数学中使用的法线坐标系(原点位于左下角)更改为PyGame坐标系(原点位于左上角)。我觉得这很有用


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

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

对于旧的CRT显示器来说,这种惯例的起源是显而易见的。每个帧的光栅扫描从上到下进行,每行从左到右扫描。因为扫描是这样完成的,所以信号是这样发送的,并且内存中的像素缓冲区是这样组织的,以允许硬件对每个帧执行相对简单和有效的内存线性扫描


有了LCD和其他较新的显示技术,我敢肯定,这项公约只是出于历史原因——几十年前,人们曾一度对光栅如何扫描图像中的电视信号和CRT做出过武断的决定。

你的问题可能更适合:)@IbrahimApachi,根据Steve314的回答,我猜这篇文章一般都与计算机图形学有关,而不仅仅是游戏开发。。。