您可能知道,在c#中,飞机的原点(0,0)是左上角。向右和/或向下被认为是+,而向左和/或向上是 - 。反对这是常规数学协调系统:
(0,0)=飞机中部,上/右= +,下/左= - 。
这有点违反直觉,有时可能很烦人,因为我们(多年来)使用常规数学坐标,你也必须重新计算坐标。
这是一个基本的设计缺陷吗?一段时间后你会习惯吗?还有哪些其他语言使用不同的coord系统,如c#?
答案 0 :(得分:8)
不是C#,而是使用反向坐标系的显示器,这来自使用CRT绘制显示器的日子,图像是从上到下,从左到右绘制的。这就是坐标系OS的用途与之匹配的原因。
像C#这样的语言只是包装底层操作系统的API,这就是C#也使用它的原因。
答案 1 :(得分:1)
数学图形平面是虚拟的东西,它可以无限制地向所有方向扩展。
屏幕是真实的东西,它根本无法真正扩展。
相反,我们使用滚动的概念,我们习惯从起点开始执行。
因此,从概念上讲,图形系统都使用与书中的(从左到右和从上到下)文本块或页面相同的系统。它是关于我们如何滚动以扩展/推进显示区域。
但可以以任何其他方式定义;毕竟,例如负坐标确实有意义,而不是负数。
答案 2 :(得分:0)
如果您不喜欢屏幕上的坐标系,您可以创建包装方法,以任意方式重新绘制坐标。