Questions tagged «vector»

一种数学概念,可以用来表达位置,方向或速度,并且可以简化或完全平凡化空间问题。


5
游戏中的演员应该负责吸引自己吗?
我对游戏开发非常陌生,但对编程却不是。 我(再次)使用JavaScript的canvas元素在玩Pong类型的游戏。 我创建了一个Paddle具有以下属性的对象... width height x y colour 我也有一个Pong具有诸如...的属性的对象 width height backgroundColour draw()。 该draw()方法当前正在重置canvas,这就是出现问题的地方。 如果Paddle对象具有draw()负责其绘制的方法,或者draw()该Pong对象的负责负责其演员的绘制(我认为这是正确的术语,如果我不正确,请更正我)。 我发现在Paddle实例化两个对象Player和时,绘制自身会很有利Enemy。如果在没有Pong的draw(),我需要两次写类似的代码。 最佳做法是什么? 谢谢。

2
计算2D精灵的旋转力
我想知道是否有人有一种优雅的方式来计算以下情况。 我有一个(n)个正方形,随机形状的对象,但我们会假装它们都是矩形。 我们没有重力,因此从上到下的角度考虑空间中的物体。我在一个特定的正方形上向对象施加力(如下图所示)。 如何根据所施加的力在所施加的位置计算旋转角度。如果应用在中心方块中,它将笔直。我离开中心越远,应该如何表现?如何计算转速?
35 2d  rotation  physics  vector 

5
在2D中,如何有效地找到最接近点的对象?
我有一个相当大的游戏引擎,我想要一个功能来查找最接近的点列表。 我可以简单地使用勾股定理找到每个距离并选择最小距离,但这需要对所有距离进行迭代。 我也有一个碰撞系统,从本质上讲,我将对象变成较小网格上的较小对象(有点像小地图),并且只有在相同网格空间中存在对象时,我才检查碰撞。我可以这样做,仅增大网格间距以检查紧密度即可。(而不是检查每个对象。)但是,这将需要在我的基类中进行其他设置,并使本已混乱的对象杂乱无章。这值得么? 是否可以使用一些有效且准确的方法来根据点和大小的列表来检测哪个对象最接近?
35 c++  2d  algorithm  vector  picking 


3
团队如何防止覆盖源文件中的工作?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 4年前关闭。 在我看来,有一种可能性,例如由多个人同时处理游戏引擎时,如何防止覆盖? 假设开发者一在工作,Audio.cpp而开发者二也在工作Audio.cpp,这在大型团队中通常如何进行管理以应对覆盖?(换句话说,要阻止开发人员2打开文件,直到开发人员1完成)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

5
如何计算两个2D向量之间的角度和正确的转向方向?
我正在研究一些运动AI,该运动没有障碍并且运动仅限于XY平面。我正在计算两个向量,v是船1的朝向,w是从船1的位置指向船2的向量。 然后,我使用公式计算这两个向量之间的角度 arccos((v · w) / (|v| · |w|)) 我遇到的问题是arccos仅返回0°到180°之间的值。这使得无法确定我应该向左还是向右转以面对另一艘船。 有一个更好的方法吗?
26 2d  vector 

3
如何根据另一个对象的偏移旋转对象?
我有一个围绕Y轴旋转的转塔的3D模型。该炮塔的加农炮明显偏离物体中心。我希望大炮而不是炮塔瞄准特定目标。但是,我只能旋转炮塔,因此我不知道为了达到目标而需要应用什么方程式。 下图说明了我的问题: 如果我的炮塔为“ LookAt()”目标,则来自加农炮的激光将完全错过所述目标。 如果这是完全自上而下的情况,并且加农炮与炮塔完全平行,那么我的逻辑告诉我,假目标应位于等于实际目标的位置,再加上与目标之间的偏移量相等的位置。炮塔和加农炮 但是,在我的实际情况下,我的摄像机倾斜60º,并且大炮有轻微的旋转。 下图说明了这种情况: 我不确定为什么,但是如果应用相同的偏移量,则它似乎仅在瞄准与转塔一定距离的同时起作用。 我的逻辑有缺陷吗?我在这里缺少基本的东西吗? 最终编辑:@JohnHamilton最新更新提供的解决方案以完美的精度解决了此问题。现在,我已经删除了用于说明错误实现的代码和图像。

3
向量有什么不同/复杂/有用?
如果这不是一个真正的问题,请原谅我,但我确实对此感到困惑。 我经常听到其他游戏开发人员谈论使用向量如何非常有用,但是每个人都被向量数学所吓倒,向量似乎令人生畏。我从来没有去了解他们。 所以,最后我在Wikipedia 上看了Vector,感到很惊讶。除非我弄错了,否则一个矢量(为简单起见,它是2D)只是x和y坐标。 如果我误解了,请纠正我。 所以这是我的问题:这是否意味着二维(或三维)坐标的任何表示都是矢量?如果是这样,则向量和坐标是同一件事。而且,不使用坐标就几乎不可能创建游戏,那么向量对进行过大量游戏编程的人来说是令人困惑的还是陌生的? 我可以对此进行澄清。任何帮助表示赞赏。

5
我的Vector类中是否需要'w'组件?
假设您正在编写处理3d空间旋转,平移等的矩阵代码。 现在,转换矩阵必须为4x4以适合转换分量。 但是,您实际上并不需要w在矢量中存储组件吗? 即使在透视除法中,您也可以简单地w在向量之外进行计算和存储,并在从方法返回之前进行透视除法。 例如: // post multiply vec2=matrix*vector Vector operator*( const Matrix & a, const Vector& v ) { Vector r ; // do matrix mult r.x = a._11*v.x + a._12*v.y ... real w = a._41*v.x + a._42*v.y ... // perspective divide r /= w ; return r ; …

3
如何找到与2D向量垂直的方向?
我正在做一个自上而下的游戏,玩家将向前移动到鼠标光标的位置。作为玩家运动代码的一部分,我需要确定一个与玩家当前面对的矢量垂直的矢量(以实现划界行为)。 如何计算给定2D向量的垂直向量?

6
游戏开发中的载体
我是编程和游戏编程的新手。我已经阅读了一些关于向量和数学的知识,但是我有一个问题-在游戏编程中应该在哪里使用向量?也许有人可以举一个简单的例子说明您正在使用矢量(在2D模式下)? 我已经找到了示例,但是大多数情况下它们在控制台中,它们在其中输出数字,还有一些我不理解的大示例。
19 vector 

7
我需要一个Point和一个Vector对象吗?还是仅使用Vector对象表示一个点就可以了?
在构造与朋友一起开发的引擎组件时(出于学习目的),我对此产生了疑问。 最初,我们有一个Point构造函数,如下所示: var Point = function( x, y ) { this.x = x; this.y = y; }; 但是他们开始向其中添加一些Vector数学,他们决定将其重命名为Vector2d。 但是现在,有些方法(至少在我看来)有点令人困惑,例如下面的方法,这些方法用来做一行: //before the renaming of Point to Vector2, the parameters were startingPoint and endingPoint Geometry.Line = function( startingVector, endingVector ) { //... }; 我应该为Point对象创建特定的构造函数,还是将点定义为向量没有问题? 我知道矢量具有大小和方向,但是我看到很多人使用矢量来表示对象的位置。

1
确定Catmull-Rom花键的弧长以恒定速度移动
我有一条由Catmull-Rom样条线串联定义的路径。我在XNA中使用静态方法Vector2.CatmullRom,该方法允许在点之间进行插值,值从0到1。 并非该路径中的每个样条曲线都具有相同的长度。如果我沿路径前进时让每个样条的重物以恒定的速度移动,则会导致速度差异。我可以通过使重物的速度取决于花键的长度来对此进行补救。如何确定样条的长度?我是否应该通过将样条线切成10条直线并求和它们的长度来进行近似估算? 我将其用于在样条线定义的生成网格上进行动态纹理映射。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.