gpt4 book ai didi

java - 什么是编程中的 vector (LibGDX)?

转载 作者:行者123 更新时间:2023-11-29 04:24:22 25 4
gpt4 key购买 nike

在我学习 LibGDX 和一般编码的过程中,我见过很多 vector 。但我一直无法理解它们是什么。

我知道:

  • 在其他编程语言中,它们是一种处理数组列表的(贬值的)方式。
  • 在物理学中,它们代表大小和方向。

在编程中,它们是否也代表大小和方向?数组方面是说它们代表两个 x 和 y 坐标之间的所有点吗?

或者它们是否代表一个有方向的点,即当那个点移动时它会朝那个方向移动?是运动的意思吗?

例子:

BodyDef bodyDef = new BodyDef();
bodyDef.position.set(new Vector2(Constants.GROUND_X, Constants.GROUND_Y));

这里发生了什么?为什么我们要将地面设置为 vector ?

最佳答案

std::vector, Vector2 and Vector3 and vector math

  • std::vector , 是c++中封装动态大小数组的序列容器。

  • Vector2Vector3是 Libgdx API 中的类,分别包含 2 个和 3 个浮点值,还具有许多有助于 vector 数学实际实现的方法。

  • vector 数学是一种了不起的工具,可以使复杂行为的编程变得更加简单。 vector 数学对 2D/3D 游戏开发非常有帮助。

    作为大小和方向的 vector

    通常,我们将坐标定义为 (x,y) 对,x 表示水平偏移,y 表示垂直偏移。这是有道理的,因为屏幕只是一个二维矩形。例如,这是二维空间中的一个位置:

    enter image description here

    一个位置可以是空间中的任何地方。位置 (0,0) 有一个名称,叫做 origin。记住这个术语,因为它在后面有更多隐含的用法。 n 维坐标系的 (0,0) 是原点

    在 vector 数学中,坐标有两种不同的用途,但都同等重要。它们用于表示位置,也用于表示 vector 。与之前相同的位置,当想象成一个 vector 时,具有不同的含义。

    enter image description here

    当被想象成一个 vector 时,可以推断出两个属性,即方向和大小。空间中的每个位置都可以是 vector ,但原点除外。这是因为坐标(0,0)不能表示方向(量级0)。

    enter image description here


关于java - 什么是编程中的 vector (LibGDX)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47163395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com