JavaScript矢量2D数学

JavaScript矢量2D数学,javascript,math,Javascript,Math,我最近开始用JavaScript编写小型画布游戏,并试图将注意力集中在向量2d数学上。我了解向量的基本知识(比如它们代表二维空间中的一个点,有一个方向,你可以加、乘、减和旋转它们),但我不知道如何在计算游戏中对象的方向和速度时应用向量 看看这个游戏: 一个由2d矢量数学驱动的迷你游戏的好例子 伟大的Seb Lee Delisle使用JavaScript伪类进行向量计算: 我读过一些关于矢量数学的教程,但它们100%纯数学,没有描述如何用矢量制作游戏,比如控制太空船和子弹 你能告诉我一些如何在

我最近开始用JavaScript编写小型画布游戏,并试图将注意力集中在向量2d数学上。我了解向量的基本知识(比如它们代表二维空间中的一个点,有一个方向,你可以加、乘、减和旋转它们),但我不知道如何在计算游戏中对象的方向和速度时应用向量

看看这个游戏:

一个由2d矢量数学驱动的迷你游戏的好例子

伟大的Seb Lee Delisle使用JavaScript伪类进行向量计算:

我读过一些关于矢量数学的教程,但它们100%纯数学,没有描述如何用矢量制作游戏,比如控制太空船和子弹

你能告诉我一些如何在JavaScript游戏中应用向量数学的教程吗


谢谢

可以将元素的位置视为向量(x,y),该向量还定义了从坐标原点(0,0)到该点的方向

速度是单位时间内位置变化的速率。例如(1,5)意味着每一个时间单位(比如每帧)x坐标将改变+1,y坐标将改变+5。因此,新位置将是(x,y)+(1,5)=(x+1,y+5)

加速度是单位时间内的速度变化率。假设加速度为(1,1),那么速度在x方向上变化+1,在y方向上变化+1

示例:对象的当前位置为(100200),其当前速度为(5,0),加速度为(1,1)


所以你要说的是,向量在游戏中对象的每次更新中都会被应用。向量的x,y位置和游戏对象的x,y不一样?但是,向量作为实际对象的加速度、位置和速度修改器,应用于每个渲染?几乎。。。游戏对象的x,y与对象的位置向量(x,y)相同,只有速度和加速度作为修改器,其中速度随时间修改位置,加速度随时间修改速度感谢devnull,我想我终于把我的头绕到它身上了。我没能理解的是,对于运动,加速度,速度和重力,你使用了多个相互影响的向量。所以一个向量会对另一个向量施加力,控制一个物体的位置,依此类推。
Position in frame 0: (100,200), velocity (5,0)
Position in frame 1: (100,200) + (5,0) = (105,200), new velocity (5,0) + (1,1) = (6,1)
Position in frame 2: (105,200) + (6,1) = (111,201), new velocity (6,1) + (1,1) = (7,2)

etc.