屏幕坐标系 vs 数学坐标系

1. 屏幕坐标系 vs 数学坐标系

数学坐标系

在传统的数学坐标系中:

  • 原点 (0, 0) 位于平面的中心。
  • x 轴向右为正方向。
  • y 轴向上为正方向。
  • 如果 y 减少,物体向下移动;如果 y 增加,物体向上移动。

屏幕坐标系

在大多数计算机图形系统(包括 HTML5 的 <canvas>)中:

  • 原点 (0, 0) 位于画布的左上角。
  • x 轴向右为正方向。
  • y 轴向下为正方向。
  • 如果 y 增加,物体向下移动;如果 y 减少,物体向上移动。

2. 为什么 y 减少会向上?

屏幕坐标系的方向

在屏幕坐标系中,y 轴的方向是向下的。这意味着:

  • 当 y 值增加时,物体沿着屏幕向下移动。
  • 当 y 值减少时,物体沿着屏幕向上移动。

视觉上的理解

假设我们有一个粒子,初始位置是 (x=100, y=500)。如果我们执行以下操作:

this.y -= 5; // 将 y 减少 5

这会让粒子从 (100, 500) 移动到 (100, 495)。由于屏幕坐标系的 y 轴向下为正,y 减少意味着粒子朝屏幕的上方移动。

3. 如果 y 变为负值会发生什么?

屏幕坐标系的限制

在屏幕坐标系中,y 坐标的范围通常是 [0, canvas.height],其中:

  • y = 0 表示画布的顶部。
  • y = canvas.height 表示画布的底部。

如果 y 减少到小于 0,则粒子的位置将超出画布的顶部边界。在这种情况下:

  • 粒子可能不再可见(因为它超出了画布的范围)。
  • 或者你可以通过额外的逻辑处理(如裁剪或重新定位),让粒子重新进入画布。

负值不会出现在“下半轴”

在屏幕坐标系中,y 轴没有“下半轴”的概念。即使 y 变为负值,它也不会出现在画布的下方,而是简单地超出画布的顶部边界。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

25号底片~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值