为什么图形坐标是从左上角开始测量的?

2023-11-22

我注意到我使用过的每个计算机图形系统都使用左手坐标系,其原点位于左上角。 Cairo、Java、Microsoft XYZ 和大多数图形程序都使用此系统。我认为它们都可以追溯到一个共同的祖先,但我找不到任何关于此的参考资料。

如果我不得不猜测的话,我会说它来自 VGA 图形模式,使用与文本相同的坐标,这自然是基于英语从上到下、从左到右的阅读方式,“第二行”位于“第一行”......但我正在弥补。

有没有人可以讲述这个故事,或者可以为我指出正确的历史书的方向?


这是一个古老的惯例,其原因可能有点杜撰。以下是我发现的一些假设:

它源自 CRT 电子束扫描行为。

从上到下扫描意味着您不必等待整个帧发送完毕,只需在开始接收数据后立即开始扫描。 (这就又提出了一个问题,为什么要从上到下扫描)

它允许右手坐标系的 Z 轴进入屏幕而不是离开屏幕。

令人烦恼的是,Cocoa 和 Quartz 使用左下原点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么图形坐标是从左上角开始测量的? 的相关文章

  • 帮助使用 GPS 坐标,Android

    我正在使用此代码来获取我的位置并在屏幕上打印坐标 package com example alpha import android app Activity import android content Context import and
  • 读取、表示和渲染地图数据的最佳方式是什么?

    我有兴趣编写一个简单的导航应用程序作为我的宠物项目 在搜索了免费地图数据后 我决定了美国人口普查局 TIGER http www census gov geo www tiger tgrshp2007 tgrshp2007 html2007
  • Graphics2D:在白色上绘制黑色?

    我确信这是一个非常愚蠢的问题 但我找不到答案 我对 Java2D API 没有经验 我正在尝试创建一个图像并将其写入 GIF 或 PNG 并且我希望它在白色背景上使用黑色笔 如果我不设置任何颜色 我会得到黑底白字 如果我使用 setPain
  • Java:如何在 ScrollPane 视口上绘制非滚动覆盖?

    我想使用 ScrollPane 在其视口中显示图像 并且在图像上覆盖网格 或框 或任何其他类型的注册 位置标记 我需要覆盖层在滚动时保持固定 这意味着图像似乎在覆盖层 下方 移动 我将以固定速率滚动视口中的视图以提供平滑的运动 而叠加层将提
  • Java:在 ActionListener 中使用图形组件

    我有两个单独的类和驱动程序文件 在类文件中我创建了 Paint 方法 public void paint Graphics g g drawLine along with all of my other draw commands 在代码的
  • 使用拼凑将组合子图(拼凑?)注释为单个图

    我试图弄清楚如何注释组合拼凑物 就好像它们是单独的图一样 我有一个由三个组合图和另一个单个图组成的拼凑而成 最终的复合图是顶部的第一个拼凑物和底部的单独图 我没有问题得到我想要的布局 但是当我使用plot annotation 它为每个图提
  • 测量缩放画布上的文本

    我一直在努力处理文本测量和缩放画布 当画布未缩放时 getTextBounds 和measureText 可提供准确的结果 但是 当缩放画布时 这两种方法都无法提供与打印文本的实际大小相匹配的结果 为了进行测试 我使用以下 onDraw 方
  • 画布图像的图像效果不通过 php 上传保存,但适用于下载同一画布文件

    这是显示该问题的 YouTube 视频 https www youtube com watch v znzLQSYlsKM https www youtube com watch v znzLQSYlsKM 我给出了视频描述中涉及的所有代码
  • HTML5画布中绘制图像对象的限制区域

    我想限制画布上可以绘制图像的区域 我正在使用 Fabric js 我尝试了以下链接 但它对我不起作用 在 Fabric js 中设置对象拖动限制 https stackoverflow com questions 19979644 set
  • 文本段的名称从何而来?

    传统的汇编器和更高级别的编译器使用多个内存segments 根据预期用途 因此 有数据段 堆栈段 bss 和文本段 文本段也称为代码段 Text部分 为了机器码 我问过所有我能找到的老前辈 像机器代码这样难以阅读的东西是如何被称为 文本段
  • 将内部图像替换为外部图像

    用户单击 蒙版 并上传图像 其显示的同一张图片两次 also Edit文本正在图像上显示 一旦用户单击 编辑文本 我们就会显示pop up box 在那里我们可以看到Zoomin Zoomout按钮正在显示 Issue 一旦我们点击这些按钮
  • Firefox:drawImage(视频)失败并显示 NS_ERROR_NOT_AVAILABLE:组件不可用

    尝试打电话drawImage with a video其来源是网络摄像头源似乎在 Firefox 中失败了NS ERROR NOT AVAILABLE Component is not available 我尝试等待视频标签触发的每个事件
  • html5中的canvas元素是否硬件加速?

    我对 Web 开发还很陌生 事实上我正在考虑深入研究 html 和 js 来进行游戏开发 因此 在做任何事情之前 我需要知道 html5 中的 canvas 元素是否是硬件加速的 如果不是 那么我需要使用像 webgl 这样的东西 我不知道
  • 如何编辑 Chrome MediaRecorder 捕获的 .webm Blob

    在 Chrome 中 我在用着媒体记录器 https developer mozilla org en US docs Web API MediaStream Recording API and canvas captureStream h
  • 如何将 iframe 转换为画布?

    我正在尝试将所有内容作为图像保存到另一个页面中 我已经探索了执行此操作的方法 因此我认为我需要首先将该页面转换为画布 因此 我尝试使用要先将其保存为 iframe 的链接 然后将 iframe 转换为画布 但它不起作用 document r
  • 使 JavaScript 画布矩形可点击

    我正在创建一个简单的计算器 Here http startupsandfinance com online calculator html这是 我几乎完成了基本设计 但我对如何使按钮可点击感到困惑 一个技巧可能是为每个按钮创建一个 div
  • 标准化设备坐标

    我正在编写一个处理 2D 图形形状的库 I m just wondering why should my coordinate system range from 1 1 for both the x and y axis instead
  • Android 中的离屏绘图

    android 中是否可以像 Objective C 中的 imageContext 那样进行离屏绘图 如果有的话 请告诉我链接或某种提示 多谢 我相信您正在寻找Canvas http developer android com refer
  • 在 R 中从一条线偏移绘制一条平行线

    我有代表沿着一些街道行驶的线串 但我实际上想代表骑自行车者的旅程 它偏离线路 即他们在路边附近行驶 我正在努力思考如何去做 我制作了一段可重现的 R 代码来进行说明 Let s say I have a route along some s
  • 在 HTML 画布上绘制线宽连续变化的线条

    我试图画一条线 从一条细线开始 然后逐渐加宽直到结束 我需要绘制半平滑曲线 由几条直线合成 并且在寻找解决此任务的方法时遇到问题 这个小提琴显示了我的问题 http jsfiddle net ZvuQG 1 http jsfiddle ne

随机推荐