如您所知,C#中平面的原点(0,0)是左上角。向右和/或向下移动被视为+,而向左和/或向上移动则为-。与此相对的是常规数学坐标系统:
(0,0)=平面中央,向上/向右= +,向下/向左= -。
这有点违反直觉,有时可能很烦人,因为我们已经习惯了使用常规数学坐标,而且您还需要重新计算坐标。
这是基本的设计缺陷吗?习惯后是否容易操作?哪些其他语言使用与C#不同的坐标系统?
如您所知,C#中平面的原点(0,0)是左上角。向右和/或向下移动被视为+,而向左和/或向上移动则为-。与此相对的是常规数学坐标系统:
(0,0)=平面中央,向上/向右= +,向下/向左= -。
这有点违反直觉,有时可能很烦人,因为我们已经习惯了使用常规数学坐标,而且您还需要重新计算坐标。
这是基本的设计缺陷吗?习惯后是否容易操作?哪些其他语言使用与C#不同的坐标系统?
这不是C#的问题,而是显示器使用了一个反向坐标系统。这是由于早期CRT显示器上绘制图像时是自上而下,自左向右的,因此操作系统使用这种坐标系统。
C#等编程语言只是包装底层操作系统的API,所以它们也使用相同的坐标系统。
如果您不喜欢屏幕上的坐标系,可以创建包装器方法以任何您喜欢的方式重新映射坐标。